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

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

王林
王林转载
2020-06-20 17:32:301943浏览

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中进行了调用,这样实现了跨域。

以上是2020全新Java面试题——网络(二)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:csdn.net。如有侵权,请联系admin@php.cn删除