ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HTTP请求类型详解

2021-05-19 10:04:07  阅读:618  来源: 互联网

标签:HTTP 请求 TRACE URL 详解 服务器 方法


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直接去连接的,所以不适合在网页开发中使用。

标签:HTTP,请求,TRACE,URL,详解,服务器,方法
来源: https://blog.csdn.net/weixin_42277815/article/details/117016594

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有