post请求,程序员:我终于知道post和get的区别了

2023-08-11 1336阅读

温馨提示:这篇文章已超过638天没有更新,请注意相关的内容是否还可用!

定义了三种请求方法:GET、POST 和 HEAD 方法。添加了五个新的请求方法:OPTIONS、PUT、DELETE、TRACE 和 CONNECT 方法。我们很熟悉其中的差异。http协议最常见的两种方法是GET和POST。事实上,其中一些答案并不准确。曾听过这样的说法:get代替post来优化网站性能,虽然这个说法是正确的,也确实get经常被用来检索数据,但是post也被一些ui框架用来检索数据,比如kendo ui中的grid使用post来接收数据。所以结论是get和post的使用也是因地制宜。get是querystring,post放在body中。http协议中url的长度没有限制。通过get提交的数据会显示在url上,页面会被浏览器缓存。此外,获取提交的数据也可能引发CSRF攻击。从另一个角度来看,TCP是传输层协议。

HTTP。 定义了三种请求方法:GET、POST 和 HEAD 方法。

HTTP。 添加了五个新的请求方法:OPTIONS、PUT、DELETE、TRACE 和 CONNECT 方法。

。 我们很熟悉其中的差异

http协议最常见的两种方法是GET和POST。 事实上,其中一些答案并不准确。

常见错误

程序员:我终于知道post和get的区别

获取并发布误解

鉴于以上常见的差异,如果你在面试时说出这样的话,那肯定有很大的问题。 我在学校面试的时候也大言不惭地说过这句话。 现在回想起来,想想以前的误区,又有了很多新的误区。 理解。

。 误区1

“用途:get常用于检索数据,post用于提交数据”

曾听过这样的说法:get代替post来优化网站性能,虽然这个说法是正确的,也确实get经常被用来检索数据,但是post也被一些ui框架用来检索数据,比如kendo ui中的grid使用post来接收数据。 所以结论是get和post的使用也是因地制宜。 如果你用过kendo UI,你会发现分页、过滤、自定义参数都包含在表单数据中。

请求参数

get是querystring(仅支持urlencode编码),post放在body中(支持多种编码)

查询参数是URL的一部分,GET、POST等都是请求方式之一。 无论使用哪种请求方式,都必须有一个URL,并且URL的查询是可选的,可有可无。

。 误区2

“请求参数长度限制:get请求长度最大为kb,post请求数据无限制”

这句话看上去没什么毛病,菜鸟教程也是这么说的。 虽然字面意思没有错误,但是理解一定是正确的。我想说的是,GET方法提交的url参数数据的大小是没有限制的。 http协议中url的长度没有限制(不仅仅是querystring的长度)。 此限制是特定浏览器和服务器施加的限制。

以下是各种浏览器和服务器最大处理能力的说明

所以为了遵守所有标准,最好不要超过url的最小标准字符(k+)。 当然,做客户端程序时,url并不会显示给用户,只是程序调用,长度只受web服务器的影响。 对于中文传输来说,一个汉字的最终编码字符长度是字符。

最常见的form表单,浏览器默认的form表单,默认的content-type是

application/x-www-form-urlencoded,提交的数据会是key value的形式,jquery的ajax默认就是这种content-type。 当然,在post方法中添加querystring一定能接收到,但在get方法中添加body参数却不一定能成功接收。

。 误区3

“发布比获取更安全”

这里的安全是相对的,不是真正意义上的。 通过get提交的数据会显示在url上,页面会被浏览器缓存。 其他人在查看历史记录时会看到提交的数据,但post不会。 。 此外,获取提交的数据也可能引发CSRF攻击。

误区四:“GET 生成一个 TCP 数据包;POST 生成两个 TCP 数据包”。

这一点还是很难理解的。 事实上,无论什么样的浏览器在发送POST时,都不包含Expect头,服务器自然不会发送Continue。 通过抓包发现,虽然会被分成两部分,但是body是在header之后立即发送的,不存在“等待服务器响应”的情况。

从另一个角度来看,TCP是传输层协议。 有人问你应用层协议中GET和POST有什么区别,你回答说在传输层发送数据时不同。 你确定别人不会抽烟吗?

参考:

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]