- GET:获取资源
GET方法用来请求访问已被URI识别的资源。指定的资源经服务器端解析后返回响应内容。也就是说,如果请求的资源是文本,那就保持原样返回;如果是像CGI(Common Gateway Interface, 通用网关接口),则返回经过执行后的输出结果。
Client: 我想访问你的某个资源啊
- PSIT:传输实体主体
虽然用GET方法也可以传输实体的主体,但一般不用GET方法进行传输,而是用POST方法。虽说POST的功能与GET很相似,但POST的主要目的并不是获取响应的主体内容。
Client: 我要把这条信息告诉你!
- PUT:传输文件
PUT方法用来传输文件,要求在请求报文的主体中包含文件内容,然后保存在请求URI指定的位置。
但是,鉴于HTTP/1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,因此一般的Web网站不使用该方法。
Client: 我要把这份文件传给你!
- HEAD:获取报文首部
HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。
Client: 把那个的相关信息告诉我!
- DELETE:删除文件
DELETE方法用来删除文件,是与PUT相反的方法。DELETE方法按请求URI删除指定的资源。
但是,HTTP/1.1的DELETE方法本身和PUT方法一样不带验证机制,所以一般的Web网站也不适用DELETE方法。
Client: 快把那份文件删掉吧~
- OPTION:询问支持的文件
OPTION文件用来查询针对请求URI指定的资源支持的方法。
Client: 你支持那些方法?
Server: 支持GET和HEAD方法
- TRACE:追踪路径
TRACE方法是让Web服务器端将之前的请求通信环回给客户端的方法。
发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端就将该数字减1,当数值刚好减到0时,就停止继续传输,最后接收到请求的服务器端则返回状态码200 OK的响应。
客户端通过TRACE方法可以查询发送出去的请求是怎样被加工修改/篡改的。这是因为请求想要连接源目标服务器可能会通过代理中转。但是TRACE方法本来就不怎么常用,再加上它容易引发XST(Cross-Site Tracing, 跨站追踪),通常就更不会用到了。
Client: 之后将会发生些什么呢?
Server: 我收到的是这样的请求
- CONNECT:要求用隧道协议连接代理
CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(Secure Sockets Layer, 安全套接层)和TLS(Transport Layer Security, 传输层安全)协议把通信内容加密后经网络隧道传输。
CONNECT方法的格式如下所示:CONNECT 代理服务器名:端口号 HTTP版本
Client: 让我通过一下吧
(最近更新:2019年09月18日)
本文详细介绍了HTTP协议中的各种方法,包括GET、POST、PUT、HEAD、DELETE、OPTION、TRACE、CONNECT,解释了它们的用途和应用场景,以及在实际操作中需要注意的安全问题。
216

被折叠的 条评论
为什么被折叠?



