文章目录
http 响应码 301、302 代表什么?
301:永久重定向
302:暂时重定向
301 对搜索引擎优化有利,302 有会被提示为网络拦截的风险。
forward 和 redirect 的区别?
forward:转发
redirect:重定向
- 转发的 url 不会发生改变,重定向的 url 会发生改变。
- 转发可共享 request 中的数据。
- 转发比重定向效率高。
get 和 post 请求有什么区别?
- 前者会被浏览器主动缓存
- 后者传递参数没有大小限制
- 后者传输更安全,因为前者的参数会明文限制在 url 上
怎样实现跨域?
- 在单个接口使用注解
@CrossOrigin
运行跨域 - 服务端运行跨域,设置
CORS = *
- 使用 jsonp 跨域
jsonp 原理是什么?
JSON with Padding
它是利用 script 标签的 src 连接可访问不同源的特性,加载远程返回的 “js 函数” 来执行。
tcp 和 udp 有什么区别吗?
两者都是 OSI 模型中的运输层协议。
tcp 提供可靠的通信传输,udp 常用于让广播和细节控制交给应用的运输传输。
区别:
- tcp 面向连接,udp 面向非连接。(即发送数据前无需建立连接)
- tcp 提供可靠服务,udp 无法保证。
- tcp 面向字节流,udp 面向报文。
- tcp 数据传输慢,udp 数据传输快。
OSI 有哪些模型?
- 物理层: 利用传输介质为数据链路层提供物理连接,实现了比特流的透明传输。
- 数据链路层: 负责建立和管理节点间的链路。
- 网络层: 通过路由选择法,为报文或分组通过通信子网选择最适当的路径。
- 传输层: 向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。
- 会话层: 向两个实体的表示层提供建立和使用连接。
- 表示层: 处理用户信息的表示问题。(编码,数据格式转换,加密解密)
- 应用层: 直接向用户提供服务,完成用户希望在网络上完成的各种工作。
tcp 为何要三次握手,两次不行?
用两次握手,只要服务器发出确认数据包便能创建连接,但若客户端此时未响应服务端的请求,服务端只能干耗着浪费了资源;因此使用三次握手,这样当上述情况出现时,服务端便能知道客户端并没有要求建立请求。
tcp 粘包怎么产生的?
它可能发生在发送端或者接收端。
- 发送端:发送端需要等缓冲区满了才能发送,造成粘包。
- 接收端:接收端没能及时接收缓冲区中的包,造成多个包接收形成粘包。