面试题:网络部分
完成:第一遍
- HTTP 响应码 301 和 302 代表的是什么?有什么区别?
301,302都是Http状态的编码,都代表着某个URL发生了转移
区别: 301 redirect:代表永久性转移
302 redirect:代表暂时性转移 - forward 和 redirect 的区别?
代表了两种请求转发方式:直接转发(forward)和间接转发(redirect)
举例:直接:A找B借钱,B说没有,B去找C借,借到借不到都会把信息传递给A
简接:A找B借钱,B说没有,让A去找C借 - 简述 TCP 和 UDP 的区别?
1.基于连接与无连接
2.对于系统资源的要求(TCP较多,UDP少)
3.UDP程序结构较为简单
4.流模式与数据报模式
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证 - TCP 为什么要三次握手,两次不行吗?为什么?
不行,因为为了防止已失效的连接请求又传送到服务器端,因而产生错误 - 说一下 TCP 粘包是怎么产生的?
要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包
接收数据端的应用层没有及时读取接收缓冲区中的数据,将会发生粘包 - OSI 的七层模型都有哪些?
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 - Get和 Post 请求有哪些区别?
Get:从指定的资源请求数据
post:向指定的资源提交要被处理的数据 - 如何实现跨域?
1.图片ping或script标签跨域
2.JSONP跨域
3.CORS
4.window.name+iframe
5.window.postMessage()
6.修改document.domain跨子域
7.WebSocket
8.代理 - 说一下 JSONP 实现原理?
浏览器只对XHR请求有同源请求限制,而对script标签src属性、link标签ref属性和img标签src属性没有这种限制,利用这个“漏洞”就可以很好的解决跨域请求。JSONP就是利用了script标签无同源限制的特点来实现的,当向第三方站点请求时,我们可以将此请求放在