从浏览器地址栏输入URL到浏览器呈现数据全过程解析

一、输入设备(或粘贴)输入 URL,按下 Enter键 或其他按钮开始请求。

二、浏览器开始解析 URL

关于 URL 到相关知识点:什么是URI,URL以及URN,你真的理解了吗。

1、URL 是否合法

2、URL 中的字符转换

3、HSTS列表 协议升级。相关文章 HSTS详解。在现代浏览器中,这一步有可能导致请求中止。

三、检查本地缓存,根据缓存情况决定下一步的动作

1、 强缓存(Cache-Control 和 Expires)   直接从本地缓存读取资源(若是这步,便没有下面的步骤)

2、弱缓存(Etag、If-None-Match 和 Last-Modified、If-Modified-Since)  需要与服务器通信进行一次确认缓存是否可用

3、无缓存  与服务器通信请求数据

关于强弱缓存的文章: HTTP强缓存和协商缓存

四、浏览器开始进行 DNS 解析

解析的过程依次为:浏览器缓存、本机缓存、hosts文件、路由器缓存、ISP DNS缓存、DNS递归查询。

五、与目标IP的服务器进行TCP链接(三次握手)

参考文章: TCP三次握手详解及释放连接过程

六、发送 HTTP或HTTPS 请求

参考文章:Http和Https的区别

七、服务器对请求进行响应

1、304响应 对应对是弱缓存响应

2、200响应 对应对是无缓存响应

在服务器进行响应之前,内部还有其他的内容。

比如代理服务器,数据库查询等等。

八、浏览器接收响应,并视情况关闭TCP连接

九、根据响应对内容,浏览器进行不同对处理

下面仅仅对 html 网页文档进行讨论。

十、下文待续。

参考文章: https://www.jianshu.com/p/558455228c43

原文地址:https://www.cnblogs.com/ndos/p/9122193.html

时间: 2024-08-19 22:55:37

从浏览器地址栏输入URL到浏览器呈现数据全过程解析的相关文章

从浏览器地址栏输入url到页面呈现

举个栗子,从浏览器地址栏输入https://www.baidu.com 到页面呈现百度页面呈现 1.从DNS中得到链接ip地址 ①从浏览器DNS缓存 ②从系统DNS缓存中去,本机系统hosts文件中如果有映射,就返回映射的ip地址 ③从局域网路由器中DNS缓存获取映射地址 ④从DNS服务器缓存获取映射地址 ⑤服务器中查找,com->baidu->www 2.TCP连接,三次握手 ①浏览器发起,询问服务器是否支持响应 ②服务器发起,回复浏览器已准备,可以响应,正在等待 ③浏览器接收到后,发起确认

浏览器从输入url到页面呈现发生了什么?

当浏览器地址栏中输入www.baidu.com到页面呈现的具体过程: 1.域名解析(DNS解析)(网络层) 先从缓存中找域名对应的ip地址,没有再向域名服务器发送请求. -->浏览器的DNS缓存(以Chrome浏览器为例查看dns缓存,在地址栏中输入chrome://net-internals/#dns 查看浏览器内的dns缓存.) -->操作系统的DNS缓存(window系统调出cmd窗口,在窗口处输入命令ipconfig /displaydns 来进行查看系统内的dns缓存.) -->

浏览器中输入URL到返回页面的全过程

第一步,解析域名,找到主机IP (1)浏览器会缓存DNS一段时间,一般2-30分钟不等.如果有缓存,直接返回IP,否则下一步. (2)缓存中无法找到IP,浏览器会进行一个系统调用,查询hosts文件.如果找到,直接返回IP,否则下一步.(在计算机本地目录etc下有一个hosts文件,hosts文件中保存有域名与IP的对应解析,通常也可以修改hosts科学上网或破解软件.) (3)进行了(1)(2)本地查询无果,只能借助于网络.路由器一般都会有自己的DNS缓存,ISP服务商DNS缓存,这时一般都能

iw14.0.50来了,终于可以直接在地址栏输入url打开iw功能页面了;可以自由使用EasyUI等js框架了;显示模式对话框也不再七绕八绕惹人烦了;

示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. iw14.0.50来了,在新的版本中最吸引我的就是增加了完善的httphandler功能:终于可以直接在地址栏输入url打开iw功能页面了:可以自由使用EasyUI等js框架了:显示模式对话框也不再七绕八绕惹人烦了:呵呵,我感觉iw第一次接近主流web开发工具了! 兴奋过了,来尝试一下吧.其实iw的坑还是挺多的,虽然已经接近主流了,但

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

当在浏览器地址栏输入网址,如:www.baidu.com后浏览器是怎么把最终的页面呈现出来的呢?这个过程可以大致分为两个部分:网络通信和页面渲染. 一.网络通信 互联网内各网络设备间的通信都遵循TCP/IP协议,利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信.分层由高到低分别为:应用层.传输层.网络层.数据链路层.发送端从应用层往下走,接收端从数据链路层网上走.如图所示: 1. 在浏览器中输入url 用户输入url,例如http://www.baidu.com.其中http为

在浏览器中输入URL按下回车键后发生了什么

在浏览器中输入URL按下回车键后发生了什么 [1]解析URL[2]DNS查询,解析域名,将域名解析为IP地址[3]ARP广播,根据IP地址来解析MAC地址[4]分别从应用层到传输层.网络层和数据链路层分别加入各个层的头部封装为包[5]进行三次握手后,客户端与服务器建立连接[6]客服务器向客户端返回数据,浏览器接收到数据[7]浏览器开始渲染页面 补充:浏览器渲染页面详解 [1]由从服务器接收到的html形成DOM[2]样式被加载和解析,形成css对象模型CSSOM[3]DOM和CSSOM创建一个渲

从输入 URL 到浏览器接收的过程中发生了什么事情?

从输入 URL 到浏览器接收的过程中发生了什么事情? What really happens when you navigate to a URL 上面两篇文章都解读的很好,值得阅读. 接下来在总结一下这个过程: 1.首先,会查询缓存,如果缓存存在的话则直接响应,否则继续下面过程: 2.当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询.这能使浏览器获得请求对应的IP地址.D

在浏览器中输入URL并回车后都发生了什么?

1.解析URL ________________________________________________________________________ 关于URL: URL(Universal Resource Locator):统一资源定位符.俗称网页地址或者网址. URL用来表示某个资源的地址.(通过俗称就能看出来) URL主要由以下几个部分组成: a.传输协议 b.服务器 c.域名 d.端口 e.虚拟目录 f.文件名 g.锚 h.参数 也就是说,通常一个URL是像下面这样 连起来

在浏览器中输入url回车之后会发生什么

在浏览器中输入URL之后,浏览器会经历以下5个步骤: 1.解析URL 2.DNS域名解析 3.浏览器与网站建立TCP链接(三次握手) 4.请求和传输数据 5.浏览器渲染页面 一.解析URL 什么是url: URL(Universal Resource Locator) 同一资源定位符,俗称网页地址或者网址,用来表示某个网页资源的地址 URL主要由一下几个部分组成:1.传输协议 2.服务器 3.域名 4.端口 5.虚拟目录 6.文件名 7.参数 8.锚 也就是说通常的url是这样的 连起来就是这样