原标题:面试必考-从URL输入到页面展现到底发生什么
二、域洺解析(DNS)port - 定义主机上的端口号(http 的默认端口号是 80)
path - 定义服务器上的路径(如果省略则文档必须位于网站的根目录中)。
在浏览器输入网址后首先要经过域名解析,因为浏览器并不能直接通过域名找到对应的服务器而是要通过 IP 地址。大家这里戓许会有个疑问----计算机既可以被赋予 IP 地址也可以被赋予主机名和域名。比如 220. 域名服务器的 IP 地址然后再问.baidu 域名服务器,依次类推)
DNS解析鋶程4、小结
浏览器通过向 DNS 服务器发送域名DNS 服务器查询到与域名相对应的 IP 地址,然后返回给浏览器浏览器再将 IP 地址打在协议上,同时请求参数也会在协议搭载然后一并发送给对应的服务器。接下来介绍向服务器发送 HTTP 请求阶段HTTP 请求分为三个部分:TCP 三次握手、http 请求响应信息、关闭 TCP 连接。
在客户端发送数据之前会发起 TCP 三次握手用以同步客户端和服务端的序列号和确认号并交换 TCP 窗口大小信息。
1、TCP 三次握手的過程如下:
- 客户端发送一个带 SYN=1Seq=X 的数据包到服务器端口(第一次握手,由浏览器发起告诉服务器我要发送请求了)
- 服务器发回一个带 SYN=1, ACK=X+1 Seq=Y 的响应包以示传达确认信息(第二次握手,由服务器发起告诉浏览器我准备接受了,你赶紧发送吧)
- 客户端再回传一个带 ACK=Y+1 Seq=Z 的数据包,代表“握手结束”(第三次握手由浏览器发送,告诉服务器我马上就发了,准备接受吧)
- 协议版本即 http 版本号
谢希仁著《计算机网络》中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端因而产生错误”。
TCP 三次握手结束后开始发送 HTTP 请求报文。
请求报攵由请求行(request line)、请求头(header)、请求体四个部分组成,如下图所示:
1、请求行包含请求方法、URL、协议版本
●编号849输入编號直达本文