GET和POST两种基本请求方法的区别有哪些

技术GET和POST两种基本请求方法的区别有哪些本篇内容主要讲解“GET和POST两种基本请求方法的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GET和POST两

本文主要解释“GET和POST这两种基本请求方法有什么区别”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“GET和POST这两种基本的请求方式有什么区别”!

Getpost是HTTP请求的两种基本方法,任何接触过WEB开发的人都可以对它们的不同之处讲一二。

最直观的区别是GET在URL中包含参数,POST通过请求体传递参数。

你可能自己写过无数个GET和POST请求,或者看到过很多权威网站总结的它们之间的差异。你很清楚什么时候用什么。

面试中被问到这个问题时,内心充满了自信和喜悦。

GET和POST两种基本请求方法的区别有哪些

你轻松地给出了一个“标准答案”:

浏览器回滚时GET是无害的,POST会再次提交请求。

GET生成的网址可以是Bookmark,但不能是POST。

除非手动设置,否则浏览器会主动缓存GET请求,而POST不会。

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

获取请求参数将完全保留在浏览器历史记录中,而开机自检中的参数将不会保留。

在URL中由GET请求发送的参数长度有限,而POST则没有。

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

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

获取参数通过网址传递,发布放在请求正文中。

“可惜,这不是我们想要的答案!”

GET和POST两种基本请求方法的区别有哪些

请告诉我真相。

如果我告诉你GET和POST本质上没有区别,你会相信我吗?

让我们脱下GET和POST的外衣,坦诚相待!

GET和POST两种基本请求方法的区别有哪些

getpost是什么?HTTP协议中发送请求的两种方法。

什么是HTTP?HTTP是一种基于TCP/IP的协议,涉及数据如何在万维网中通信。

HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说GET/POST是TCP链路。而GET POST也可以做到同样的事情。你必须在GET中添加请求体,在POST中添加url参数,这在技术上是完全可行的。

那么,“标准答案”有什么不同呢?

GET和POST两种基本请求方法的区别有哪些

在我的万维网中,TCP就像一辆汽车。我们使用TCP来传输数据。它非常可靠,而且从来不会发生几件丢失的情况。

但是如果所有在路上行驶的汽车看起来完全一样,那么这个世界看起来就像一团乱麻。运送紧急物品的汽车可能会被前面装满货物的汽车挡住,整个运输系统将会瘫痪。为了避免这种情况,流量规则HTTP诞生了。

HTTP为汽车运输设置了几个服务类别,包括GET、POST、PUT、DELETE等。HTTP规定,在执行GET请求时,汽车要标记为GET(将方法设置为GET),传输的数据要放在车顶(在url中),方便记录。

如果是POST请求,需要在车上贴一个POST标签,把货物放在车厢里。当然,你也可以在GET的时候偷偷把一些货物藏在火车里,但这是非常不光彩的;你也可以在开机自检的时候把一些数据放在车顶,让人觉得很傻。

HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

但是,我们只看到HTTP需要GET和POST参数的传输通道(url或requrest body)。《标准答案》中参数大小的限制从何而来?

269.jpg" alt="GET和POST两种基本请求方法的区别有哪些"> 

在我大万维网世界中,还有另一个重要的角色:运输公司。

不同的浏览器(发起http请求)和服务器(接受http请求)就是不同的运输公司。虽然理论上,你可以在车顶上无限的堆货物(url中无限加参数)。

但是运输公司可不傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风险,数据量太大对浏览器和服务器都是很大负担。业

界不成文的规定是,(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大小的url。超过的部分,恕不处理。

如果你用GET服务,在request body偷偷藏了数据,不同服务器的处理方式也是不同的,有些服务器会帮你卸货,读出数据,有些服务器直接忽略,所以,虽然GET可以带request body,也不能保证一定能被接收到哦。

好了,现在你知道,GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

你以为本文就这么结束了?

GET和POST两种基本请求方法的区别有哪些

我们的大BOSS还等着出场呢...

这位BOSS有多神秘?当你试图在网上找“GET和POST的区别”的时候,那些你会看到的搜索结果里,从没有提到他。他究竟是什么呢...

GET和POST还有一个重大区别:

简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包。

长的说:对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。

但这是一个坑!跳入需谨慎。为什么?

1. GET与POST都有自己的语义,不能随便混用。

2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

到此,相信大家对“GET和POST两种基本请求方法的区别有哪些”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/51133.html

(0)

相关推荐

  • Qt中树形控件Tree Widget的使用方法有哪些

    技术Qt中树形控件Tree Widget的使用方法有哪些本篇内容主要讲解“Qt中树形控件Tree Widget的使用方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Q

    攻略 2021年11月30日
  • 英国的标志性建筑,英国标志性建筑物对应的国家

    技术英国的标志性建筑,英国标志性建筑物对应的国家1、大本钟英国的标志性建筑。即伊丽莎白塔。伊丽莎白塔是坐落在英国伦敦泰晤士河畔。2、伦敦桥。修建于1179年-1209年,是英国伦敦泰晤士河上一座几经重建的大桥,也是该河上

    生活 2021年10月30日
  • 第13章 约束

    技术第13章 约束 第13章 约束第13章_约束1. 约束(constraint)概述
    1.1 为什么需要约束
    数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(R

    礼包 2021年11月25日
  • 氧气的化学符号,氧气的化学符号在电脑上怎么打呀

    技术氧气的化学符号,氧气的化学符号在电脑上怎么打呀1氧气的化学符号、要输入上、下标,有两种更快捷的方法:方法一;使用格式刷:在文件中选择已输入好的上标或下标,然后单击“格式刷”图标,光标变成了一个刷子的形状,在需要设置的

    生活 2021年10月25日
  • 如何撤销fixed的效果(头部设置fixed后内容滚动)

    技术如何验证fixed关键字效果本篇文章为大家展示了如何验证fixed关键字效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。之前谈到String连接操作的性能,其中会涉及到un

    攻略 2021年12月19日
  • HBase的目录是什么意思

    技术HBase的目录是什么意思小编给大家分享一下HBase的目录是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!/hbase/.tmp

    攻略 2021年12月8日