码迷,mamicode.com
首页 > Web开发 > 详细

浏览器从URL输入到页面展示发生了什么?

时间:2020-04-29 10:35:37      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:字符串   递归查询   tcp   source   访问   span   域名解析   递归   客户端   

1. URL解析

  URL(Uniform Resource Locator,统一资源定位符),它是 WWW 服务器用于指定网络资源位置的表示方法。

  语法格式:protocol://hostname[:port]/path/[parameters][?query]#fragment
  • protocol:指定使用的传输协议,比如 http,ftp,file。

  • hostname:存放资源的服务器的主机名或 IP 地址。

  • port:传输协议使用的端口号。

  • path:表示主机上的一个目录或文件地址。

  • parameters:可选,用于指定特殊参数。

  • query:可选,用于给动态网页传递参数。多个参数用 & 隔开,每个参数的名和值用 = 隔开。

  • fragment:字符串,用于指定网络资源中的片断。

2. DNS查询

  用户通过浏览器访问网页,DNS 服务器(域名解析系统)会根据用户输入的服务器域名查找对应的IP地址。

  域名解析服务器是基于 UDP 协议实现的一个应用程序,通过监听 53 端口来获取客户端的域名解析请求。

域名解析过程:

  • 浏览器 DNS 缓存。

  • 操作系统缓存,查找本机的 hosts。

  • 路由器 DNS 缓存。

  • 递归查询本地域名服务器。

  • 迭代查询根域名服务器。

3. 建立TCP连接

  浏览器通过 DNS 服务器获取到 Web 服务器的 IP 地址后,便向 Web 服务器发起 TCP 连接请求。通过 TCP 的三次握手建立好连接后,浏览器就可以将 HTTP 请求数据发送给 Web 服务器了。

4. HTTP请求/响应

  一个 HTTP 请求报文由请求行、请求头部、空行和请求数据4个部分组成。

  HTTP 响应报文由状态行、响应头部、空行以及响应数据组成。

5. 渲染页面

  浏览器拿到 HTTP 响应的 html 文档后,解析并渲染页面,最终呈现给用户。

浏览器从URL输入到页面展示发生了什么?

标签:字符串   递归查询   tcp   source   访问   span   域名解析   递归   客户端   

原文地址:https://www.cnblogs.com/yutb/p/12800202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!