HTTP协议:HTTP请求消息/请求方法、HTTP响应消息/响应状态代码
2013-09-04 10:51
218 查看
一、HTTP协议介绍
1.1 HTTP协议是一种无状态协议
同一客户端的这次请求和上次请求没有对应关系。
1.2 HTTP协议在TCP/IP协议栈中的位置
HTTP承载于TCP协议之上。 端口:80
HTTPS承载于TLS/SSL协议之上。 端口:443
1.3 HTTP的请求响应模型
HTTP永远是客户端发起请求,服务器响应。
无法实现客户端没发起请求的时候,服务器将消息推送给客户端。
二、HTTP请求消息
2.1 请求消息格式
请求行
通用信息头|请求头|实体头
CRLF(回车换行)
实体内容
例:
POST /client_security_conf HTTP/1.1
Host: sconf.f.360.cn
Accept: */*
Connection: Keep-Alive
Cache-Control: no-cache
Content-Length: 185
Content-Type: application/x-www-form-urlencoded
[CRLF]
2.2 请求行格式
方法 请求URI 版本号 [回车换行]
例: POST /client_security_conf HTTP/1.1\r\n
2.3 HTTP请求方法
GET -- 请求获取Request-URI所标识的资源。
POST -- 在Request-URI所标识的资源后附加新的数据。
HEAD -- 请求获取由Request-URI所标识的资源的响应消息报头。
PUT -- 请求服务器存储一个资源,并用Request-URI作为其标识。
DELETE -- 请求服务器删除Request-URI所标识的资源。
OPTIONS -- 请求查询服务器的性能,或查询与资源相关的选项和需求。
TRACE -- 请求服务器回送收到的请求信息,主要用于测试或诊断。
CONNECT -- 保留将来使用。
三、HTTP响应消息
3.1 响应消息格式
状态行
通用消息头|响应头|实体头
CRLF(回车换行)
实体内容
例:
HTTP/1.1 200 OK
Server: nginx/0.6.39
Date: wed, 04 Sep 2013 02:25:05 GMT
Content-Type: text/plain
Content-Length: 118
Connection: close
Vary: Accept-Encoding
[CRLF]
3.2 状态行格式
版本号 状态码 原因 [回车换行]
例:HTTP/1.1 200 OK\r\n
3.3 HTTP状态响应代码
1XX:指示信息 -- 表示请求已经接收,继续处理。
2XX:成功 -- 表示请求已经被成功接收、理解、接受。
3XX:重定向 -- 要完成请求必须进行更进一步的操作。
4XX:客户端错误 -- 请求有语法错误或请求无法实现。
5XX:服务端错误 -- 服务器未能实现合法的请求。
参考资料:
1. 深入理解HTML协议:http://blog.csdn.net/trandy/article/details/6793395
2. HTTP协议详解:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
1.1 HTTP协议是一种无状态协议
同一客户端的这次请求和上次请求没有对应关系。
1.2 HTTP协议在TCP/IP协议栈中的位置
HTTP承载于TCP协议之上。 端口:80
HTTPS承载于TLS/SSL协议之上。 端口:443
1.3 HTTP的请求响应模型
HTTP永远是客户端发起请求,服务器响应。
无法实现客户端没发起请求的时候,服务器将消息推送给客户端。
二、HTTP请求消息
2.1 请求消息格式
请求行
通用信息头|请求头|实体头
CRLF(回车换行)
实体内容
例:
POST /client_security_conf HTTP/1.1
Host: sconf.f.360.cn
Accept: */*
Connection: Keep-Alive
Cache-Control: no-cache
Content-Length: 185
Content-Type: application/x-www-form-urlencoded
[CRLF]
2.2 请求行格式
方法 请求URI 版本号 [回车换行]
例: POST /client_security_conf HTTP/1.1\r\n
2.3 HTTP请求方法
GET -- 请求获取Request-URI所标识的资源。
POST -- 在Request-URI所标识的资源后附加新的数据。
HEAD -- 请求获取由Request-URI所标识的资源的响应消息报头。
PUT -- 请求服务器存储一个资源,并用Request-URI作为其标识。
DELETE -- 请求服务器删除Request-URI所标识的资源。
OPTIONS -- 请求查询服务器的性能,或查询与资源相关的选项和需求。
TRACE -- 请求服务器回送收到的请求信息,主要用于测试或诊断。
CONNECT -- 保留将来使用。
三、HTTP响应消息
3.1 响应消息格式
状态行
通用消息头|响应头|实体头
CRLF(回车换行)
实体内容
例:
HTTP/1.1 200 OK
Server: nginx/0.6.39
Date: wed, 04 Sep 2013 02:25:05 GMT
Content-Type: text/plain
Content-Length: 118
Connection: close
Vary: Accept-Encoding
[CRLF]
3.2 状态行格式
版本号 状态码 原因 [回车换行]
例:HTTP/1.1 200 OK\r\n
3.3 HTTP状态响应代码
1XX:指示信息 -- 表示请求已经接收,继续处理。
2XX:成功 -- 表示请求已经被成功接收、理解、接受。
3XX:重定向 -- 要完成请求必须进行更进一步的操作。
4XX:客户端错误 -- 请求有语法错误或请求无法实现。
5XX:服务端错误 -- 服务器未能实现合法的请求。
参考资料:
1. 深入理解HTML协议:http://blog.csdn.net/trandy/article/details/6793395
2. HTTP协议详解:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
相关文章推荐
- HTTP 笔记与总结(2 )HTTP 协议的(请求行的)请求方法 及 (响应行的)状态码
- HTTP协议中request报文请求方法和状态响应码
- 掌握 Ajax,第 3 部分: Ajax 中的高级请求和响应 全面理解 HTTP 的状态代码、就绪状态和 XMLHttpRequest 对象
- HTTP请求响应报文&&相关状态码&&GET_POST请求方法
- java实现:http协议get和post方法的url参数请求响应及交互
- HTTP协议中常见请求方法以及一些常见错误代码
- http协议请求行,状态行,响应状态行
- HTTP协议响应消息的常用状态码
- TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
- HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- HTTP协议下Android web应用GET和POST请求方法的请求、响应、传参
- HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结
- 学习笔记---Http协议的请求消息和响应消息
- HTTP协议扫盲(二)HTTP协议的请求方法、请求头和响应头
- HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- HTTP消息及响应消息的状态代码分类、含义
- TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
- http协议6---响应信息头案例一(请求重定向(相当于超链接跳转页面))
- C# HttpWebResponse请求状态代码标识