TCP/IP
为了理解HTTP,首先得了解一下TCP/IP协议族。
TCP/IP的分层管理
TCP/IP协议族将内部的协议按功能分成了几个层次。
其中包括:应用层,传输层,网络层和数据链路层。
应用层
应用层决定了向用户提供服务时通信的活动。
HTTP协议就属于该层。
除此之外还有FTP和DNS协议。
传输层
传输层决定处在网络连接中的两台计算机之间的数据传输。
传输层协议有TCP和UDP协议。
网络层
网络层用来处理在网络上流动的数据包。数据包是网络传输最小的数据单位。
该层规定了通过怎样的路径到达对方的计算机,并把数据包传送给对方。
这时候用到的主要是IP协议。
链路层
用来处理网络硬件部分。
各种协议之间的关系
HTTP协议
HTTP是一种无状态协议,它遵循请求/应答模型。
从Web浏览器和Web服务器角度,一次完整的HTTP通信包含下列七个步骤。
1. 建立TCP链接
2. web浏览器向Web服务器发送请求命令。
3. Web浏览器发送请求头信息
4. Web服务器应答
5. Web服务器发送应答头信息
6. Web服务器想浏览器发送数据
7. Web服务器关闭TCP连接
HTTP请求与应答
请求
HTTP请求信息由3部分组成
|请求方法 URI 协议版本
|请求头(Request Header)
|请求正文
exmaple
GET /sample.jsp HTTP/1.1
Accept:image/gif.image/jpeg,/
Accept-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
应答
HTTP应答信息由3部分组成
|协议版本 状态码
|响应头(Response Header)
|响应正文
exmaple
HTTP/1.1 200 OK
Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:23:42 GMT
Content-Length:112
<html>
<head>
<title>HTTP响应示例<title>
</head>
<body>
Hello HTTP!
</body>
</html>