首页 > 其他分享 >GET和POST

GET和POST

时间:2023-01-05 14:36:28浏览次数:58  
标签:http 请求 Get GET POST Post

Get和Post请求有什么区别?
Get和Post是什么?

get和post其实都是 http的请求方法。除了这 2 个请求方法之外,http还有 head、put、delete、trace、connect、options这 6 个请求方法。所以http的请求方法共计有 8 种,它们的描述如下所示
image

Get和Post请求有什么区别?

  1. Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。

  2. Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。

  3. Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。

  4. Get执行效率却比Post方法好。Get是form提交的默认方法。

  5. Get产生一个TCP数据包;Post产生两个TCP数据包。

第五点最重要的区别补充说明:

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

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

因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?

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

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

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

参考:https://www.cnblogs.com/wffzk/p/15660623.html

标签:http,请求,Get,GET,POST,Post
From: https://www.cnblogs.com/antidogmatist/p/17027438.html

相关文章

  • does not specify a Swift version and none of the targets integrating it have th
    [!]UnabletodetermineSwiftversionforthefollowingpods:   -`HandyJSON`doesnotspecifyaSwiftversionandnoneofthetargets(`XPX`and`XPXTes......
  • postgresql/lightdb的 is distinct from、is not distinct from
    在postgresql/lightdb开发过程中有时会用到is distinct from和isnotdistinctfrom这个功能。isdistinctfrom功能描述A和B的数据类型、值不完全相同返回tru......
  • get请求如何传递数组参数
    问题当我们需要通过get方式传递一个数组作为参数tag:[1,2,3,4]预期是解析为:https://www.cnblogs.com/enter?tag=1&tag=2&tag=3&tag=4然而真相是这样的:https://www.cnb......
  • PostGIS之空间投影
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • 自学Linux,你需要get哪些点?
    近些年来,Linux操作系统越来越受欢迎,它的开源、免费是亮点也是优点,并且稳定性和安全性也得到认可,还有Linux有很多版本供大家选择,可以定制化。据我所知,现在很多公司的开发项目......
  • postgresql/lightdb OVERLAPS 和 BETWEEN SYMMETRIC函数介绍
    PostgreSql/lightdb中有两个非常方便、有用的比较操作,OVERLAPS和BETWEENSYMMETRIC。1.OVERLAPS(重叠)OVERLAPS操作,用于检测两个日期范围是否重叠。举例:SELECT(......
  • postgresql/lightdb中覆盖自增列值
    PostgreSQL里的自动生成标识列identitycolumn和自动生成存储列generatedcolumn是非常不错的功能,不过他们的实现语法比较近似,容易弄混,本文将进行示例介绍。PGv10:......
  • [LeetCode] 2453. Destroy Sequential Targets
    Youaregivena 0-indexed array nums consistingofpositiveintegers,representingtargetsonanumberline.Youarealsogivenaninteger space.Youhave......
  • ChatGPT 使用 API 进行 Postman 调用测试
    当获得ChatGPT的APIKey以后,想使用Postman来进行一下调用。调用的方法为POST。需要设置几个参数。我们希望使用的EndPoint是:APIEndPoint访问使用的EndPoin......
  • scrapy 的post请求
      importscrapyimportjsonclassTestpostSpider(scrapy.Spider):name='testpost'allowed_domains=['https://fanyi.baidu.com/sug']#post......