POST 与GET的不同
GET与
POST
是两种不同类型的HTTP请求。
根据维基百科:
GET请求指定的资源。请注意,GET不应用于导致副作用的操作,例如使用它在Web应用程序中执行操作。其原因之一是GET可以由机器人或爬行程序任意使用,不需要考虑请求应该引起的副作用。
POST将要处理的数据(例如,从HTML表单)提交到标识的资源。数据包含在请求的正文中。这可能导致创建新资源或更新现有资源或两者。
因此本质GET
上用于检索远程数据,并POST
用于插入/更新远程数据。也就是说GET用于查看某些东西,而不需要更改它,而POST用于更改某些东西。例如,搜索页面应该使用GET,而更改密码的表单应该使用POST。
除了解释每种方法的预期用途之外,该规范还提供了至少一个实际原因,为什么GET
只能用于检索数据:
使用HTTP协议的服务的作者不应该使用基于GET的表单来提交敏感数据,因为这将导致在Request-URI中对该数据进行编码。许多现有的服务器,代理和用户代理将在第三方可能看到的地方记录请求URI。服务器可以使用基于POST的表单提交
最后,在使用GET
AJAX请求时,一个重要的考虑因素是某些浏览器(尤其是IE)会缓存一个GET
请求的结果。所以,例如,如果您使用相同的GET
请求进行轮询,您将始终获取相同的结果,即使您正在查询的数据正在服务器端进行更新。减轻此问题的一种方法是通过追加时间戳使每个请求的网址唯一。
真正的稳定,不是你在一家单位有饭吃,而是你足够牛逼,不论走到哪里都有饭吃