在浏览器输入URL之后,都发生了什么

本文详细介绍了网页浏览过程中的关键技术,包括URL解析、DNS转换、TCP连接建立、HTTP请求发送、服务器响应、浏览器渲染以及缓存优化,重点讲解了三次握手和四次挥手的TCP连接管理机制。
摘要由CSDN通过智能技术生成

首先给大家看一下具体的流程图:

1、URL解析

浏览器首先对URL进行解析,解析出协议、域名、端口、资源路径、参数等。

2、DNS域名解析

对于用户而言,域名往往比IP地址容易理解和记住的太多,所以我们更加倾向于在浏览器进行搜索的时候使用域名而不是IP地址,例如 百度的域名是www.baidu.com,它的IP地址为:220.181.38.150   需要注意的是,计算机网络通信所识别的计算机标识是IP地址 无法直接识别域名,划重点:所以就需要一个东西,将域名转化为相应的IP地址,而这个东西就是 DNS协议。

DNS就可以理解为我们手机中的通讯录,姓名(相当于域名)对应着手机号(相当于IP),而我们常常只会记着通讯录中的名字不会刻意去记电话号码,通讯录就是将一个名字转换成对应的手机号码。

在这里补充一点:如果你想查找百度的IP,可以使用以下的步骤

        1、点击win+r ,输入cmd ,进入小黑板

        2、输入ping www.baidu.com ,点击回车键

        3、查看返回的结果,就可以查看到百度的IP地址

3、建立TCP连接

我们在浏览器输入URL后,应用层的协议为HTTP/HTTPS,它所使用的传输层协议为TCP。

通过域名的解析后,浏览器获得了服务器的IP,则向服务器发起了TCP连接,这之后就会发生三次握手行为:

三次握手:为了保证客户端和服务端的可靠连接,TCP建立连接时必须要进行三次对话,也叫TCP三次握手,进行三次握手的目的是为了确认双方的接收能力和发送能力是否正常

先举个例子:快递员和你打电话:

快递员:你好先生,你能听到吗?(一次对话)

你:可以听到,你能听到吗?(二次对话)

快递员:我也可以听到,赶紧下楼取快递(三次对话)(开始正式的对话)

[ 由于我太太太菜了,所以我把one piece放在了简单理解TCP三次握手四次挥手(看一遍你就懂)-CSDN博客 大家可以去看一下更详细的讲解]

4、发送HTTP请求

当浏览器与服务器建立连接后,就可以进行数据的通信了,浏览器会给服务器发送一个HTTP请求报文,请求报文包括请求行、请求头、请求空行和请求体。在请求行中包括 (1)指定的方法:指定对这个做什么操作(2)资源路径:是指定将要操作的资源在服务器中的位置(3)HTTP的版本

5、服务器对请求进行处理并做出响应

当收到浏览器发送的请求报文后,服务器会对此请求报文进行相应的处理,并返回响应报文给浏览器。比如,服务器发送想要获取hello.html的这个文件,那么服务器就会找到hello.html这个文件,然后将该文件作为响应报文中的响应体发送给浏览器。

响应报文中包含状态行(响应行)、响应头部、响应空行、响应体。在状态行中包括(1)报文协议及版本(2)状态码以及状态描述。

6、浏览器解析渲染页面

浏览器收到服务器的响应报文后,从响应报文中得到相应资源,如HTML文件、图片等,并进行渲染,然后呈现给用户。

7、断开TCP连接

当数据完成请求到返回的过程之后,如果不需要在进行数据通信,即可以关闭连接,此时会发生四次握手行为。

注意:

        浏览器为了提升性能,在URL解析之后,实际会先查询是否有缓存,如果缓存命中,则会直接返回缓存资源

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值