图解HTTP:HTTP方法

本文详细介绍了HTTP协议中的各种方法,包括GET、POST、PUT、HEAD、DELETE、OPTION、TRACE、CONNECT,解释了它们的用途和应用场景,以及在实际操作中需要注意的安全问题。
  • 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日)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值