面对面试官的问题,准确回答GET和POST的区别

本文详细探讨了HTTP中GET和POST方法的区别,包括标准答案与具体实现细节。GET产生一个TCP数据包,而POST可能产生两个。虽然GET参数在地址栏可见,但HTTP协议本身并不提供安全性,HTTPS才是安全传输的关键。此外,浏览器和服务器可能对URL长度有限制。POST方法的header和body是否分开发送取决于实现,非HTTP协议强制要求。
摘要由CSDN通过智能技术生成

1. 前言

最近了解了一些同学的求职问题,发现无论什么技术岗位,还是会问到 get 和 post 的区别?

2. 标准答案

点开此处更清晰[在这里插入图片描述](https://img-blog.csdnimg.cn/20200823153133414.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ4MjAwOTEy,size_16,color_FFFFFF,t_70#pic_center)
注意,并不是说标准答案有误,上述区别在大部分浏览器上是存在的,因为这些浏览器实现了 HTTP 标准。

所以从标准上来看,GET 和 POST 的区别如下:

GET 用于获取信息,是无副作用的,是幂等的,且可缓存
POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存

3.具体答案

**GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而P
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值