为啥要使用重定向输出内容?
Posted
技术标签:
【中文标题】为啥要使用重定向输出内容?【英文标题】:Why output content with a redirect?为什么要使用重定向输出内容? 【发布时间】:2012-04-12 04:38:55 【问题描述】:当您配置 Apache 进行重定向时,默认情况下它不仅输出 Location
标头,还输出一些内容,大概是为了不支持 Location
标头的用户代理的利益:
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>301 Moved Permanently</TITLE>
</HEAD><BODY>
<H1>Moved Permanently</H1>
The document has moved <A HREF="http://example.net/">here</A>.<P>
<HR>
<ADDRESS>Apache/1.3.37 Server at example.com Port 80</ADDRESS>
</BODY></HTML>
这有必要吗?是否有任何用户代理需要我担心无法理解 Location
标头和空白正文?
我怀疑不是,就像example.net itself outputs a blank body。那么,Apache为什么要这样做呢?
【问题讨论】:
【参考方案1】:在没有明确配置的情况下,许多用于访问网站的编程工具默认不会遵循重定向。像这样返回内容可以更容易地诊断由于不遵循重定向而导致的问题。例如,脚本中常用的curl
,只有在传递-L
选项时才会跟随重定向。
【讨论】:
以上是关于为啥要使用重定向输出内容?的主要内容,如果未能解决你的问题,请参考以下文章