加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 通讯 > 正文

输入URL之后会执行哪些流程

发布时间:2023-02-27 11:24:23 所属栏目:通讯 来源:
导读: 在浏览器中输入 URL 之后,它会执行以下几个流程:

  执行 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.服务器端执行业务处理,并返回数据

  服务器端拿到了客户端的请求参数之后,会进行相应的业务处理,处理完成之后,再将处理的结果返回给客户端。,再将处理的结果返回给客户端。这样就避免了客户端在网络上漫无目的的寻找服务器端的请求参数,从而节省了大量的时间。

  

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章