HTTP(HyperText Transfer Protocol), 超文本传输协议,是建立但不限于在TCP(Transmission Control Protocol )传输控制协议之上的应用层协议。
HTTP的特点:
1、无状态:是无状态协议,意味着无事务处理能力
2、无连接:每次只能处理一个请求
3、简单快速:请求只需传送路径与方法,协议简单
4、灵活:传输数据类型丰富,根据Content-type定义
5、支持服务器/客户端模式:
HTTP请求方法:
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
HTTP请求格式:
包含三部分:请求头、消息报头、请求体
请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF
其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)
HTTP响应:
常见状态代码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
eg:HTTP/1.1 200 OK (CRLF)
请求与返回示例:
参考文章:http://blog.csdn.net/gueter/article/details/1524447