当打开浏览器,从在地址栏里输入一个URL开始,到出现整个页面,网络上都发生了什么事
来源:互联网 发布:鸡兔同笼基础c语言程序 编辑:程序博客网 时间:2024/04/28 19:34
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就把运算好的网页返回到你的浏览器中。
- 当打开浏览器,从在地址栏里输入一个URL开始,到出现整个页面,网络上都发生了什么事
- 从浏览器地址栏里输入一个URL开始,到出现整个页面,网络上都发生了什么事?
- 在浏览器中输入一个 URL 至页面呈现,网络上都发生了什么事?
- 当你在浏览器地址栏输入一个URL后回车,页面出现之前发生了什么?
- 当在浏览器地址栏输入一个URL后回车,实际发生了什么
- 从浏览器地址栏输入URL到页面加载完成的过程中都发生了那些事情?
- 从地址栏输入URL到页面加载发生了什么
- 从输入URL到浏览器显示页面都发生了什么
- Web访问原理-从输入URL到页面加载完成的过程中都发生了什么事
- 一个页面从输入url到页面加载显示完成,这个过程都发生了什么?
- 当你从浏览器地址栏中输入URL回车后发生了什么
- 从输入URL到浏览器显示页面发生了什么
- 从输入URL到浏览器显示页面发生了什么
- 从输入URL到浏览器显示页面发生了什么
- 从浏览器输入URL到显示页面发生了什么?
- 从输入URL到浏览器显示页面发生了什么
- 从输入URL到浏览器显示页面发生了什么
- 从输入URL到浏览器显示页面发生了什么
- 杭电 HDU ACM 1171 Big Event in HDU
- 《C++ primer》习题4.33
- 12th浙江省省赛 J Convert QWERTY to Dvorak(细节模拟题)
- CMake Error:Failed to find "glu32" in "" with CMAKE_CXX_LIBRARY_ARCHITECTURE "".
- 调侃《Head First 设计模式》之命令模式
- 当打开浏览器,从在地址栏里输入一个URL开始,到出现整个页面,网络上都发生了什么事
- Intent.ACTION_MAIN
- MVC 分页 (非ajax)
- 第六章 Pointers
- 态度决定一切---高效程序员的45个习惯读书笔记
- 用心去感受和倾听--读杨澜访谈录有感
- android-Void 和 void
- 面试题17合并两个排序的链表
- 花生米5