是否可以使用HTTP重定向非HTML文件?链接重定向?

是否可以使用HTTP重定向非HTML文件?链接重定向?,http,redirect,response,Http,Redirect,Response,我一直在考虑一种简洁的负载平衡方法,其中一件事是能够从多个位置加载HTML页面上的图像,而无需重写URL(在每个负载上) 所以我需要能够做的是有一个URL,它是“静态”URL。例如http://example.com/myimage.png但是图像实际上并不包含在example.com中。因此,example.com执行302或301或307 HTTP响应以导致重定向到2.example.com。浏览器如何处理这种情况下的图像?另外,如果2.example.com也不包含多个重定向,并且它转到3

我一直在考虑一种简洁的负载平衡方法,其中一件事是能够从多个位置加载HTML页面上的图像,而无需重写URL(在每个负载上)

所以我需要能够做的是有一个URL,它是“静态”URL。例如
http://example.com/myimage.png
但是图像实际上并不包含在
example.com
中。因此,
example.com
执行302或301或307 HTTP响应以导致重定向到
2.example.com
。浏览器如何处理这种情况下的图像?另外,如果
2.example.com
也不包含多个重定向,并且它转到
3.example.com
,浏览器如何处理多个重定向?(注意,我问这个问题是因为我从来没有在HTML页面上看到过301重定向)


此外,最好使用哪种状态代码。301表示“永久移动”,而此“移动”不是永久的,因此我不希望缓存它。我应该用307吗?搜索引擎和现代浏览器支持吗

重定向是一个HTTP概念,适用于可以通过HTTP交付的任何资源,而不仅仅是HTML。链接重定向和非HTML重定向在大多数现代浏览器中都可以正常工作

如果您想要临时重定向,请使用302,除非您也想重定向POST和PUTs。问题是,大多数实现都会在POST或PUT之后为新的资源地址发出GET,即GET 302


请注意,303和307是HTTP 1.1特有的。

重定向是一个HTTP概念,适用于可以通过HTTP交付的任何资源,而不仅仅是HTML。链接重定向和非HTML重定向在大多数现代浏览器中都可以正常工作

如果您想要临时重定向,请使用302,除非您也想重定向POST和PUTs。问题是,大多数实现都会在POST或PUT之后为新的资源地址发出GET,即GET 302


请注意,303和307是特定于HTTP 1.1的。

我建议不要像这样进行负载平衡。负载平衡不是3xx响应的目的


HTTP协议具有缓存功能,这有助于减少服务器负载。还有用于负载平衡的服务器技术。这些技术开发得很好,将更加稳定和可重用。

我建议不要像这样进行负载平衡。负载平衡不是3xx响应的目的


HTTP协议具有缓存功能,这有助于减少服务器负载。还有用于负载平衡的服务器技术。这些技术发展良好,将更加稳定和可重复使用。

正如本尼迪克特C所说,我认为你找错了方向

如果您想进行负载平衡,那么就进行负载平衡。循环DNS是最简单的方法(在许多方面比更昂贵的解决方案更有效)。如果您必须尝试在具有不同FQDN的服务器之间实现负载平衡,则使用javascript生成URL客户端

你文章的剩余部分也适用于关于重定向的其他问题。有很多关于搜索引擎优化的坏建议。谷歌占据了全球约92%的市场份额,并发布了关于如何搜索和排名网站的详细规范。域内的重定向不应影响您在任何有能力的搜索引擎中的排名。域外重定向只会提高目标的排名


是的,浏览器对单个请求所遵循的重定向数量进行了限制,但这因浏览器而异。

正如Benedict C所说,我认为你找错了方向

如果您想进行负载平衡,那么就进行负载平衡。循环DNS是最简单的方法(在许多方面比更昂贵的解决方案更有效)。如果您必须尝试在具有不同FQDN的服务器之间实现负载平衡,则使用javascript生成URL客户端

你文章的剩余部分也适用于关于重定向的其他问题。有很多关于搜索引擎优化的坏建议。谷歌占据了全球约92%的市场份额,并发布了关于如何搜索和排名网站的详细规范。域内的重定向不应影响您在任何有能力的搜索引擎中的排名。域外重定向只会提高目标的排名


是的,浏览器对单个请求所遵循的重定向数量进行了限制,但这因浏览器而异。

负载平衡只是我的一个想法。。我只是想做个实验。。(如中所述,我不会将其投入生产或任何事情)负载平衡只是我的一个想法。。我只是想做个实验。。(比如,我没有把它投入生产或做任何事情)是的,但这是由现代浏览器和搜索引擎蜘蛛支持的吗?是的,两者都支持。是的,但这是由现代浏览器和搜索引擎蜘蛛支持的吗?是的,两者都支持。