在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?
来源:互联网 发布:知乎洗头发顺序 编辑:程序博客网 时间:2024/05/01 04:37
当在浏览器中输入一个网址后的处理过程如下:
1、浏览器根据域名查询域名对应的服务器的IP地址。
根据域名查询IP地址的顺序如下:
浏览器DNS >>> 操作系统DNS缓存 >>> 本地(ISP)域名服务器缓存 >>> 根域名服务器。
在请求到根域名服务器之后,根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址。
本地域名服务器向顶级域名服务器dns.com进行查询,顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。
本地域名服务器向权限域名服务器dns.abc.com进行查询,权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。
最终查询到IP地址之后,本地域名服务器将IP地址告诉给浏览器。
2、浏览器主机根据IP地址与服务器建立TCP连接。
建立TCP连接需要进行三次握手。
(1)浏览器主机 >>> 服务器:SYN=1,ACK=0,seq=x;
(2)服务器 >>> 浏览器主机:SYN=1,ACK=1,seq=y,ack=y+1;
(3)浏览器主机 >>> 服务器:ACK=1,seq=x+1,ack=y+1。
3、浏览器将访问请求封装为一个HTTP请求报文,通过TCP协议发送给服务器。
HTTP请求报文的方法是get方式;如果浏览器存储了该域名下的Cookies,那么会把Cookies放入HTTP请求头里发给服务器。
4、服务器收到请求并响应,生成一个HTTP响应报文,通过TCP协议发送给浏览器主机。
HTTP响应报文的头部包含了状态码(Status-Code),三位数字,有5大类。HTTP响应报文内容则是网页的编码内容。
5、浏览器得到响应报文之后,对响应报文进行解析。
在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了。如果是个静态的页面,那到此就基本结束了。如果是是动态的,那么在浏览器显示HTML时,会获取嵌入在HTML中的对象,浏览器会发送获取请求来重新获得这些文件。
6、浏览器异步请求其他资源。
在分析HTML时,若发现网页引用了其他资源,例如:css、图片等,浏览器则发起HTTP请求,得到响应资源。
参考资料:
http://www.nowcoder.com/questionTerminal/4150a74bd14d4bd3a0d3f133376c97c7
http://blog.csdn.net/zhangzqit/article/details/49814951
- 在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?
- 当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?
- 当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系
- 在浏览器输入一个网址,按回车之后发生了什么
- 在浏览器输入一个网址,按回车之后发生了什么?
- 在浏览器输入一个网址,按回车之后发生了什么?
- 【一个经典的google面试题】在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器上,指尖轻轻输入 www.taobao.com 以后发生了什么?
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器中输入baidu.com并且按下回车之后发生了什么?
- 在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 有以下宏定义, #define MIN(A,B) ((A) <= (B) ? (A) : (B)) 请写出一种不能正确返回的情况?
- HDU 1716
- 线程和进程
- Linux下MJPG-Streamer视频服务器搭建
- 第二次CCF计算机软件能力认证考试题解(Java)--201409--字符串匹配--100分通过
- 在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?
- 内部碎片和外部碎片
- 钻石型继承模型的内存分布
- 在调用C这个非托管语言不要进行任何托管安全检查
- JSP自定义标签
- Android四大组件之一内容提供者
- ios核心动画 类图 一目了然
- ps命令详解
- RAM和ROM的一些却别