POST 与GET的不同

GET与POST是两种不同类型的HTTP请求。

根据维基百科

GET请求指定的资源。请注意,GET不应用于导致副作用的操作,例如使用它在Web应用程序中执行操作。其原因之一是GET可以由机器人或爬行程序任意使用,不需要考虑请求应该引起的副作用。

POST将要处理的数据(例如,从HTML表单)提交到标识的资源。数据包含在请求的正文中。这可能导致创建新资源或更新现有资源或两者。

因此本质GET上用于检索远程数据,并POST用于插入/更新远程数据。也就是说GET用于查看某些东西,而不需要更改它,而POST用于更改某些东西。例如,搜索页面应该使用GET,而更改密码的表单应该使用POST。

除了解释每种方法的预期用途之外,该规范还提供了至少一个实际原因,为什么GET只能用于检索数据:

使用HTTP协议的服务的作者不应该使用基于GET的表单来提交敏感数据,因为这将导致在Request-URI中对该数据进行编码。许多现有的服务器,代理和用户代理将在第三方可能看到的地方记录请求URI。服务器可以使用基于POST的表单提交


最后,在使用GETAJAX请求时,一个重要的考虑因素是某些浏览器(尤其是IE)会缓存一个GET请求的结果。所以,例如,如果您使用相同的GET请求进行轮询,您将始终获取相同的结果,即使您正在查询的数据正在服务器端进行更新。减轻此问题的一种方法是通过追加时间戳使每个请求的网址唯一。

原文地址:https://www.cnblogs.com/feilu2016/p/6994865.html