我最近才开始接触PHP/AJAX/jQuery,在我看来,这些技术的一个重要部分是POST
和GET
。
首先,POST
和GET
之间的区别是什么?通过实验,我知道GET
会将返回的变量及其值附加到URL字符串中
website.com/directory/index.php?name=YourName&bday=YourBday
但是POST
没有。
那么,这是唯一的不同之处,还是有使用其中之一的特定规则或约定?
其次,我还在PHP之外看到过POST
和GET
:同样是在AJAX和jQuery中。POST
和GET
在这3个方面有什么不同?它们是相同的想法,相同的功能,只是使用方式不同?
发布于 2010-08-13 13:50:15
与GET
不同,POST
通常在请求的正文中包含相关信息。( GET
不应该有主体,所以除了cookie,唯一传递信息的地方就是URL。)除了保持URL相对整洁之外,POST
还允许您发送更多的信息(因为URL的长度是有限制的,这是出于实际目的),并且允许您发送几乎任何类型的数据(例如,文件上传表单不能使用GET
--它们必须使用POST
加上特殊的内容类型/编码)。
除此之外,POST
意味着请求会改变一些东西,而不应该随意地重做。这就是为什么当你点击“后退”按钮时,你的浏览器有时会问你是否要重新提交表单数据。
另一方面,GET
应该是幂等的--这意味着你可以做一百万次,服务器每次都会做同样的事情(并显示基本上相同的结果)。
发布于 2010-08-13 13:58:25
虽然不是对差异的描述,但下面是选择正确方法时需要考虑的几件事。
浏览器可以缓存
发布于 2010-08-13 13:44:33
POST和GET是两个HTTP request methods。GET通常用于检索某些数据,并且应该是幂等的(重复查询没有任何副作用),并且只能向服务器发送有限数量的参数数据。如果您不小心,某些浏览器通常会默认缓存GET请求。
POST用于更改服务器状态。它携带了更多的数据,并且重复查询被允许(通常也是预期的)产生副作用,比如创建两条消息而不是一条消息。
https://stackoverflow.com/questions/3477333
复制