浏览器客户端与服务器的交互过程
当获得了 IP 地址之后,那么浏览器就向服务器发送 HTTP 的请求,下面我们就稍微看下这个发送请求是
怎么样被发送的:
1.0000浏览器通过发送一个 TCP 的包,要求服务器打开连接
2.0000服务器也通过发送一个包来应答客户端的浏览器,告诉浏览器连接开了。
3.0000浏览器发送一个 HTTP 的 GET 请求,这个请求包含了很多的东西了,例如我们常见的
cookie 和其他的 head 头信息。
这样,一个请求就算是发过去了。
请求发送去之后,之后就是服务器的事情了,服务器端的程序,例如,浏览器清楚的文件是一个
ASP.NET 的页面,那么服务器端就把请求通过 IIS 交给 ASP.NET运行时,最后进行一系列的活动之后,
把最后的结果,当然,一般是以是以 html 的形式发送到客户端。
其实首先到达浏览器的就是 html 的那些文档,所谓的 html 的文档,就是纯粹的 html 代码,不包
含什么图片,脚本,css 等的。也就是页面的 html 结构。因为此时返回的只是页面的 html 结构。这个
html 文档的发送到浏览器的时间是很短的,一般是占整个响应时间的 10%左右。
这样之后,那么页面的基本的骨架就在浏览器中了,下一步就是浏览器解析页面的过程,也就是一
步步从上到下的解析 html 的骨架了。
如果此时在 html 文档中,遇到了 img 标签,那么浏览器就会发送 HTTP 请求到这个 img 响应的
URL 地址去获取图片,然后呈现出来。如果在 html 文档中有很多的图片,"ash,那么浏览器就会一个
个的请求,然后呈现。
例:用户访问东南大学主页0Http://www.seu.edu.cn/seu/welcome.htm,浏览器与服务器的信息交
互过程如下:
(1)浏览器向 DNS 获取 web 服务器 www.seu.edu.cn 的 IP 地址:202.119.24.11
(2)浏览器与 IP 地址为 202.119.24.11 的服务器进行 TCP 连接,端口为 80;
(3)浏览器执行 HTTP 协议,发送 GET /seu/welcome.htm 命令,请求读取该文件;
(4)'www.seu.edu.cn 服务器返回/seu/welcome.htm 文件到客户端;
(5)释放 TCP 连接;
(6)浏览器解释/seu/welcome.htm 文件内容,并显示该文件表示的页面