我正在设置亚马逊云前端,并一直在尝试缓存控制设置。here明确声明,亚马逊云前端不会遵循301和307。
我想知道是否有文档说明,如果源返回308,是否会跟随重定向
发布于 2018-06-02 06:53:44
这里没有提到302和308似乎有点奇怪,但CloudFront不遵循重定向。它们被存储在缓存中,并返回给浏览器。
您可以使用Lambda@Edge响应触发器截获重定向,但典型的应用程序是重写Location标头,并将浏览器发送到其他地方。
对于较小的响应,可以使用使用Node HTTP客户端发出请求的Origin Response触发器来实际跟踪重定向,但这仅支持总大小为1MB的响应,并且可能不会像简单地让浏览器跟踪重定向那样执行。
发布于 2018-06-02 20:22:34
这里有一些处理重定向的additional documentation:
如果更改对象在源站上的位置,则可以配置web服务器将请求重定向到新位置。配置重定向后,当观众第一次提交对象请求时,CloudFront前端会将请求发送到源端,源端也会进行重定向响应(例如302临时移动)。CloudFront缓存重定向并将其返回给查看器。CloudFront不遵循重定向。
您可以将web服务器配置为将请求重定向到以下位置之一:
对象在源站上的新URL。当查看器跟随重定向到新的URL时,查看器将绕过CloudFront。
然后直接回到原点。因此,建议您不要将请求重定向到源上对象的新URL。
对象的新CloudFront URL。当查看器提交包含新的CloudFront URL的请求时,CloudFront将获取
对象,将其缓存到边缘位置,然后将该对象返回给查看器。对该对象的后续请求将由边缘位置提供服务。这避免了与观众从源请求对象相关的延迟和负载。但是,每次对对象的新请求都会产生两次对CloudFront的请求的费用。
而是因为301和308 only difference就是那个308
不允许将请求方法从POST更改为GET
我猜它是像301一样处理的。
发布于 2021-08-19 12:44:51
自最初的帖子以来,文档已被更新,以包括301,302,304,307和308的信息。
https://stackoverflow.com/questions/50649894
复制相似问题