HTTP的方法
来自《图解HTTP》一本书。
基于HTTP/1.1中的使用的方法
GET:获得资源
GET方法用来请求访问已被URI识别的资源,指定的资源经服务器端解析后返回响应内容,
l 如果请求的资源是文本,那就保持原样返回,
l 如果是像CGI(通用网关接口)那样的程序,返回经过执行的结果
POST:传输实体主体
GET也可以用来传输实体的主体(一般不是用它),使用POST,它的主要目的并不是获取响应的主体内容,
举例子:
请求:POST/submit.cgiHTTP/1.1
Host:www.hackr.jp
Content-Length:1560(1560字节数据)
响应:返回submit。cgi接收数据的处理结果。
PUT:传输文件
类似于FTP协议的文件上传,要求在请求报文主体中包含文件内容,保存在请求URI指定的位置。
特点:自身不带验证(任何人都可以上传,存在安全性问题),一般Web不使用该方法,
HEAD:获得报文首部
只是不返回报文主体部分,用于确认URI的有效性及资源更新的日期时间等。
DELETE:删除文件
该方法按请求URI删除指定的资源。且不带验证。
OPTIONS:询问支持的方法(返回服务器支持的方法)
用来查询针对请求URI指定的资源支持的方法。
TRACE:追踪路径
该方法是让Web服务器端将之前的请求通信返回给客户端的方法,但是该方法容易引发XST(跨站追踪)攻击,通常就更不会用到了
CONNECT:要求用隧道协议链接代理
该方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信,主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经网络隧道传输
CONNECT方法的格式如下所示:
CONNECT代理服务器名,端口号HTTP版本,
响应:HTTP/1.1200 OK(之后进入·网络隧道)