作者:手机用户2502871803 | 来源:互联网 | 2024-12-10 12:58
1. TCP 三次握手与四次挥手详解
- 三次握手的目的:确保双方都准备好进行数据交换,避免服务端因长时间等待而浪费资源。通过三次握手,客户端和服务端可以同步初始序列号,为后续的数据传输做准备。
- 四次挥手的过程:用于安全地终止TCP连接。其中,ACK确认消息表示接收方已接收到FIN结束标志,但并不意味着立即关闭连接。只有当双方都发送并接收到FIN标志后,连接才会真正关闭。TIME_WAIT状态是为了确保最后一个ACK能被对方收到,防止旧的数据包在网络中徘徊,影响新的连接建立。这一状态通常持续2MSL(最大段生命周期)时间。
2. HTTP 与 HTTPS 的区别与特点
- HTTP:一种无状态的应用层协议,采用请求-响应模型,用于客户端与服务器之间的通信。
- HTTP 1.1 的改进:引入了持久连接机制,允许多个请求复用同一个TCP连接;支持管线化,提高效率;具备断点续传功能,增强用户体验。
- HTTPS:基于SSL/TLS加密的HTTP协议,提供数据加密、身份验证和完整性保护,确保数据传输的安全性。
3. HTTP 缓存机制深度解析
HTTP缓存旨在减少网络延迟,提高网站性能:
- Cache-Control:通过设置max-age等参数,控制资源的缓存时间,例如max-age=30表示资源将在客户端缓存30秒。
- Expires:指定一个具体的过期时间,浏览器根据这个时间判断是否需要重新请求资源。但需要注意,Expires依赖于客户端的系统时间,可能存在不准确的情况。
- Etag:服务器为每个资源生成一个唯一标识符,当资源未更改时,服务器会返回304状态码,指示浏览器使用本地缓存。与Cache-Control不同,Etag在每次请求时都会发送请求头,但若资源未变,则不会下载响应体。
4. GET 与 POST 请求的本质区别
GET和POST是HTTP中最常用的两种请求方法,它们之间存在显著的区别:
- GET请求将参数附加在URL中,适合用于获取数据,不适合用于修改或删除操作,且数据量有限制。
- POST请求将数据放在请求体中,适合用于提交大量数据或敏感信息,如表单提交、文件上传等。