http复习
- http是什么的缩写
Hyper Text Transfer Protocol - http核心作用
HTTP 的核心就是充当客户端和服务器之间的 “数据传输桥梁”,通过统一的规则实现各类 Web 资源的请求与交付。 - 和tcp/ip的区别
简单概括:HTTP 和 TCP/IP 是不同层级、不同范畴的网络概念,核心区别在于 TCP/IP 是一套完整的网络通信协议簇,而 HTTP 是基于 TCP/IP 簇中 TCP 协议的应用层协议。 - 五层和七层模型(哪俩合并叫什么层)
5
物理层、数据链路层、网络层、传输层、应用层
应用层:http、FTP、DNS 传输层:TCP/UDP 网络层:IP
7
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 - 键入网址再按下回车,后面究竟发生了什么?
场景1:使用 IP 地址访问 Web 服务器
• 浏览器从地址栏的输入中获得服务器的 IP 地址和端口号;
• 浏览器用 TCP 的三次握手与服务器建立连接;
• 浏览器向服务器发送拼好的报文;
• 服务器收到报文后处理请求,同样拼好报文再发给浏览器;
• 浏览器析报文,渲染输出页面。
场景2:使用域名访问 Web 服务器
• 在域名解析的过程中会有多级的缓存,浏览器首先看一下自己的缓存里有没有,如果没有就向操作系统的缓存要,还没有就检查本机域名解析文件 hosts,找到映射之后,于是浏览器就知道了域名对应的 IP 地址,就可以愉快地建立 TCP 连接发送 HTTP 请求了。
• 浏览器多出了一个访问 hosts 文件的动作,也就是本机的 DNS 解析。 - 三次握手,为什么是三次不是2次4次
1、发送端首先发送一个带SYN标志的数据包给对方。
2、接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。
3、发送端再回传一个带ACK标志的数据包,代表“握手”结束。
因为网络传输有延迟,客户端发送请求到服务器端要求建立连接,如果服务器端直接返回的话可能会产生丢包的情况导致客户端接收不到数据,客户端会因为超时就关闭了,可能就去发送新的请求了,然而服务端并不知道丢包导致客户端没有接收数据,服务端端口就一直开着,造成了额外的开销。所以需要3次握手确认这个过程。
四次挥手
4次挥手的自的是关闭客户端和服务器的连接。
第一次挥手:客户端给服务器发送FIN(结束)+ACK(确认),请求断开连接,服务器接收。
第二次挥手:服务器发送ACK,表示已经收到了客户端断开连接的请求。此时客户端到服务器的连接关闭但服务器如果有部分没有发送给客户端,服务器就会发送完成数据之后,才会向客户端发送断开连
接的请求,即第三次挥手。
第三次挥手:服务器已经没有数据需要发送给客户端的时候,就向客户端发送FIN+ACK请求,表示已经断开连接。
第四次挥手:客户端给服务器发送ACK,表示已经知道服务器关闭了连接。
浙公网安备 33010602011771号