告知服务器意图的HTTP方法

告知服务器意图的HTTP方法

推荐 上野宣的《图解http》

GET获取资源

GET方式用于请求访问已经被URI识别的资源。制定资源经过服务端解析后返回响应内容。也就是说,如果请求的资源是文本,那就保持原样返回;如果是CGI(Common Gateway Interface,通用网关接口)那样的程序,则返回经过执行后的数据。

下面是用Get方式请求和响应的例子。

POST传输实体主体

虽然Get方式也能传输实体的主体,但一般不用Get方式传输。Post的主要目的不是获取响应的主体内容。

Post方法的请求和响应的例子。

PUT传输文件

PUT方式用于传输文件,要求在请求报文主体包含文件内容,然后保存到请求URI指定的位置。

但是,鉴于HTTP/1.1的PUT方式自身不带验证机制,存在安全问题,所以一般的web网站不使用该方法。如果配合web应用程序的验证机制,或者架构采用REST(REpresentational State Transfer,表征状态转移)标准的同类型网站,就可能开放使用PUT方法。

使用PUT方式的请求和响应的例子。

HEAD获得报文首部

HEAD方式和GET方式一样,只是不返回报文主体部分。用于确认URI的有效性以及资源更新的日期时间等。

使用HEAD方式的请求和响应的例子。

DELETE删除文件

与PUT相反的操作,同样的因为安全问题,一般的web网站也不使用DELETE方法

使用DELETE方法的请求和响应例子。

OPTIONS询问支持的方法

OPTIONS方法用来查询针对请求URI指定的资源支持的方法。

使用OPTIONS方法的请求和响应的例子。

TRACE追踪路径

TRACE方法是让web服务器将之前的请求通信环返回客户端的方法。

在发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器就将该数字减去1,当数值刚好为0时,就停止继续传输,最后接收到请求的服务器返回200 OK的响应。

客户端通过TRACE方法可以查询发出去的请求是怎么样被加工修改或者篡改的。TRACE方法就是用来确认连接过程中发生的一系列操作。但是TRACE方式容易引发XST(Cross-Site Tracing,跨站追踪)攻击,因此通常不会用到。

使用TRACE方法的请求和响应的例子。

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

CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(Secure Sockets Layer, 安全套接层)和TLS(Transport Layer Security,传输层安全)协议把通信内容进行加密后经过网络隧道传输。

CONNECT方法的格式如下所示:

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

使用CONNECT方法的请求和响应的例子。

------本页内容已结束,喜欢请分享------

文章作者
能不能吃完饭再说
隐私政策
PrivacyPolicy
用户协议
UseGenerator
许可协议
NC-SA 4.0


© 版权声明
THE END
喜欢就支持一下吧
点赞21赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片