为什么浏览器会缓存数据,只有当url的查询参数按照相同顺序时才不会向服务器发送请求?
例如,如果发送到如下请求:
/product?q=phone&cat=1
响应头中包含了Cache-Control:max-age=60,那么下一个请求:
/product?cat=1&q=phone 虽然被发送到服务器,但是应该从缓存中检索数据。
此外,一些框架建议:
如果您正在缓存使用大量查询字符串参数的请求,请考虑对它们进行排序,以确保请求被正确缓存。通过对参数进行排序,您可以确保缓存键在请求之间保持一致,并且您正在有效地缓存数据。
例如,如果发送到如下请求:
/product?q=phone&cat=1
响应头中包含了Cache-Control:max-age=60,那么下一个请求:
/product?cat=1&q=phone 虽然被发送到服务器,但是应该从缓存中检索数据。
此外,一些框架建议:
如果您正在缓存使用大量查询字符串参数的请求,请考虑对它们进行排序,以确保请求被正确缓存。通过对参数进行排序,您可以确保缓存键在请求之间保持一致,并且您正在有效地缓存数据。
Cache-Control
标头而另一个请求中不存在。 - shaochuancs