从输入URL到展示出页面, 这个过程发生了什么?

观前提示:本篇博客演示使用的 IDEA 版本为2021.3.3版本,使用的是Java8(又名jdk1.8)

电脑使用的操作系统版本为 Windows 10


目录

从输入URL到展示出页面, 这个过程发生了什么?

1. URL 输入

URL

过程

2. DNS 解析

DNS

过程

3. 建立 TCP 连接

TCP 三次握手

过程

4. 解析HTTP/HTTPS 请求

HTTP

过程

5. 服务器响应请求

服务器

过程

6. 浏览器解析渲染页面

浏览器

过程

7. HTTP 请求结束,  TCP 断开连接

TCP 四次挥手

过程


从输入URL到展示出页面, 这个过程发生了什么?

从输入URL到展示出页面, 这个过程发生了什么? 分为七个主要步骤:

1. URL 输入

2. DNS 解析

3. 建立 TCP 连接

4. 解析HTTP/HTTPS 请求

5. 服务器响应请求

6. 浏览器解析渲染页面

7. HTTP 请求结束,  TCP 断开连接

1. URL 输入

URL

URL(Uniform Resource Locator,统一资源定位符) 是用来唯一标识互联网上的一个资源的位置的字符串。URL由多个部分组成,包括协议、域名、路径和查询参数等。

过程

就是我们打开浏览器输入的网址, 例如:www.baidu.com . 这就是 URL

2. DNS 解析

DNS

DNS(Domain Name System,域名系统) 是互联网的一项核心服务,它是一种分布式的命名系统,用于将易于记忆的域名(如www.baidu.com)转换为计算机可以理解的IP地址(如192.0.2.1),从而使人们可以通过浏览器等应用程序访问到需要的网络资源。

过程

当我们在浏览器中输入一个 URL 时,浏览器会向本地 DNS 缓存中查找是否已经存在相应的 IP 地址,如果没有则向根域名服务器发起请求,获取顶级域名服务器的 IP 地址,然后逐级向下查询,直到查询到对应的本地 DNS 服务器为止。当 DNS 服务器查询到以后,他会返回该域名对应的 IP 地址后,浏览器才能建立与该服务器的连接。

3. 建立 TCP 连接

TCP 三次握手

TCP 协议在建立连接时采用三次握手的方式,主要是为了确保客户端和服务器之间建立起可靠的连接。

过程

浏览器通过 IP 地址和端口号向服务器发起连接请求,在建立 TCP 连接之后,浏览器会发送 HTTP请求报文(Request Header)给服务器。

4. 解析HTTP/HTTPS 请求

HTTP

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于传输超媒体文档(例如HTML)的应用层协议。它是互联网上使用最广泛的协议之一,也是 Web 应用程序的核心协议。

过程

服务器收到 HTTP 请求报文后,会处理请求并生成相应的 HTTP 响应报文(Response Header),然后将 HTTP 响应报文发送回浏览器。

5. 服务器响应请求

服务器

服务器(Server)是一种计算机硬件或软件系统,用于提供各种服务和资源给其他计算机或客户端。服务器通常运行在网络上,可以是独立的物理设备或虚拟机,也可以是云计算平台中的一台虚拟机。

过程

当浏览器解析完 URL 之后,就会向服务器发送请求,请求相应的资源。

6. 浏览器解析渲染页面

浏览器

浏览器(Browser)是一种用于访问互联网上网页和应用程序的软件程序。它通常用于检索并展示由 Web 服务器提供的超文本(HTML)文档,以及各种资源,例如图像、视频、音频等。

过程

服务器接收到浏览器的请求之后,会返回相应的资源。浏览器会将资源下载到本地,然后解析和渲染页面,最终呈现给用户。

7. HTTP 请求结束,  TCP 断开连接

TCP 四次挥手

TCP 协议在关闭连接时,需要进行四次挥手的过程,主要是为了确保客户端和服务器都能正确地关闭连接。

过程

HTTP 请求结束时,通常会发送一个 HTTP 响应报文段(Response Packet)给客户端,告诉客户端请求已经完成。这个响应报文段包含了服务器返回的资源和状态码等信息。

TCP 断开连接时,表示双方都同意关闭连接。在 TCP 连接建立后,双方会进行三次握手来确认连接,之后可以进行数据传输。当一方不再需要通信时,可以发送一个 FIN 包给对方,表示自己已经没有数据要发送了。对方收到 FIN 包后,会回复一个 ACK 包确认收到了 FIN 包,并发送一个自己的 FIN 包给对方,表示自己也不再需要通信了。这样双方就可以安全地关闭连接了。

总结:  用户输入 URL.  DNS 解析后. 浏览器和服务器建立连接(TCP 三次握手). 浏览器解析 URL 请求. 浏览器将解析完的 URL 中的请求发送给服务器.  服务器将浏览器需要的东西返回给浏览器,浏览器开始渲染页面. URL 请求结束,(TCP 四次挥手)断开连接


本文完,感谢观看,有什么错误和不足的地方请在评论区指出,一起进步,谢谢 !

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值