get和post请求的区别

GET和POST是HTTP协议中的两种请求方法。GET请求通常用于获取资源,其参数显示在URL上,可能被缓存且不安全;POST请求常用于提交数据,参数在请求体中,更安全且不被浏览器默认缓存。GET是幂等的,而POST不是,POST请求可能会分为两个TCP数据包。此外,GET支持书签和历史记录,POST则不支持。
摘要由CSDN通过智能技术生成

get请求和post请求的区别

无论是POST还是GET请求,都是基于超文本传输协议HTTP)的,而HTTP协议是TCP/IP协议族的应用层协议。

缓存的角度,GET 请求会被浏览器主动缓存下来,留下历史记录,而 POST 默认不会。

编码的角度,GET 只能进行 URL 编码,只能接收 ASCII 字符,而 POST 没有限制。

参数的角度,GET 一般放在 URL 中,因此不安全,POST 放在请求体中,更适合传输敏感信息。

幂等性的角度,GET幂等的,而POST不是。(幂等表示执行相同的操作,结果也是相同的,get发送多次请求,返回的结果都是一样的)

TCP的角度,GET 请求会把请求报文一次性发出去,而 POST 会分为两个 TCP 数据包,首先发 header 部分,如果服务器响应 100(continue), 然后发 body 部分。(火狐浏览器除外,它的 POST 请求只发一个 TCP 包)

get是明文传输,post请求体会加密传输

请求方法

HTTP协议定义了多种请求方式,具体如下:
GET获取资源,用来请求访问已被URI(统一资源标志符,和URL是包含和被包含的关系)识别的资源。
POST:用来传输实体的主体,虽然GET也可以实现,但是一般不用。
PUT传输文件。但是鉴于PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,因此一般网站都不采用该方法。
HEAD:获得报文首部。和GET请求一样,只是不返回报文主体部分。
DELETE删除文件。同样不带验证机制,存在安全性问题。
OPTIONS:询问指定的请求URI支持哪些方法
TRACE:追踪路径,让Web服务器将之前的请求通信环回给客户端的方法。
CONNECT:要求在与代理服务器通信时建立隧道,实现隧道协议进行TCP通信。

POST和GET请求的区别小结

请求参数:GET请求参数是通过URL传递的,多个参数以&连接,POST请求放在request body中。
请求缓存:GET请求会被缓存,而POST请求不会,除非手动设置。
收藏为书签:GET请求支持,POST请求不支持。
安全性:POST比GET安全,GET请求在浏览器回退时是无害的,而POST会再次请求。
历史记录:GET请求参数会被完整保留在浏览历史记录里,而POST中的参数不会被保留。
编码方式:GET请求只能进行url编码,而POST支持多种编码方式。
对参数的数据类型:GET只接受ASCII字符,而POST没有限制。

这里还想补充说明一点,就是通过浏览器地址栏输入URL访问资源的方式都是GET请求。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值