的人领悟错,的人都晓得错了HTTP中GET与POST的分别

99%的人都知情错了HTTP中GET与POST的分别

2016/09/23 · 基础技术 ·
的人领悟错,的人都晓得错了HTTP中GET与POST的分别。11 评论 ·
GET,
HTTP,
POST

初稿出处:
WebTechGarden   

GET和POST是HTTP请求的二种基本措施,要说它们的界别,接触过WEB开发的人都能揭露一二。

最直观的分别正是GET把参数包涵在U奥迪Q7L中,POST通过request body传递参数。

你恐怕自个儿写过众八个GET和POST请求,只怕已经看过不少独尊网站计算出的他俩的分别,你卓殊了然明了如何时候该用什么。

当你在面试中被问到这一个标题,你的心头充满了自信和欢娱。

亚洲必赢官网 1

您轻松的付出了1个“标准答案”:

  • GET在浏览器回退时是无毒的,而POST会再一次提交请求。
  • GET发生的UKugaL地址可以被Bookmark,而POST不得以。
  • GET请求会被浏览器主动cache,而POST不会,除非手动设置。
  • GET请求只可以进展url编码,而POST支持各类编码格局。
  • GET请求参数会被完好保存在浏览器历史记录里,而POST中的参数不会被封存。
  • GET请求在URubiconL中传送的参数是有长度限制的,而POST么有。
  • 亚洲必赢官网 ,对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
  • GET比POST更不安全,因为参数直接暴光在UHavalL上,所以无法用来传递敏感音信。
  • GET参数通过UXC90L传递,POST放在Request body中。

(本标准答案参考自w3schools)

“很不满,那不是我们要的答疑!”

亚洲必赢官网 2

请告知笔者本色。。。

一经自己报告您GET和POST本质上从不分别你信吗?
让大家扒下GET和POST的外衣,真诚相见吧!

亚洲必赢官网 3

GET和POST是什么?HTTP协议中的二种发送请求的法门。

HTTP是什么样?HTTP是依据TCP/IP的关于数据怎么样在万维网中哪些通讯的磋商。

HTTP的底层是TCP/IP。所以GET和POST的最底层也是TCP/IP,也正是说,GET/POST都以TCP链接。GET和POST能做的事务是平等同等的。你要给GET加上request
body,给POST带上url参数,技术上是完全行的通的。

那么,“标准答案”里的那些差别是怎么回事?

亚洲必赢官网 4

在笔者大万维网世界中,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)提议了要求。“标准答案”里有关参数大小的限制又是从哪来的呢?

亚洲必赢官网 5

在笔者大万维网世界中,还有另3个重视的剧中人物:运输集团。差异的浏览器(发起http请求)和服务器(接受http请求)便是例外的运输集团。
固然理论上,你能够在车顶上极其的堆货物(url中非凡加参数)。不过运输集团可不傻,装货和卸货也是有非常的大基金的,他们会限制单次运输量来决定危机,数据量太大对浏览器和服务器都以相当的大负担。产业界不成文的明确是,(超越1/2)浏览器日常都会限制url长度在2K个字节,而(当先三分之一)服务器最多处理64K分寸的url。当先的有个别,恕不处理。假使你用GET服务,在request
body偷偷藏了数据,差异服务器的处理方式也是例外的,有些服务器会帮你卸货,读出多少,有些服务器直接忽略,所以,就算GET能够带request
body,也无法担保一定能被接到到哦。

好了,未来您知道,GET和POST本质上就是TCP链接,并无差距。不过出于HTTP的分明和浏览器/服务器的界定,导致他们在利用进度中反映出一些不等。

你认为本文就那样截至了?

亚洲必赢官网 6

我们的大BOSS还等着出台呢。。。

那位BOSS有多神秘?当你打算在网上找“GET和POST的界别”的时候,那多少个你晤面到的查找结果里,从不曾提到他。他到底是什么样吧。。。

GET和POST还有叁个主要差别,简单的说:

GET产生1个TCP数据包;POST爆发多个TCP数据包。

长的说:

对于GET方式的哀告,浏览器会把http
header和data一并发送出去,服务器响应200(再次回到数据);

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

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

因为POST需求两步,时间上海消防耗的要多或多或少,看起来GET比POST更实惠。因而Yahoo团队有推荐用GET替换POST来优化网站品质。但那是3个坑!跳入需谨慎。为何?

  1. GET与POST都有友好的语义,不能够随便混用。

2.
据研商,在互连网环境好的图景下,发一遍包的时辰和发三回包的时间距离基本得以无视。而在互联网环境差的情形下,两回包的TCP在证实数据包完整性上,有至极大的亮点。

  1. 并不是颇具浏览器都会在POST中发送两遍包,Firefox就只发送2次。

近年来,当面试官再问您“GET与POST的界别”的时候,你的内心是否那样的?

亚洲必赢官网 7

4 赞 33 收藏 11
评论

亚洲必赢官网 8

GET和POST是HTTP请求的二种基本方法,要说它们的分裂,接触过WEB开发的人都能表露一二。

GET和POST是HTTP请求的二种为主措施,要说它们的分别,接触过WEB开发的人都能揭破一二。

GET和POST是HTTP请求的两种基本办法,要说它们的差距,接触过WEB开发的人都能表露一二。

最直观的分别正是GET把参数包涵在USportageL中,POST通过request body传递参数。

最直观的分别正是GET把参数包括在UPAJEROL中,POST通过request body传递参数。

最直观的界别正是GET把参数包蕴在U帕杰罗L中,POST通过request body传递参数。

您只怕本人写过许多个GET和POST请求,只怕已经看过无数权威网站计算出的他们的区分,你不行通晓通晓哪些时候该用什么。

您或者本身写过不少个GET和POST请求,大概曾经看过许多权威网站计算出的他们的区分,你可怜了解知道如何时候该用什么。

当您在面试中被问到那么些题材,你的心扉充满了自信和欢畅。

当你在面试中被问到那些难点,你的心田充满了自信和开心。

当您在面试中被问到这么些标题,你的心中充满了自信和欢娱。

你轻松的交给了二个“标准答案”:

亚洲必赢官网 9

您轻轻松松的交由了3个“标准答案”:
GET在浏览器回退时是没有毒的,而POST会再度提交请求。
GET发生的USportageL地址能够被Bookmark,而POST不得以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只可以进展url编码,而POST援救各类编码格局。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保存。
GET请求在URAV4L中传送的参数是有长度限制的,而POST没有。
对参数的数据类型,GET只接受ASCII字符,而POST没有范围。
GET比POST更不安全,因为参数直接暴光在UKoleosL上,所以不能够用来传递敏感音信。
GET参数通过UCR-VL传递,POST放在Request body中。

GET在浏览器回退时是无毒的,而POST会再一次提交请求。

您轻松的提交了三个“标准答案”:

(本标准答案参考自w3schools)

GET产生的UHighlanderL地址可以被Bookmark,而POST不可能。

  • GET在浏览器回退时是没有害的,而POST会再度提交请求。

  • GET产生的UCRUISERL地址能够被Bookmark,而POST不得以。

  • GET请求会被浏览器主动cache,而POST不会,除非手动设置。

  • GET请求只好进展url编码,而POST辅助多样编码格局。

  • GET请求参数会被全体保留在浏览器历史记录里,而POST中的参数不会被封存。

  • GET请求在UKugaL中传送的参数是有长度限制的,而POST么有。

  • 对参数的数据类型,GET只接受ASCII字符,而POST没有范围。

  • GET比POST更不安全,因为参数直接暴露在U奇骏L上,所以无法用来传递敏感新闻。

  • GET参数通过U索罗德L传递,POST放在Request body中。

“很不满,那不是大家要的答问!”

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

(本标准答案参考自w3schools)

请告知自身精神。。。

GET请求只好进行url编码,而POST帮忙三种编码格局。

“很遗憾,那不是大家要的答疑!”

比方本身告诉你GET和POST本质上未曾差别你信呢?

GET请求参数会被完整保存在浏览器历史记录里,而POST中的参数不会被保留。

亚洲必赢官网 10

让大家扒下GET和POST的门面,赤城相见吧!

GET请求在UEnclaveL中传送的参数是有长度限制的,而POST么有。

请报告自个儿精神。。。

GET和POST是什么样?HTTP协议中的三种发送请求的艺术。

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

假若作者报告你GET和POST本质上没有区分你信呢? 
让大家扒下GET和POST的门面,诚恳相见吧!

HTTP是何许?HTTP是依照TCP/IP的有关数据如何在万维网中哪些通讯的协议。

GET比POST更不安全,因为参数直接暴光在U卡宴L上,所以不能够用来传递敏感消息。

GET和POST是什么?HTTP协议中的二种发送请求的格局。

HTTP的最底层是TCP/IP。所以GET和POST的平底也是TCP/IP,也正是说,GET/POST都是TCP链接。GET和POST能做的工作是同样一样的。你要给GET加上request
body,给POST带上url参数,技术上是完全行的通的。

GET参数通过URubiconL传递,POST放在Request body中。

HTTP是什么?HTTP是基于TCP/IP的有关数据怎么样在万维网中什么通信的合计。

那就是说,“标准答案”里的那多少个区别是怎么回事?

(本标准答案参考自w3schools)

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)提议了要求。“标准答案”里有关参数大小的范围又是从哪来的吗?

请告知作者精神。。。

亚洲必赢官网 11

在笔者大万维网世界中,还有另三个珍视的角色:运输公司。不一致的浏览器(发起http请求)和服务器(接受http请求)就是区别的运输公司。
尽管理论上,你能够在车顶上极其的堆货物(url中然而加参数)。可是运输公司可不傻,装货和卸货也是有十分大开销的,他们会限制单次运输量来控制风险,数据量太大对浏览器和服务器都以非常的大负担。产业界不成文的分明是,(超越1/2)浏览器平时都会限制url长度在2K个字节,而(大部分)服务器最多处理64K轻重的url。超越的局地,恕不处理。倘使你用GET服务,在request
body偷偷藏了数额,不相同服务器的处理格局也是见仁见智的,某些服务器会帮你卸货,读出多少,某些服务器直接忽略,所以,即便GET能够带request
body,也不能够确认保障一定能被收取到哦。

假如本身告诉你GET和POST本质上未曾区分你信呢?

在本人大万维网世界中,TCP就如小车,大家用TCP来运送数据,它很可信赖,向来不会发出丢件少件的气象。可是一旦路上跑的全是看起来一模一样的汽车,那那一个世界看起来是一团混乱,送急件的小车或然被近期满载货物的小车拦堵在路上,整个交通系统一定会瘫痪。为了避免那种情景爆发,交通规则HTTP诞生了。HTTP给小车运载设定了几许个劳务档次,有GET,
POST, PUT,
DELETE等等,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的竹签(设置method为GET),而且须求把传送的多寡放在车顶上(url中)以有利于记录。假设是POST请求,就要在车上贴上POST的竹签,并把商品放在车厢里。当然,你也能够在GET的时候往车厢内偷偷藏点货物,然则那是很不光彩;也足以在POST的时候在车顶上也放一些数码,令人觉着傻乎乎的。HTTP只是个行为准则,而TCP才是GET和POST怎么落到实处的主导。

好了,未来你驾驭,GET和POST本质上正是TCP链接,并没有差距。可是由于HTTP的规定和浏览器/服务器的限量,导致她们在采纳进度中显示出部分不比。

让我们扒下GET和POST的伪装,真诚相见吧!

不过,大家只看到HTTP对GET和POST参数的传递渠道(url仍然requrest
body)提议了供给。“标准答案”里有关参数大小的范围又是从哪来的吗?

您以为本文就这么停止了?

GET和POST是何许?HTTP协议中的二种发送请求的情势。

亚洲必赢官网 12

大家的大BOSS还等着出台呢。。。

HTTP是如何?HTTP是基于TCP/IP的有关数据如何在万维网中怎样通讯的商谈。

在自己大万维网世界中,还有另二个重庆大学的角色:运输公司。分裂的浏览器(发起http请求)和服务器(接受http请求)就是见仁见智的运送公司。
即使理论上,你能够在车顶上无比的堆货物(url中最好加参数)。但是运输公司可不傻,装货和卸货也是有一点都不小资本的,他们会限制单次运输量来支配危机,数据量太大对浏览器和服务器都以一点都不小负担。产业界不成文的明确是,(超过二分之一)浏览器经常都会限制url长度在2K个字节,而(一大半)服务器最多处理64K轻重的url。超过的片段,恕不处理。假诺您用GET服务,在request
body偷偷藏了数额,不一样服务器的处理方式也是见仁见智的,有个别服务器会帮您卸货,读出多少,有个别服务器直接忽略,所以,固然GET可以带request
body,也不能够确定保证一定能被收取到啊。

那位BOSS有多神秘?当您准备在网上找“GET和POST的区分”的时候,这几个你见面到的查找结果里,从没有涉嫌她。他到底是什么样啊。。。

HTTP的尾部是TCP/IP。所以GET和POST的底层也是TCP/IP,也便是说,GET/POST都是TCP链接。GET和POST能做的作业是平等一样的。你要给GET加上request
body,给POST带上url参数,技术上是完全行的通的。

好了,今后您通晓,GET和POST本质上正是TCP链接,并无差异。不过出于HTTP的规定和浏览器/服务器的范围,导致她们在使用进度中呈现出有个别见仁见智。 

GET和POST还有3个最首要分歧,一言以蔽之:
GET发生2个TCP数据包;POST发生三个TCP数据包。

那么,“标准答案”里的那几个差异是怎么回事?

您觉得本文就这样甘休了?

长的说:
对此GET形式的呼吁,浏览器会把http
header和data一并发送出去,服务器响应200(再次回到数据);
而对于POST,浏览器头阵送header,服务器响应100
continue,浏览器再发送data,服务器响应200 ok(重回数据)。

在自个儿大万维网世界中,TCP就如小车,大家用TCP来运送数据,它很可相信,平昔不会时有产生丢件少件的情景。可是固然路上跑的全是看起来一模一样的小车,那这几个世界看起来是一团混乱,送急件的小车也许被日前满载货物的小车拦堵在旅途,整个交通系统一定会瘫痪。为了幸免这种情状发生,交通规则HTTP诞生了。HTTP给小车运送设定了一点个劳务类型,有GET,
POST, PUT,
DELETE等等,HTTP规定,当执行GET请求的时候,要给小车贴上GET的价签(设置method为GET),而且须求把传送的多寡放在车顶上(url中)以有利于记录。假若是POST请求,就要在车上贴上POST的价签,并把商品放在车厢里。当然,你也足以在GET的时候往车厢内偷偷藏点货物,不过那是很不光彩;也可以在POST的时候在车顶上也放一些多少,令人以为傻乎乎的。HTTP只是个行为准则,而TCP才是GET和POST怎么落到实处的宗旨。

亚洲必赢官网 13

约等于说,GET只供给小车跑一趟就把货送到了,而POST得跑两趟,第③趟,先去和服务器打个招呼“嗨,小编等下要送一批货来,你们打开门迎接自个儿”,然后再回头把货送过去。

只是,我们只看到HTTP对GET和POST参数的传递渠道(url依旧requrest
body)提议了供给。“标准答案”里有关参数大小的限定又是从哪来的吧?

大家的大BOSS还等着出台呢。。。

因为POST须求两步,时间上海消防耗的要多或多或少,看起来GET比POST更实用。因而Yahoo团队有推荐用GET替换POST来优化网站品质。但那是1个坑!跳入需谨慎。为何?

在自个儿大万维网世界中,还有另一个至关首要的剧中人物:运输集团。差别的浏览器(发起http请求)和服务器(接受http请求)正是不一致的运输集团。
尽管理论上,你能够在车顶上无比的堆货物(url中极其加参数)。可是运输集团可不傻,装货和卸货也是有十分的大基金的,他们会限制单次运输量来控制危害,数据量太大对浏览器和服务器都以非常大负担。产业界不成文的明显是,(大部分)浏览器经常都会限制url长度在2K个字节,而(大部分)服务器最多处理64K轻重的url。当先的部分,恕不处理。假若您用GET服务,在request
body偷偷藏了数量,不一样服务器的处理方式也是分裂的,有些服务器会帮您卸货,读出多少,某个服务器直接忽略,所以,纵然GET能够带request
body,也不能保障一定能被接受到啊。

那位BOSS有多神秘?当你准备在网上找“GET和POST的界别”的时候,那么些你会看到的搜寻结果里,从不曾涉及她。他毕竟是何许吧。。。

  1. GET与POST都有自个儿的语义,不能够随便混用。
  2. 据研讨,在网络环境好的动静下,发一回包的年华和发五回包的年华差别基本能够漠视。而在网络环境差的图景下,几回包的TCP在注明数据包完整性上,有卓殊大的长处。
  3. 并不是负有浏览器都会在POST中发送四遍包,Firefox就只发送3回。

好了,现在您了然,GET和POST本质上便是TCP链接,并没有差距。然而出于HTTP的分明和浏览器/服务器的界定,导致他们在动用进度中反映出一些两样。

GET和POST还有一个重庆大学差距,简单的讲:

你觉得本文就像此结束了?

GET发生贰个TCP数据包;POST产生五个TCP数据包。

大家的大BOSS还等着上场呢。。。

长的说:

那位BOSS有多神秘?当您打算在网上找“GET和POST的界别”的时候,那个你会看到的寻找结果里,从没有关系他。他到底是怎么吧。。。

对此GET形式的央求,浏览器会把http
header和data一并发送出去,服务器响应200(再次来到数据);

GET和POST还有2个重庆大学差异,一句话来说:

而对此POST,浏览器首发送header,服务器响应100
continue,浏览器再发送data,服务器响应200 ok(再次回到数据)。

GET发生1个TCP数据包;POST发生三个TCP数据包。

约等于说,GET只需求小车跑一趟就把货送到了,而POST得跑两趟,第①趟,先去和服务器打个招呼“嗨,笔者等下要送一批货来,你们打开门迎接本人”,然后再回头把货送过去。

长的说:

因为POST要求两步,时间上海消防耗的要多或多或少,看起来GET比POST更实惠。由此Yahoo团队有推荐用GET替换POST来优化网站品质。但那是三个坑!跳入需谨慎。为啥?

对此GET格局的请求,浏览器会把http
header和data一并发送出去,服务器响应200(重临数据);

  1. GET与POST都有友好的语义,不可能不管混用。

而对此POST,浏览器头阵送header,服务器响应100
continue,浏览器再发送data,服务器响应200 ok(再次来到数据)。

2.
据研讨,在互联网环境好的景色下,发贰次包的大运和发五次包的年月差距基本能够无视。而在网络环境差的意况下,一遍包的TCP在认证数据包完整性上,有丰硕大的独到之处。

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

  1. 并不是负有浏览器都会在POST中发送两遍包,Firefox就只发送二遍。

因为POST供给两步,时间上海消防耗的要多或多或少,看起来GET比POST更实惠。因而Yahoo团队有推荐用GET替换POST来优化网站性能。但那是三个坑!跳入需谨慎。为啥?

今昔,当面试官再问您“GET与POST的界别”的时候,你的心中是还是不是这么的?

  1. GET与POST都有协调的语义,不能够随便混用。

亚洲必赢官网 14

2.
据钻探,在互联网环境好的状态下,发三遍包的时日和发四回包的时日差异基本能够漠视。而在互联网环境差的地方下,一次包的TCP在注解数据包完整性上,有不行大的长处。

  1. 并不是有着浏览器都会在POST中发送一遍包,Firefox就只发送贰回。
网站地图xml地图