常用方法
GET
用于请求服务器发送某个资源。GET 请求不应该对服务器上的资源做出任何更改,并且应该是幂等的(即多次重复的请求应该产生相同的结果)。例如,当你在浏览器中输入 URL 地址时,浏览器会发送一个 GET 请求来获取该 URL 对应的网页。并在url中显示用户输入的内容。简单来说get请求方法通常用于向服务端请求数据,但并不绝对
POST
用于向服务器提交数据,通常用于提交表单或上传文件。POST 请求可能会导致服务器上的状态更改,并且不一定是幂等的。例如,在提交注册表单时,浏览器通常会发送一个 POST 请求,将用户提供的信息发送到服务器进行处理。简单来说post一般向服务器发送数据;但与get请求一样并不绝对。get请求与post请求最本质的区别是get方法为明文传输,post则为密文传输并且不限长度。
其他方法
HEAD
与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。
PUT
向指定资源位置上传其最新内容,主要用于上传文件、更新整体数据。
CONNECT
用于建立到服务器上指定端口的隧道,通常用于代理服务器。
PATH
用于向服务器上传资源,通常用于更新已存在的资源或创建新的资源。PUT 请求应该是幂等的,即多次执行相同的 PUT 请求应该产生相同的结果。
不安全的请求方法
DELETE
利用DELETE方法可以剧除服务器上特定的资源文件,造成恶意攻击:
OPTIONS
可以使用options方法来探测该网站支持的方法以及服务器相关信息,但会造成服务器信息暴露,如中问件版本、支持的HTTP方法等。
TRACE
回显服务器收到的请求,常用于测试或诊断,但因为会回显服务器收到的请求,主要用于测试或诊断,一般都存在反射型跨站漏润