当打开浏览器,从在地址栏里输入一个URL开始,到出现整个页面,网络上都发生了什么事

本文详细介绍了从用户在浏览器中输入URL到页面完全加载的过程。包括域名解析、HTTP请求、服务器处理、HTML渲染等多个步骤,揭示了网页加载背后的复杂机制。

1、浏览器查找域名的IP地址

导航的第一步是通过访问域名找出其IP地址。DNS查找过程如下:

  • 浏览器缓存——浏览器会缓存DNS记录一段时间(2分钟到30分钟不等并由浏览器决定)。
  • 系统缓存——如果浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用。
  • 路由器缓存—接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
  • ISP DNS缓存——接下来要检查的是ISP缓存DNS的服务器。在这里一般都能找到相应的缓存记录。
  • 递归搜索——你的ISP的DNS服务器从根域名服务器开始进行递归搜索(顶级域名服务器到一般DNS服务器)

备注:一下方法可以消除这个瓶颈:循环DNS(DNS查找时返回多个IP时的解决方案。举例来说,Facebook.com实际上就对应了四个IP地址。

     负载平衡器(以一个特定IP地址侦听并将网络请求转发到群服务器上的硬件设备)

                                                    地理DNS根据用户所处的地理位置,通过吧域名映射到多个不同的IP地址提高可扩展性。

2、浏览器给web服务器发送一个HTTP请求

GET  http://facebook.com/   HTTP/1.1

Accept:  application/x-ms-application,image/jpeg

User-Agent:Mozilla/4.0

Accept-Encoding:gzip,deflate

Connection:Keep-Alive

Host:facebook.com

3、如果是大型服务器发送永久重定向响应

HTTP/1.1 301 Moved Permanently

Cache-Control:private,no-store,on-cache

Expires:Sat,01 jan 2000

location:http://www.facebook.com

4、浏览器跟踪重定向地址

现在,浏览器知道了“http://  ”,在发送另外一个请求。

5、服务器“处理”请求

服务器接收到获取请求,然后处理并返回一个响应。表面上看起来是一个顺利的任务,但中间发生了很多有意思的东西:

a、WEB服务器软件

web服务器软件(IIS、Apache、……)接收到HTTP请求,然后确定执行什么请求处理来处理它。请求处理时一个能够读懂请求并且能生成HTML来进行相应的程序

b、请求处理

请求处理阅读请求及它的参数和cookies。它会读取也可能更新一些数据,并将数据存储在服务器上。然后,处理会生成一个HTML响应。

6、服务器发回一个HTML响应

HTTP/1.1 200 OK

Cache-Control:private,no-store……

……

<Doctype!>

7、浏览器开始显示HTML

在浏览器没有完整接收全部HTML文档时,它就开始显示这个页面了


8、浏览器发送获取嵌入在HTML中的对象

图片、css样表、javascript文件

9、浏览器发送异步(AJAX)请求



在别处找到de另一个答案:

打开浏览器输入URL 回车以后,就会在网络上寻找路由器,找到路由器里面以后,就读路由表理论上在12个路由表之内能找到你所输入的URL 然后空连接到这个地址 如果是http头然后就会进行默认的监听80端口如果是FTP头就会监听其它端口 监听正常以后会进行握手 握手就是确定协议类型 接着会话 你的电脑像URL提交需要信息的一个表单 电脑说我要你这个地址下面的所有WEB页面 那边的WEB站点会要你的电脑出示身份证看看你的电脑是不是好人 如果是好人 就说OK 我给你 但是我先给你一份我WEB里面资料的单据把 就是cookies 同时WEB站点在自己运算 把网页代码运算成用户可以接受的窗口网页 然后你的电脑拿到了这个单据 再根据单据里面的内容和WEB要 WEB就把运算好的网页返回到你的浏览器中。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值