【图解HTTP】(四)HTTP请求方法有哪些?各自的功能是什么?

一、请求报文的组成

HTTP请求报文由请求方法请求URI协议版本可选的首部字段内容实体构成,如下图。
在这里插入图片描述
其中,请求方法用于告知服务器该请求的意图,下面介绍HTTP/1.1中可以使用的方法。

二、各种请求方法

1. GET:获取资源

GET方法用来请求访问服务器上的资源,该资源由请求URI指定。
指定的资源经过服务器解析之后返回响应内容。返回的资源可以是文本、图片或者是程序的执行结果等。下面是2个GET请求与响应的例子。
在这里插入图片描述
在这里插入图片描述
第二个例子中的首部字段if-Modified-Since与http浏览器缓存策略有关,后面可以再写文章讲讲。

2、POST:传输实体主体

POST方法一般用来传输实体主体,所谓的实体就是要传输的有效载荷数据,它包括实体首部和实体主体。通常报文主体等于实体主体。
其实GET方法也可以传输实体的主体,但是我们一般不用GET方法进行传输,而是使用POST。
下面是一个例子:
在这里插入图片描述

3、PUT:传输文件

PUT方法用于上传文件,需要在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。由于该方法自身不带验证机制,因此任何人都可以上传文件,存在安全性问题,所以一般不使用该方法。
下面是一个例子:
在这里插入图片描述

4、HEAD:获得报文首部

HEAD方法和GET方法的区别只是HEAD方法不返回报文主体部分,它用于获取与指定URI有关的首部信息。如资源的有效性和更新的日期时间等。
在这里插入图片描述
下面是一个例子:
在这里插入图片描述

5、DELETE:删除文件

DELETE方法和PUT方法相反,它用于删除请求URI指定的资源。但是HTTP/1.1的DELETE方法和PUT方法一样,本身不带验证机制,所以一般的WEB网站也不会使用该方法,否则容易引起安全性问题。
在这里插入图片描述
下面是一个例子:
在这里插入图片描述

6、OPTIONS:询问支持的方法

OPTIONS方法用来查询针对请求URI指定的资源支持的方法。
在这里插入图片描述
在这里插入图片描述

7、TRACE:追踪路径

TRACE方法是让Web服务器将之前的请求通信环回(loop-back)给客户端的方法。该方法为客户端提供了一种debug机制,客户端通过该方法可以查询发送出去的请求是怎样被加工修改/篡改的。
发送请求时在首部字段Max-Forwards填入数值,没经过一个服务器该数值减1,当数值减到0时就停止传输,由最后接收到请求的服务器返回状态码200 Ok的响应。
该方法容易引发XST(跨站追踪攻击),通常也不会使用。
在这里插入图片描述
下面是一个例子:
在这里插入图片描述

8、CONNECT:要求用隧道协议连接代理

CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。
CONNECT 方法可以开启一个客户端与所请求资源之间的双向沟通的通道。它可以用来创建隧道(tunnel)。
CONNECT 可以用来访问采用了 SSL (en-US) (HTTPS) 协议的站点。客户端要求代理服务器将 TCP 连接作为通往目的主机隧道。之后该服务器会代替客户端与目的主机建立连接。连接建立好之后,代理服务器会面向客户端发送或接收 TCP 消息流。
CONNECT方法的格式如下:

CONNECT 代理服务器名:端口号 HTTP版本

在这里插入图片描述
在这里插入图片描述

三、HTTP/1.0和HTTP/1.1支持的方法

在这里插入图片描述
其中,LINK和UNLINK已被HTTP/1.1废弃,不再支持。

注:文章图片来源于《图解HTTP》

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端corner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值