1.GET:获取资源
GET方法用来请求URL指定的资源。指定的资源经服务器端解析后返回响应内容。例子:
请求响应GET /index.html HTTP/1.1 Host: www.hackr.cn返回index.html的页面资源2.POST:传输实体主体
POST方法用来传输实体的主体。
请求响应POST /submit.cgi HTTP/1.1 Host:www.hackr.cn Content-Length:1560返回submit.cgi接收数据的处理结果3.PUT:传输文件
PUT方法用来传输文件。就像FTP协议的文件上传一样,要求在请求报文主体中包含文件的内容,然后保存到请求URL指定的位置。不太常用。
请求响应
POST /index.cgi HTTP/1.1 Host:www.hackr.cn
Content-Length:text/hml Content-Length:1560
响应返回状态码204 No Content(比如:该html已存在从该服务器上)
4.HEAD:获取报文首部
HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URL的有效性及资源更新的日期时间等。
请求响应HEAD /index.html HTTP/1.1 Host:www.hackr.cn返回index.html有关的响应首部5.DELETE:删除文件
DELETE方法用来删除文件,是PUT的相反方法。DELETE方法按请求URL删除指定的资源。也不常用。
请求响应DELETE /example.html HTTP/1.1 Host:www.hackr.cn响应返回状态码204 No Content(比如:该html已从该服务器上删除)6.OPTIONS:询问支持的方法
OPTIONS方法用来查询针对请求URL指定的资源支持的方法。
请求响应OPTIONS * HTTP/1.1 Host:www.hackr.cnHTTP/1.1 200 OK Allow:GET,POST,HEAD,OPTIONS7.TRACE:追踪路径
TRACE方法是让Web服务器端将之前的请求通信环回给客户端方法。客户端可以用TRACE方法查询发送出去的请求时怎样被加工修改的。不常用,还容易引发XST攻击
请求响应TRACE / HTTP/1.1 Host:hackr.cn Max-Forwards:2HTTP:/1.1 200 OK Content-Type:message/http Content-Length:1024 TRACE / HTTP/1.1 Host:hackr.cn Max-Forwards:28.CONNECT:要求用隧道协议链接代理
CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TSL协议把通信内容加密后经网络隧道传输。
请求响应CONNECT proxy.hackr.cn:8080 HTTP/1.1 Host:proxy.hacky.cnHTTP/1.1 200 OK(之后进入网络隧道)
总结下HTTP1.1和HTTP1.0支持的方法
方法说明支持的HTTP协议版本GET获取资源1.0、1.1POST传输实体主体1.0、1.1PUT传输文件1.0、1.1HEAD获得报文首部1.0、1.1DELETE删除文件1.0、1.1OPTIONS询问支持的方法1.1TRACE追踪路径1.1CONNECT要求用隧道协议连接代理1.1LINK建立和资源之间的联系1.0UNLINK断开连接关系1.0
LINK和UNLINK已被HTTP/1.1废弃。
本篇只展示一些常用的方法,关于其他一些扩展方法,不再做展示。