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)

相关推荐

  • 幂的乘方50道计算题,初一解方程计算题有过程答案

    技术幂的乘方50道计算题,初一解方程计算题有过程答案1。某中学修整草场,如果让初一学生单独工作,需要7。5小时完成;如果让初二学生单独做,需要5小时完成。如果让初一幂的乘方50道计算题、初二学生一起工作1小时,再由初二学

    生活 2021年10月22日
  • 把世故圆滑的人喻为什么,把足谋多智的人喻为什么

    技术把世故圆滑的人喻为什么,把足谋多智的人喻为什么7月31日 11:45 把混混噩噩的人喻为(糊涂虫)把世故圆滑的人喻为什么,把世故圆滑的人喻为(老油条),有专业知识的外行人为(门外汉 ),把技艺不精,勉强凑合的人喻为(

    生活 2021年10月29日
  • 刷抖音播放量,抖音在线刷播放量网址?

    技术刷抖音播放量,抖音在线刷播放量网址?抖音快车这个引流渠道目前是见效快的办法,目前抖音HOT热门位子很火,流量相比位的三分之一获取得到,所以各大商家纷纷竞争目前HOT位子是根据点击率+ROI进行评估的。做引流先做快车,

    测评 2021年10月26日
  • 11g RAC和增加日志组大小和数量

    技术11g RAC和增加日志组大小和数量这篇文章给大家介绍11g RAC和增加日志组大小和数量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。备库关闭日志应用:SQL> select status f

    攻略 2021年11月29日
  • Python中如何实现Flask请求数据获取响应

    技术Python中如何实现Flask请求数据获取响应这篇文章给大家分享的是有关Python中如何实现Flask请求数据获取响应的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一,请求数据及其获取

    攻略 2021年10月31日
  • C++11有作用域的enum举例分析

    技术C++11有作用域的enum举例分析本篇内容介绍了“C++11有作用域的enum举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年11月25日