Java 为什么servlet中的重定向要求是绝对的?

Java 为什么servlet中的重定向要求是绝对的?,java,url,servlets,redirect,absolute,Java,Url,Servlets,Redirect,Absolute,有人能告诉我为什么servlet中的重定向要求是绝对的吗?我找到的所有参考资料都告诉我它们必须是绝对的 根据规范: sendRedirect方法将设置适当的标题和内容 body将客户端重定向到不同的URL。打电话是合法的 此方法具有相对的URL路径,但是底层容器 必须将相对路径转换为的完全限定的URL 传输回客户端。如果给出了部分URL,并且 无论什么原因,都无法转换为有效的URL,那么 方法必须抛出一个IllegalArgumentException (HTTP/1.1,自被取代后)在位置标题

有人能告诉我为什么servlet中的重定向要求是绝对的吗?我找到的所有参考资料都告诉我它们必须是绝对的

根据规范:

sendRedirect
方法将设置适当的标题和内容 body将客户端重定向到不同的
URL
。打电话是合法的 此方法具有相对的
URL
路径,但是底层容器 必须将相对路径转换为的完全限定的
URL
传输回客户端。如果给出了部分
URL
,并且 无论什么原因,都无法转换为有效的
URL
,那么 方法必须抛出一个
IllegalArgumentException


(HTTP/1.1,自被取代后)在
位置
标题中强制使用绝对URL,用于指示重定向的“位置”。在规范的最新版本中,这一点已经放松,但Servlet规范仍然需要向后兼容的行为。

您还知道HTTP为什么强制执行此(安全性?)@RobAu不知道。我最好的猜测是,他们想让简单的客户端(如命令行客户端)不必了解如何处理相对URL。