作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等;
本文简单探究一下,当你输入一个网址时,后台到底发生了什么?
1、 首先我们得在浏览器里输入网址;
2、 浏览器查找域名的IP地址;
3、 浏览器给web服务器发送一个HTTP请求;
像Facebook主页这样的动态页面,打开后在浏览器缓存中很快甚至马上就会过期,毫无疑问他们不能从中读取;所以,浏览器将把请求发送到Facebook所在的服务器;
4、 服务的永久重定向响应;
服务器发回给浏览器的响应;
5、 浏览器跟踪重定向地址;
现在,浏览器知道了“http://www.facebook.com/”才是要访问的正确地址,所以它会发送另一个获取请求:
头信息以之前请求中的意义相同;
6、 服务器“处理”请求;
服务器接收到获取请求,然后处理并返回一个响应;
这表面上看起来是一个顺向的任务,但其实这中间发生了很多有意思的东西
7、 服务器发回一个HTML响应;
服务器生成并返回的响应;
8、 浏览器开始显示HTML;
|