站长资讯网
最全最丰富的资讯网站

2020全新Java面试题——网络(二)

2020全新Java面试题——网络(二)

1、OSI 的七层模型都有哪些?

应用层:网络服务与最终用户的一个接口。

(推荐教程:java面试题)

表示层:数据的表示、安全、压缩。

会话层:建立、管理、终止会话。

传输层:定义传输数据的协议端口号,以及流控和差错校验。

网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。

数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。

物理层:建立、维护、断开物理连接。

2、get 和 post 请求有哪些区别?

GET在浏览器回退时是无害的,而POST会再次提交请求。

GET产生的URL地址可以被Bookmark,而POST不可以。

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

GET请求只能进行url编码,而POST支持多种编码方式。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求在URL中传送的参数是有长度限制的,而POST么有。

对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET参数通过URL传递,POST放在Request body中。

3、如何实现跨域?

方式一:图片ping或script标签跨域

方式二:JSONP跨域

方式三:CORS

方式四:window.name+iframe

方式五:window.postMessage()

方式六:修改document.domain跨子域

方式七:WebSocket

方式八:代理

4、说一下 JSONP 实现原理?

jsonp 即 json+padding,动态创建script标签,利用script标签的src属性可以获取任何域下的js脚本,通过这个特性(也可以说漏洞),服务器端不在返货json格式,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号