http通信和tcp通信

来源:互联网 发布:gp5吉他谱软件下载 编辑:程序博客网 时间:2024/05/29 17:25

    http通信和tcp通信都包括连接建立的过程

    连接的建立——都是通过申请套接字来建立的(可以这么说,ftp  tcp  http  这三者均是利用socket套接字进行通信的)

    tcp通信,建立了连接(程序上是调用WINSOCKAPI,即通过申请套接字来建立,操作系统内部实际是通过三次握手来实现的),即可直接进行通信了,这里的“直接”,是指客户端可以直接收消息,即无需客户端发出请求,可由服务端直接向客户端传递消息

                 当然,也可以由客户端发送请求消息,服务器应答的方式来通信。而这个过程中,客户请求消息的内容,仅仅包含请求正文,直接发送

 

    http通信,建立了连接(同tcp的建立连接过程),之后,必须由客户端向服务器端发送消息请求,服务器回应了该消息,客户端才可以收到消息。而且,请求消息和应答消息都不仅仅包含请求正文和应答正文,而且,还需要附加各种其他信息,(这是http协议规定的)

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

(1)    建立TCP连接

(2)    客户端向服务器发送请求:

                 请求命令、头信息  

                 后面如果有请求正文,则请求命令、头信息  、空行、请求正文

(3)    服务器发送应答

                应答回应、应答头信息、应答正文

(4)  关闭TCP连接

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

                    Connection:keep-alive

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