从输入url到页面展现的经历了什么?

从输入url到页面展现的过程经历了什么?

简写版:

  • 输入url
  • 域名解析
  • 发起TCP的3次握手
  • 建立TCP连接后发起http请求 --> -服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)
  • 浏览器对页面进行渲染呈现给用户
  • 传输完成,四次挥手结束。

详细版:

1,在浏览器输入URL

URL:统一资源定位符,用于定位互联网上的资源。
url对应有协议、域名、端口号。
协议是从该计算机获取资源的方式,常见的协议有:http,https,ftp,file;不同协议有不同的通讯内容格式;

2,域名解析

首先,浏览器会解析输入URL的域名去查找对应的IP地址

域名解析流程:

2.1 浏览器缓存

首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否有与输入域名对应的条目,而且没有过期,如果有且没有过期则解析到此结束。

2.2 DNS缓存

如果浏览器自身的缓存里面没有找到对应的条目,那么浏览器会搜索操作系统自身的DNS缓存,如果找到且没有过期则停止搜索解析到此结束.

2.3 路由器缓存

如果在系统DNS缓存也没有找到,那么尝试读取系统hosts文件(位于C:\Windows\System32\drivers\etc),看看这里面有没有该域名对应的IP地址,如果有则解析成功。

2.4 ISP DNS缓存

如果在hosts文件中也没有找到对应的条目,浏览器就会发起一个DNS的系统调用,就会向
本地配置的首选DNS服务器(一般是电信运营商提供的)发起域名解析请求,(通过的是UDP协议向DNS的53端口发起请求,这个请求是递归的请求,也就是运营商的DNS服务器必须得提供给我们该域名的IP地址),运营商的DNS服务器首先查找自身的缓存,找到对应的条目,且没有过期,则解析成功。

2.5 如果仍没有找到对应的条目,则由运营商的DNS代浏览器发起迭代DNS解析请求,直到找到对对应IP地址

1.首先 是找到根域的DNS的IP地址,向其发起请求:(请问www.xxxxxx.com这个域名的IP地址是多少啊?),根域发现这是一个顶级域com域的一个域名,于是就告诉运营商的DNS我不知道这个域名的IP地址,但是我知道com域的IP地址,你去找它去,于是运营商的DNS就得到了com域的IP地址;

2.然后 com域的IP地址发起了请求:(请问www.xxxxxx.com这个域名的IP地址是多少啊?),com域这台服务器告诉运营商的DNS我不知道www.xxxxxx.com这个域名的IP地址,但是我知道xxxxxx.com这个域的DNS地址,你去找它要IP地址去;

3.于是运营商的DNS又向xxxxxx.com这个域名的DNS地址(这个一般就是由域名注册商提供的,像万网,新网等)发起请求:(请问www.xxxxxx.com这个域名的IP地址是多少啊?),这个时候xxxxxx.com域的DNS服务器一查,诶,果真在我这里,于是就把找到的结果发送给运营商的DNS服务器;

这个时候运营商的DNS服务器就拿到了www.xxxxxx.com这个域名对应的IP地址,并返回给操作系统内核,内核又把结果返回给浏览器,终于浏览器拿到了www.xxxxxx.com对应的IP地址,进行下一步操作。

3.浏览器向web服务器发起TCP 连接请求

拿到域名对应的IP地址之后,User-Agent(一般是指浏览器)向WEB服务器发起TCP的连接请求:发起TCP的3次握手。

4.建立TCP连接后发起http请求

经过TCP 3次握手之后,浏览器会通过tcp连接向远程服务器发送 HTTP 的 GET请求。

5.服务器端响应http请求,浏览器得到html代码

服务器端WEB程序接收到http请求以后,就开始处理该请求,处理之后就返回给浏览器html文件。

6.浏览器解析html代码,并请求html代码中的资源

浏览器拿到index.html文件后,就开始解析其中的html代码,遇到js/css/image等静态资源时,就向服务器端去请求下载(会使用多线程下载,每个浏览器的线程数不一样),这个时候就用上keep-alive特性了,建立一次HTTP连接,可以请求多个资源,下载资源的顺序就是按照代码里的顺序。
HTML字符串被浏览器接受后,就会被一句句读取解析
解析到link标签后,重新发送请求获取css
解析到script标签后发送请求获取js
解析到img标签后发送请求获取图片资源等

7.浏览器对页面进行渲染呈现给用户

浏览器根据html和css计算得到渲染树,绘制到屏幕上,js会被执行。

8.传输完成,断开连接

4次挥手断开

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容