
网页输入 URL 的过程
在本地域名服务器中查询未找到该域名。 本地域名服务器回向根域名服务器,同样未找到该域名。 本地域名服务器向.com顶级域名服务器查询,未找到该域名。 最后,本地域名服务器向.baidu.com域名服务器发送请求,最终找到该域名,将对应的IP地址返回给本地域名服务器。 首次握手:客户端向服务端发送请求报文。 第二次握手:服务器收到请求报文后,向客户端发送确认报文。 第三次握手:客户端收到服务器的确认后,再次向服务器发送确认报文,完成连接。 请求行:包含HTTP方法、目标URL、协议版本等信息。 请求头:描述浏览器的相关信息,包括语言、编码等。 请求正文:用于传递POST、PUT等数据的字段,通常储存在请求正文中。 状态码:服务器会返回状态码。常见状态码类型如下:
发布日期:2021-05-14 22:00:19
浏览次数:15
分类:精选文章
本文共 1050 字,大约阅读时间需要 3 分钟。
输入URL的过程:从域名解析到页面渲染的详细步骤
当我们在浏览器中输入一个_url_,例如”www.baidu.com”时,这个地址并不是百度网站真正意义上的地址。在互联网中,每台计算机都有一个唯一的标识符——IP地址。因此,输入的URL首先需要通过域名解析转换为IP地址。
域名解析是一个递归查询过程。例如,解析”www.baidu.com”时,通常会经历以下步骤:
完成域名解析后,浏览器会与目标服务器建立TCP连接。TCP协议是HTTP协议在传输层的基础协议。在获取了服务器的IP地址后,浏览器客户端会启动TCP连接,这一过程包括三次握手:
三次握手的目的是防止已经失效的请求报文字段发送给服务器,从而节省资源。
建立TCP连接后,浏览器会构建HTTP请求报文,并通过TCP协议传送到服务器的指定端口。HTTP请求报文分为三个部分:
服务器接收到HTTP请求后,会处理请求并返回响应报文。响应报文同样分为三个部分:
- 1xx:表示请求继续。
- 2xx:表示请求成功。
- 3xx:表示重定向。
- 4xx:表示客户端错误。
- 5xx:表示服务器错误。
- 响应头:包含响应的相关信息,如日期、服务器类型等。
- 响应正文:服务器返回的文本信息,通常包括HTML、JS、CSS、图片等内容。
- 客户端发送分手消息给服务器。
- 服务器发送确认消息。
- 服务器发送准备完成的消息。
- 客户端发送确认消息,表示atím完成断开连接。
浏览器接收到响应报文后,会开始渲染页面。渲染过程包括解析HTML文档,构建DOM树、渲染树、定位页面元素、绘制页面元素等步骤。
最后,连接会在浏览器和服务器之间完成四次挥手:
这样的连接过程确保了网络通信的高效性,避免资源浪费。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年05月05日 19时19分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
flink启动(二)
2019-03-09
软件架构设计和MESH经验之谈
2019-03-09
关于宝塔面板安装的mysql用Navicat连接出现2003的错误解决
2019-03-09
Windows2016 FTP用户隔离
2019-03-09
js传入参数是中文的时候出现 “******”未定义错误
2019-03-09
吴恩达机器学习课程笔记(英文授课) Lv.1 新手村(回归)
2019-03-09
pair的用法
2019-03-09
SQL基本操作命令
2019-03-09
C# WinForm程序退出的方法
2019-03-09
onFailure unexpected end of stream
2019-03-09
Flex 布局的自适应子项内容过长导致其被撑大问题
2019-03-09
PL/SQL 动态Sql拼接where条件
2019-03-09
Lua-table 一种更少访问的安全取值方式
2019-03-09
虚函数
2019-03-09
斐波那契数列两种算法的时间复杂度
2019-03-09
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09
C++清空队列(queue)方法
2019-03-09
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2019-03-09
【二叉树】已知后序与中序求先序
2019-03-09