网站推广目标是什么,奉贤网页设计,在c盘做网站可以吗,wordpress 删除数据库文件分享一波:程序员赚外快-必看的巅峰干货
看到这个标题#xff0c;想必大部分人都已经想关掉这篇博客了。先别急#xff0c;你真的知道这两个的区别吗#xff1f; 做过WEB开发的朋友可能很熟悉#xff0c;看到这个问题能立马脱口而出二者的区别。
GET在浏览器回退时是无害的…分享一波:程序员赚外快-必看的巅峰干货
看到这个标题想必大部分人都已经想关掉这篇博客了。先别急你真的知道这两个的区别吗 做过WEB开发的朋友可能很熟悉看到这个问题能立马脱口而出二者的区别。
GET在浏览器回退时是无害的而POST会再次提交请求。GET产生的URL地址可以被Bookmark而POST不可以。GET请求会被浏览器主动cache而POST不会除非手动设置。GET请求只能进行url编码而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里而POST中的参数不会被保留。GET请求在URL中传送的参数是有长度限制的而POST么有。对参数的数据类型GET只接受ASCII字符而POST没有限制。GET比POST更不安全因为参数直接暴露在URL上所以不能用来传递敏感信息。GET参数通过URL传递POST放在Request body中。
看起来很标准的答案我相信大部分的人都会这么去回答。那么很遗憾恕我直言你可能对这两种请求方式并不熟悉。
实际上GET和POST请求本质上并无区别
到这里如果小伙伴学习过 ELK 技术栈就明白了Kibana在操作ES时允许GET请求携带请求体。
GET和POST是什么HTTP协议中的两种发送请求的方法。
HTTP是什么HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。
HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP也就是说GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body给POST带上url参数技术上是完全行的通的。
那么“标准答案”里的那些区别是怎么回事
在我大万维网世界中TCP就像汽车我们用TCP来运输数据它很可靠从来不会发生丢件少件的现象。
但是如果路上跑的全是看起来一模一样的汽车那这个世界看起来是一团混乱送急件的汽车可能被前面满载货物的汽车拦堵在路上整个交通系统一定会瘫痪。为了避免这种情况发生交通规则HTTP诞生了。
HTTP给汽车运输设定了好几个服务类别有GET, POST, PUT, DELETE等等HTTP规定当执行GET请求的时候要给汽车贴上GET的标签设置method为GET而且要求把传送的数据放在车顶上url中以方便记录。
如果是POST请求就要在车上贴上POST的标签并把货物放在车厢里。当然你也可以在GET的时候往车厢内偷偷藏点货物但是这是很不光彩也可以在POST的时候在车顶上也放一些数据让人觉得傻乎乎的。
HTTP只是个行为准则而TCP才是GET和POST怎么实现的基本。
但是我们只看到HTTP对GET和POST参数的传送渠道url还是requrest body提出了要求。“标准答案”里关于参数大小的限制又是从哪来的呢
在我大万维网世界中还有另一个重要的角色运输公司。
不同的浏览器发起http请求和服务器接受http请求就是不同的运输公司。虽然理论上你可以在车顶上无限的堆货物url中无限加参数。
但是运输公司可不傻装货和卸货也是有很大成本的他们会限制单次运输量来控制风险数据量太大对浏览器和服务器都是很大负担。业 界不成文的规定是大多数浏览器通常都会限制url长度在2K个字节而大多数服务器最多处理64K大小的url。超过的部分恕不处理。
如果你用GET服务在request body偷偷藏了数据不同服务器的处理方式也是不同的有些服务器会帮你卸货读出数据有些服务器直接忽略所以虽然GET可以带request body也不能保证一定能被接收到哦。
好了现在你知道GET和POST本质上就是TCP链接并无差别。但是由于HTTP的规定和浏览器/服务器的限制导致他们在应用过程中体现出一些不同。 *************************************优雅的分割线 **********************************
分享一波:程序员赚外快-必看的巅峰干货
如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程
请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更新