GET 和 POST 的区别

本文详细介绍了HTTP协议中GET和POST的区别,包括参数位置、长度限制和安全性。GET主要用于获取数据,POST则用于提交数据,可能导致服务器状态变化。GET请求在URL中显示参数,而POST则在请求体中传递,GET请求对URL长度有限制,POST无限制,并且GET在浏览器回退时会重新提交,POST不会。此外,POST相对GET更安全,但两者在网络传输上都存在不安全性,需借助HTTPS确保安全。
摘要由CSDN通过智能技术生成

一、是什么

GET 和 POST ,两者是 HTTP 协议中发送请求的方法。

GET

GET 方法请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据。

POST

POST 方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用 本质上都是 TCP 链接,并无差别 但是由于 HTTP 的规定和浏览器/服务器的限制,导致他们在应用过程中会体现出一些区别。

二、区别

1、GET在浏览器回退时是无害的,而POST会再次提交请求。

2、GET产生的URL地址可以被Bookmark,而POST不可以。

3、GET请求会被浏览器主动cache,而POST不会,除非手动设置。

4、GET请求只能进行url编码,而POST支持多种编码方式。

5、、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

6、GET请求在URL中传送的参数是有长度限制的,而POST没有。

7、对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

8、GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

9、GET参数通过URL传递,POST放在Request body中

参数位置

貌似从上面看到 GET 与 POST 请求区别非常大,但两者实质并没有区别 无论 GET 还是 POST ,用的都是同一个传输层协议,所以在传输上没有区别 当不携带参数的时候,两者最大的区别为第一行方法名不同

POST /uri HTTP/1.1 \r\n

GET /uri HTTP/1.1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值