美文网首页
GET 和 POST 请求的区别与安全性

GET 和 POST 请求的区别与安全性

作者: Kit2023 | 来源:发表于2022-07-13 16:34 被阅读0次

超文本传输协议( HTTP )是用于启用客户端与服务器之间的通信,其中 GET 请求和 POST 请求是则是 HTTP 方法中最为常用的两种。那么这 GET 和 POST 的区别到底是什么呢?两者是否安全呢?

从标准上来说,大致区别如下:

  • GET 用于获取信息,可缓存,无副作用,且是幂等的,通过 url 传递参数,且参数 url 可见。
  • POST 用于修改服务器上的数据,不可缓存,有副作用,非幂等,通过 body 体传递参数,且参数 url 不可见。

但从报文上来说, GET 和 POST 都只是 HTTP 协议中两种请求方式,本质上都是 TCP 链接,没有区别,只是报文的格式有所不同。

  • GET 方法请求报文第一行是:

    GET /uri HTTP/1.1 \r\n 
    
  • POST 方法请求报文第一行则是:

    POST /uri HTTP/1.1 \r\n
    

由此可见,不带参数时它们的区别仅是报文的前几个字符不同而已。而在带参数时的报文中,我们约定, GET 方法的参数应放在 url 中, POST 方法参数应放在 body 中。当然,当服务端允许的条件下,不按规范,我们也可以使用 POST 在 url 上写参数,用 GET 方法在 body 上写参数。

那么 POST 方法就比 GET 方法安全吗?按照网上大部分文章的解释,POST 比 GET 安全,因为数据在地址栏上不可见。然而实际上,从传输的角度来说,POST 和 GET 都是不安全的,因为他们在网络上都是明文传输,只要在网络节点上捉包,就能获取完整的数据报文。因此想要安全传输,就需要加密,即 HTTPS 。

所以,对于 GET 和 POST 的区别,总的来说,就是:它们的本质都是 TCP 链接,并无区别。但是由于 HTTP 的规定以及浏览器/服务器的限制,导致它们在应用过程中可能会有所不同。

比如我现在使用的 API 接口测试工具 Eolink ,它支持 HTTP 、 HTTPS 、 WS 、 WSS 等多种常用的协议,它能帮助我完成之前使用过的很多工具都没能覆盖到的多种协议。

除此之外,Eolink 还提供了自动化测试服务、 API 网关、 API 监控、 API 自动生成等服务。感兴趣可以自行使用:www.eolink.com

相关文章

  • iOS Get和Post区别

    GET 和 POST 的区别 HTTP请求方法 GET 所有的参数都拼接在URL后面 (安全性比POST要差,所有...

  • get post 区别,如何用python做接口测试

    get、post是我们常见的接口方式 区别: 安全性:post比get安全 请求参数:get的参数放在url里面(...

  • 零散知识随笔记

    POST和GET的区别 跟POST与GET同级的请求还有PUT和DELETE GET请求的数据会附在URL之后,以...

  • post And get

    post And get post 与 get 请求的区别: 相同点:post和get都属于tcp协议传输。 po...

  • 实现异步请求的方法

    原生ajax写法: 请求方式:get,post,head,delete,get和post的区别 get将请求的参数...

  • form标签、input标签与table标签

    form标签 和 的区别:区别在与a发起的get请求。form发起的是get或post请求(不支持PUT)。get...

  • GET和POST

    GET和POST请求的区别 GET请求 POST请求 提交 GET提交,请求的数据会附在URL之后(就是把数据放置...

  • iOS面试题集锦

    1、 get和post的区别 a.安全性问题:get请求的参数全部暴露在接口中,一般叫做明文请求或者傻瓜式请求,p...

  • URLConnection以post方式提交数据

    post请求跟get请求的区别 一 ☆☆☆☆☆☆☆和get方式提交数据 区别 路径不同 二 ☆☆☆☆☆☆☆和get...

  • 面试题总结(一)

    get和post请求的区别 1、安全性问题 a. get请求的参数全部暴露在接口中或网址中,且参数以明文的形式出现...

网友评论

      本文标题:GET 和 POST 请求的区别与安全性

      本文链接:https://www.haomeiwen.com/subject/qchfirtx.html