你在chrome浏览器地址栏中输入baidu.com回车后发生了什么
Posted 肯定会
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你在chrome浏览器地址栏中输入baidu.com回车后发生了什么相关的知识,希望对你有一定的参考价值。
浏览器是我们上网必备的工具之一,每当我们需要查询资料的时候,我们就会通过浏览器去访问相应的网站,或者当你寂寞难耐的时候,也许会关上窗门,然后通过浏览器去访问你收藏已久的域名,打开他的在线网站...
emmmmmm..
01
—
02
—
DNS的查找过程是这样的:
chrome浏览器会先查找有没有缓存的DNS记录,如果在浏览器缓存没有找到需要的记录,就会去做一个系统的调用,获取系统缓存的记录;
如果没有记录请求会继续到路由器上,路由器上有自己的DNS缓存;
如果没有记录就会到ISP的DNS缓存中查看记录;
03
—
浏览器给baidu服务器发送一个HTTP请求
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Cookie:PSTM=1506157985; BIDUPSID=DA662DF344C147D17FB4828CCD795292; ...
Host:www.baidu.com
Pragma:no-cache
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
其中
User-Agent是向baidu服务器提供浏览器的类型,操作系统版本,浏览插件,浏览器语言等信息。
Accept是告诉服务器说我们需要接收的类型是什么样子的
Connection:keep-alive 是为了后边请求不要关闭TCP连接
Cookie 是以文本形式存储,每次请求的时候就会发送给服务器,它可以存储用户的状态,用户名等信息
04
—
baidu服务器301重定向响应
因为刚刚我们在chrome浏览器中输入的是baidu.com而不是www.baidu.com,这时候baidu服务器就会将我们的请求响应一个301永久重定向到www.baidu.com。
05
—
06
—
baidu服务器处理请求
baidu服务器在这个时候接收到了请求,它会去查看请求它的参数还有cookie信息,然后会进行一些操作处理,例如对数据进行存储,从数据库中获取需要被请求的数据等。
07
—
baidu服务器返回HTML响应
当baidu服务器处理好之后,就会给浏览器返回数据了,这个时候会有一个Response Headers发送给浏览器:
Bdpagetype:1
Bdqid:0xddf2be49000b5995
Bduserid:0
Cache-Control:private
Connection:Keep-Alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Cxy_all:baidu+09720a4fa84e5493ae7506a57de6bc05
Date:Sat, 14 Oct 2017 09:39:32 GMT
Expires:Sat, 14 Oct 2017 09:39:32 GMT
Server:BWS/1.1
Set-Cookie:BDSVRTM=49; path=/
Set-Cookie:BD_HOME=0; path=/
Set-Cookie:H_PS_PSSID=1440_13551_21103_24658; path=/; domain=.baidu.com
Strict-Transport-Security:max-age=172800
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:Hphp
X-Ua-Compatible:IE=Edge,chrome=1
Response Headers说明了是否缓存这个页面,怎么去解释响应信息,cookie的设置,隐私信息等。 其中
Content-Encoding:gzip告诉浏览器整个响应体是用gzip算法压缩的。
Content-Type:text/html; charset=utf-8 告诉浏览器将响应的内容以HTML的形式呈现出来,字符集是utf-8。
08
—
chrome浏览器显示baidu页面
这时候chrome浏览器获得了响应内容,就开始显示baidu的HTML页面了,浏览器在显示的时候,发现需要获取其他的标签内容,比如图片、css样式表、javascript文件,那么浏览器就会继续对baidu服务器去发送请求这些内容,这些静态的文件baidu会把它进行缓存,利用内容分发网络(CDN)进行分发,所以这些静态文件在很多CDN数据中心都有备份,所以浏览器很快就能获取到这些静态文件。
从而进行页面吧的完整的显示:
以上是关于你在chrome浏览器地址栏中输入baidu.com回车后发生了什么的主要内容,如果未能解决你的问题,请参考以下文章