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)

相关推荐

  • HyperLedger Fabric 2.0-release如何测试网络部署

    技术HyperLedger Fabric 2.0-release如何测试网络部署这篇文章主要介绍HyperLedger Fabric 2.0-release如何测试网络部署,文中介绍的非常详细,具有一定的参考价值,感兴趣

    攻略 2021年12月11日
  • 周记可以写什么,《周记》有哪些题材可写

    技术周记可以写什么,《周记》有哪些题材可写可以写关于一笔电影的观后感,不要太过重去描绘故事情节,要重写自己的感觉和看方法,很多道理都可从电影中发掘出来的周记可以写什么。可以写跟你家人的情感问题,如果吵架的话可以从另一个角

    生活 2021年10月25日
  • 怎么用Python爬取淘宝上的粽子数据并进行分析

    技术怎么用Python爬取淘宝上的粽子数据并进行分析这篇文章将为大家详细讲解有关怎么用Python爬取淘宝上的粽子数据并进行分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了

    攻略 2021年10月26日
  • 令字加偏旁,“令”加什么偏旁变成新字

    技术令字加偏旁,“令”加什么偏旁变成新字令字可以加令字加偏旁: 冫偏旁,组词新字是:冷。令字可以加: 山偏旁,组词新字是:岭。令字可以加: 王偏旁,组词新字是:玲。令字可以加:亻偏旁,组词新字是:伶。冷拼音:lěng

    生活 2021年10月28日
  • 自学JavaSE(四)--Java基础

    技术自学JavaSE(四)--Java基础 自学JavaSE(四)--Java基础1.Scanner对象Java提供的工具类,我们可以获取用户输入。java.util.Scanner是Java5的特性基

    礼包 2021年12月22日
  • Python 3.1核心语言的变化是怎么样的

    技术Python 3.1核心语言的变化是怎么样的Python 3.1核心语言的变化是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。这里我们将对Pyt

    攻略 2021年11月2日