首页 > 代码库 > 浏览器与服务器如何交互

浏览器与服务器如何交互

最近在研究浏览器与服务器的交互问题,转载了一些东西,下面这些忘了原文出处了,觉得很有帮助:

1. 我们在浏览器中输入网址。

2. 浏览器查找域名对应的IP地址 DNS查找过程为: 浏览器缓存->系统缓存->路由器缓存->ISP DNS缓存->递归搜索 递归搜索过程为:从根域名服务器到顶级域名服务器到你查询的域名服务器。

3. 浏览器打开TCP连接(默认端口为80),向该IP的服务器发送一条HTTP请求,如果浏览器存储了该域名下的cookie,那么cookie也会放入http请求中

4. 服务器给浏览器进行一个301永久重定向响应。该IP对应的服务器很可能是代理服务器,比如你输入“http://baidu.com”,而不是“http://www.baidu.com”,按道理这两个网址对应的是同一个网页,因此通过代理服务器的方式进行重定向相应,让这两个网址访问的是同一个网页。

5. 浏览器根据重定向地址再次进行HTTP请求。

6. 服务器分析HTTP请求,生成HTTP响应,将响应发给客户端。

7. 浏览器收到响应内容之后,生成主页框架,同时向服务端继续发送请求,请求的内容是主页里的一些资源,比如说图片、视频等。

8. 对于静态的页面内容,浏览器通常进行缓存,对于动态的内容通常不缓存,缓存的时间也是有期限的。

9. 浏览器向服务器发送异步请求,因为有些页面显示完成之后客户端仍需要与服务端保持联系。

10. 整个过程结束之后,浏览器关闭TCP连接。

 

相关文章参考:

http://blog.csdn.net/tangxiaolang101/article/details/54670218

http://www.cnblogs.com/gnss523-webrtc/articles/4834900.html

浏览器与服务器如何交互