HTTP请求方法

HTTP请求方法剖析

HTTP1.1 常用方法

  1. GET
  2. POST
  3. PUT
  4. HEAD
  5. DELETE
  6. OPTIONS
  7. TRACE
  8. CONNECT

GET

GET方法用来请求访问已被URI识别的资源
指定的资源经服务器端解析后返回响应内容

可以提交一些表单数据,作为url的一部分向服务端发送
请求有长度限制,IE只支持2803,Firefox,65536(2的进制),Chrome 8182,Safari 8万
Opera支持最长,到19万
缺点:安全隐患,长度限制

post

post方法与get的功能类似,一般用来传输实体的主体
post方法的主要目的不是获取响应主体的内容
主体也就是请求体
表单提交通常使用post

GET和POST的主要区别

  1. 数据传输 GET放在url,post放在请求体里面
  2. 大小限制 GET有限制(2-4kb, 不同浏览器有区别),post请求没有
  3. 安全 Get请求参数显示在地址栏上,查历史记录可能会被泄密。post一般放在body里
  4. 在Chrome调试窗口,post是formdata, get是param String

以下是不常用的 PUT

与post相似,从客户端向服务器传送的数据取代指定的文档的内容
PUT方法与POST方法最大的不同就是:PUT是幂等的,而post不是幂等的
因此我们更多时候将PUT方法用作传输资源

何为幂等?
幂等是一个数学与编程概念,即执行一次与执行多次对结果没有影响
但是PUT自身不带有验证机制,所以存在安全隐患,所以一般的web网站不使用此方法来传输数据

类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报文头
超链接探测工具多使用head方法

DELETE

请求服务器删除指定的资源,和PUT方法一样,没有验证机制

OPTIONS

用来查询针对请求URI指定的资源支持的方法
可以查询到是不是支持delete等方法

TRACE

回显服务器收到的请求,主要用于测试或者诊断
不常用,容易引发cst攻击(待查询),即跨站追踪攻击
和delete一样,可以看做安全漏洞

Connect

开启一个客户端与所请求资源之间的双向沟通的通道,它可以用来创建隧道

在使用http代理服务器访问互联网时候,就是使用Connect方法(比如返回fb)

posted @ 2022-05-25 13:58  IslandZzzz  阅读(38)  评论(0编辑  收藏  举报