浏览器与www服务器连接过程

Posted 申小贺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器与www服务器连接过程相关的知识,希望对你有一定的参考价值。

 TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。

 

HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:

1. 建立TCP连接
在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。当输入一个请求时,首先建立一个socket连接,因为socket是通过ip和端口建立的,所以,之前则还有一个DNS解析过程。如把www.baidu.com变成一个ip,如果url不包含端口号,则会使用该协议的默认端口号,HTTP协议的默认端口号为80。

2. Web浏览器向Web服务器发送请求命令 
一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET/sample/hello.jsp HTTP/1.1。

3. Web浏览器发送请求头信息 
浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。

4. Web服务器应答 
客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1 200 OK ,应答的第一部分是协议的版本号和应答状态码。

5. Web服务器发送应答头信息 
正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。

6. Web服务器向浏览器发送数据 
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。

7. Web服务器关闭TCP连接 
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive

TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

浏览器访问网页结束后,为什么要断开与服务器的TCP?

如果每个人访问网页结束后,服务器不断开与你的连接的话,那么如果同时有100万人访问这个服务器的话,会怎样?

服务器TCP是有最大连接数的,如果不断开占用的话,访问用户过多会导致服务器tcp端口堵塞,无法访问的情况

 








以上是关于浏览器与www服务器连接过程的主要内容,如果未能解决你的问题,请参考以下文章

从输入URL 到页面加载完成的过程

Session与Cookie详解

浏览器从输入到输出的过程与原理四之互联网

Web浏览器与Web服务器之间的通信过程

Http请求和Http响应详细解析

浏览器一个请求过程