首页 > 代码库 > tcp三次握手和HTTP请求格式

tcp三次握手和HTTP请求格式

采用三次握手连接

第一次握手:主机A发送位码为syn1,随机产生seq number=1234567的数据包到服务器,主机BSYN=1知道,A要求建立联机;

第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机Aseq+1),syn=1,ack=1,随机产生seq=7654321的包

第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机Bseq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。

HTTP请求的格式如下所示:

<request-line>
<headers>
<blank line>
[<request-body>]

 

POST /sample.jsp HTTP/1.1 (请求行)

Accept:image/gif.image/jpeg,*/*

spacer.gifAccept-Language:zh-cn

Connection:Keep-Alive

Host:localhost                                                    (消息报头)

User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)

Accept-Encoding:gzip,deflate

 

username=jinqiao&password=1234 (请求正文)


tcp三次握手和HTTP请求格式