HTTP请求类型详解

1.GET请求

最常见的一种请求方式,主要用于向指定的URL(URI)请求资源,请求参数和对应的值附加在URL后面。例如,/index.jsp?id=100&op=bind,。
这种方式不适合传送私密数据。由于不同的浏览器对地址的字符限制也有所不同,一般最多只能识别1024个字符,所以如果需要传送大量数据的时候,也不适合使用GET方式。
GET不会改变资源状态,是等幂的。即:一次请求和多次请求,资源的状态是一样。GET、HEAD、DELETE、PUT也是等幂的。

2.POST请求

主要是向指定的URL(URI)提交数据, 通常用于表单发送。POST方法可以允许客户端给服务器提供信息较多。POST方法将请求参数封装在HTTP请求数据中,可以传输大量数据。而且也不会显示在URL中。POST不会限制发送给服务器的信息的大小,而且POST请求不能保证是幂等的。

3.HEAD请求

HEAD就像GET,只不过服务端接受到HEAD请求后只返回响应头,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的。

4.PUT请求

Http put方法: 功能跟post相似,用来将信息放到请求的URL(URI)上,put方法是幂等方法, post非幂等方法,put在请求时容易造成数据冗余, 而post则不然。

5.DELETE请求

Http delete方法: 用于删除请求URL上的某个资源, 该请求返回状态有3.

  1. 200:表示删除请求被成功执行,返回被删除的资源
  2. 202:表示删除请求被接受,但还没有被执行
  3. 204:表示删除请求被执行,但没有返回被删除的资源
    HTTP提供了一个与PUT方法对应的DELETE方法。一个DELETE请求将需要从Web服务器删除的内容指定为请求行中的资源部分。
    DELETE方法唯一有趣的地方在于当你接收了一个标识为200 OK的响应的时候,那并不意味着指定的资源已经被删除了。那仅仅说明服务器接收到了删除资源的命令。这一例外允许了出于安全考虑的人为的干预。

6.OPTIONS请求

OPTIONS请求方法的主要用途有两个:
1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。
该请求方法的响应不能缓存

7.TRACE请求

TRACE_Method是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。
TRACE和TRACK是用来调试web服务器连接的HTTP方式。支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。
如何关闭Apache的TRACE请求:
虚拟主机用户可以在.htaccess文件中添加如下代码过滤TRACE请求:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

服务器用户在httpd.conf尾部添加如下指令后重启apache即可:
TraceEnable off

8.CONNECT请求

CONNECT这个方法的作用就是把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户。这样用户就可以访问到一些只有服务器上才能访问到的网站了,这就是HTTP代理。所以首先要让服务器监听一个端口来接收CONNECT方法的请求。CONNECT方法是需要使用TCP直接去连接的,所以不适合在网页开发中使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值