HTTP请求
组成
一个http请求通常由三个部分组成:
- 请求行(request line)
- 首部(header)
- 主体(body)
格式如下所示
<request-line><CR><LF>
<headers><CR><LF>
<CR><LF> //报头部分已结束,下面是主体部分
[<request-body>]
要注意的是在headers与body之间有一个空行
请求方法
- GET 请求获取Request-URI所标识的资源
- POST 在Request-URI所标识的资源后附加新的数据
- HEAD 请求获取由Request-URI所标识的资源的响应消息报头
- PUT 请求服务器存储一个资源,并用Request-URI作为其标识
- DELETE 请求服务器删除Request-URI所标识的资源
- TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
- CONNECT 保留将来使用
- OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
这里只对最常见的GET和POST作介绍:
GET
GET用于信息获取,而且应该是安全的和幂等的。
特点
- GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+。对于中文和特殊字符,则转换为%(其十六进制的ASCII码)。
- GET方式提交的数据最多只能是1024字节
POST
POST表示可能修改变服务器上的资源的请求。
特点
- POST把提交的数据则放置在HTTP包的包体中,即上文的
<request body>
处 - POST方式提交的数据理论上没有限制
参考:
http://blog.csdn.net/kfanning/article/details/6062118/
http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html