作者:爱在明天2502870673 | 来源:互联网 | 2023-07-18 13:34
post和get差异最中心的一点是:缓存机制的差别(可否被浏览器缓存)缓存机制这里我们用到了开首所讲的幂等性观点。因为收集的不可靠,使得等幂性显得迥殊主要,因而get、head、p
post和get差异最中心的一点是:
缓存机制的差别(可否被浏览器缓存)
缓存机制
这里我们用到了开首所讲的幂等性观点。因为收集的不可靠,使得等幂性显得迥殊主要,因而get、head、put、delete一定要设想成等幂的:假如一次要求,服务器收到处置惩罚今后,客户端没有收到相应,客户端会再次要求,假如没有等幂性保证,就会发作意想不到的题目。
post是不等幂的,例如在segmentfault上两次提交雷同的文章,则会发生两个资本。
一般HTTP 缓存只适用于 idempotent request(幂等的要求),关于其他范例的相应则无计可施。
get要求的缓存历程
第一次要求时,返回数据。
返回数据,在http头部中包括last-modified(末了修正的时候) Etag(指导资本的状况的唯一标识)Expires(指导资本在浏览器缓存中的逾期时候)
然后浏览器会将要求回的文件放在Cache目次下,并保留上述信息
提议第二次要求。
浏览器会先搜检Cache目次中是不是有该文件,而且是不是逾期。同时满足这两个前提,则浏览器不会在向服务器发送要求,而是直接运用缓存中的文件。
不然,浏览器会发送要求服务器 ,并在头部增加If-Modified-Since 和 If-None-Match。
假如文件从上次接见至今都没有被修正过或Etag信息没有变化,则直接返回一个304的状况,表明服务器端许可要求接见资本,但不满足前提,返回不包括任何相应的主体部份。