输入URL之后会执行哪些流程
发布时间:2023-02-27 11:24:23 所属栏目:通讯 来源:
导读: 在浏览器中输入 URL 之后,它会执行以下几个流程:
执行 DNS 域名解析;
封装 HTTP 请求数据包;
封装 TCP 请求数据包;
建立 TCP 连接(3 次握手);
参数从客户端传递到
执行 DNS 域名解析;
封装 HTTP 请求数据包;
封装 TCP 请求数据包;
建立 TCP 连接(3 次握手);
参数从客户端传递到
|
在浏览器中输入 URL 之后,它会执行以下几个流程: 执行 DNS 域名解析; 封装 HTTP 请求数据包; 封装 TCP 请求数据包; 建立 TCP 连接(3 次握手); 参数从客户端传递到服务器端; 1.DNS 域名解析 通过 IP来完成身份定位,在网络中定位,所以 URL 访问的第一步便是先要得到服务器端的 IP 地址。而得到服务器的 IP 地址需要使用 DNS(Domain Name System,域名系统)域名解析,DNS 域名解析就是通过 URL 找到与之相对应的 IP 地址。 DNS 域名解析的大致流程如下: 先检查浏览器中的 DNS 缓存,如果浏览器中有对应的记录会直接使用,并完成解析; 如果现在的浏览器根本就没有浏览器缓存,那就一定要去查询其它操作系统的浏览器缓存,如果查询到记录就可以直接返回 IP 地址,完成解析; 如果操作系统没有 DNS 缓存,就会去查看本地 host 文件,Windows 操作系统下,host 文件一般位于 "C:\Windows\System32\drivers\etc\hosts",如果 host 文件有记录则直接使用; 如果本地 host 文件没有相应的记录,会请求本地 DNS 服务器,本地 DNS 服务器一般是由本地网络服务商如移动、电信提供。通常情况下可以通过 DHCP 自动分配,当然你也可以自己手动配置。目前用的比较多的是谷歌提供的公用 DNS 是 8.8.8.8 和国内的公用 DNS 是 114.114.114.114。 2.封装 HTTP 请求数据包 一个 HTTP 请求对象包含 4 部分内容: 请求行 请求爆头 空行 请求正文 它的基本格式如下: 在得到了服务器 IP 之后,紧接着会将本地的请求封装成一个 HTTP 数据包,如上图所示。 3.封装 TCP 请求数据包 HTTP 底层是依赖 TCP/IP 协议实现的,所以在底层数据传输时,会将 HTTP 请求包进一步封装成 TCP 数据包。 4.建立 TCP 连接(3 次握手) HTTP 通讯的基础是 TCP 连接,TCP 连接需要 3 次握手,3 次握手就是为了验证客户端的发送能力和接收能力,以及服务器端的发生能力和接收能力,就像打电话一样,通常的通话是这样开头的: _我_:喂,能听到吗? _对方_:能听到,你能听到吗?(证明了对方的接收能力和我的发送能力) _我_:我也能听到,咱们聊正事吧。(证明了对方的发送能力和我的接收能力) 经过以上3 次握手就可以证明客户端的发送能力和接收能力,以及服务器端的发生能力和接收能力,这样就可以正式开始通讯了。 5.服务器端获取到 HTTP 请求参数 数据在经过 TCP 传到到服务器程序之后,又会将 TCP 的数据包转换成 HTTP 数据包(这一切都是 TCP/IP 协议的功劳),这样服务器端就可以得到客户端发送的请求数据了。 6.服务器端执行业务处理,并返回数据 服务器端拿到了客户端的请求参数之后,会进行相应的业务处理,处理完成之后,再将处理的结果返回给客户端。,再将处理的结果返回给客户端。这样就避免了客户端在网络上漫无目的的寻找服务器端的请求参数,从而节省了大量的时间。 (编辑:驾考网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
