首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >POST和GET有什么区别?

POST和GET有什么区别?
EN

Stack Overflow用户
提问于 2010-08-13 21:38:56
回答 6查看 711K关注 0票数 416

我最近才开始接触PHP/AJAX/jQuery,在我看来,这些技术的一个重要部分是POSTGET

首先,POSTGET之间的区别是什么?通过实验,我知道GET会将返回的变量及其值附加到URL字符串中

代码语言:javascript
运行
复制
website.com/directory/index.php?name=YourName&bday=YourBday

但是POST没有。

那么,这是唯一的不同之处,还是有使用其中之一的特定规则或约定?

其次,我还在PHP之外看到过POSTGET:同样是在AJAX和jQuery中。POSTGET在这3个方面有什么不同?它们是相同的想法,相同的功能,只是使用方式不同?

EN

回答 6

Stack Overflow用户

发布于 2010-08-13 21:50:15

GET不同,POST通常在请求的正文中包含相关信息。( GET不应该有主体,所以除了cookie,唯一传递信息的地方就是URL。)除了保持URL相对整洁之外,POST还允许您发送更多的信息(因为URL的长度是有限制的,这是出于实际目的),并且允许您发送几乎任何类型的数据(例如,文件上传表单不能使用GET --它们必须使用POST加上特殊的内容类型/编码)。

除此之外,POST意味着请求会改变一些东西,而不应该随意地重做。这就是为什么当你点击“后退”按钮时,你的浏览器有时会问你是否要重新提交表单数据。

另一方面,GET应该是幂等的--这意味着你可以做一百万次,服务器每次都会做同样的事情(并显示基本上相同的结果)。

票数 112
EN

Stack Overflow用户

发布于 2010-08-13 21:58:25

虽然不是对差异的描述,但下面是选择正确方法时需要考虑的几件事。

浏览器可以缓存

  • GET请求,这在使用ajax时可能是一个问题(或好处)。
  • get请求向用户公开参数(POST也是如此,但它们不太明显)。
  • POST可以将更多信息传递到服务器,并且几乎可以是任何长度。
票数 37
EN

Stack Overflow用户

发布于 2010-08-13 21:44:33

POST和GET是两个HTTP request methods。GET通常用于检索某些数据,并且应该是幂等的(重复查询没有任何副作用),并且只能向服务器发送有限数量的参数数据。如果您不小心,某些浏览器通常会默认缓存GET请求。

POST用于更改服务器状态。它携带了更多的数据,并且重复查询被允许(通常也是预期的)产生副作用,比如创建两条消息而不是一条消息。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3477333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档