神男说:HTTP中GET与POST的区别

先上结论:Get和Post有个JB的区别

Get和Post基本是码农都能将一两个区别,但经验使然我还是要硬刚没有区别。

首先最直观的就是:Post的参数通常在请求体中,记住是通常或者说书本这么说的。
但实际经验上都是混合使用(别杠,可以找找项目看看基本都能找到混合用法)。

一般有过经验的在用Get和Post时潜意识就会帮你选择好,为啥呢因为名字很容易让你明白该选择啥。

说说面试这个问题怎么回答虽然我不知道准确答案。

1、经验角度回答: Get通常是可回退的,而Post通常是会再次提交请求;
Get的Url地址是很容易被截获的,Post稍微有那么一丢丢的难度; Get方法的Url通常是被缓存的,Post通常不会;
GetUrl编码Post不仅限于此; Get参数会存在历史记录,Post通常不会;
如上回答,细品细细品实际上还是没有差别,非要杠那具体说说那个是实质性的错误?比如编码难不成平时还经常用些小众化的编码?再比如难不成记录Post还比Get难的一丢丢还有什么意义。所以啊这么说还不如直接说没区别。
2、书本角度回答:
GetPost是Http请求中的两种请求方法,你问我Http是啥?说实话百度下吧,Http是基于TCP/IP的万维网通信协议,因此Get和Post也是TCP/IP(没人打我吧),Get/Post都是Tcp的链接。技术上Get和Post能力是一样的,能做的事情是一模一样。Get加上请求体和Post带Url参数就没啥问题了。
如果这么回答大概率回复你一句:赶紧滚蛋。 3、经验书本角度回答:
Get一次就完成请求,Post两次。(别扯握手的规则,理解上评定)Get是1次Tcp连接;Post是2次Tcp连接。Get请求直接把数据发送,Post先发送头然后在发送数。这就扯到了浏览器,浏览器约定俗称Url2K字节,再扯服务器大多处理64KUrl。当然不全是.Yahoo团队曾用GET替换POST来优化网站性能(切记这是个坑)。firefox貌似post也是只发一次。

======================

打脸结论:GetPos有区别该用啥用啥。最起码名字不一样这个理由还不够吗?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值