浏览器访问Web服务器流程详细解析

来源:互联网 发布:codecademy知乎 编辑:程序博客网 时间:2024/04/28 00:13

转载自  http://blog.csdn.net/jacklearntech/article/details/12239009


浏览器不管访问JSP、PHP还是ASP.NET,其流程几乎是一样的。


1.浏览器拿到URL后,会首先查找IP,两方面查找,①查询hosts文件,成功则直接进行第5步,无果②查询DNS,无果,返回错误。

2.浏览器发送HTTP请求

浏览器会把自身相关信息与请求相关信息封装成HTTP请求消息改送给服务器,这也不难理解,一些网站为什么可以知道你的浏览器类型了。

3.服务器处理请求

服务器会读取HTTP请求中的内容,然后查找相关资源,查找成功,返回状态码200,失败返回404,如http://www.csdn.net/fuck,这个资源是不存在的,故而返回了大名鼎鼎的404错误。你可能说了没找到,为什么还返回了页面,这是因为被服务器监测到请求不存在的资源后,会按照程序员设置的跳转到别的页面。



4.服务器返回HTTP响应


浏览器得到返回数据后可以会提取数据,然后调用解析内核进行翻译,最后显示出页面。

现在我们也就明白了不管是PHP的超全局数组还是JSP的内置对象,其中关于浏览器与服务器的信息都是在HTTP协议中获取的,而这个流程也是Web开发必备的基础。

说明

1. 当你在浏览器输入URL http://www.csdn.net的时候,浏览器发送一个Request去获取 http://www.csdn.net 的html首页.  服务器把Response发送回给浏览器.

2. 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如图片,CSS文件,JS文件。

3. 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。

4. 等所有的文件都下载成功后。 网页就被显示出来了。


我可能写得不是很全,欢迎大家与我讨论,一起补全,成为最牛逼的Web资源请求流程文章。

0 0
原创粉丝点击