gpt4 book ai didi

html - 使用基本标记时的相对 URL 斜杠

转载 作者:太空狗 更新时间:2023-10-29 13:45:34 24 4
gpt4 key购买 nike

我正在尝试了解有关使用 JSP 解释路径的方式的更多信息。

当结合使用 HTML 基本标记和相对 URL 时,以斜杠结束基本 href 是否很标准?

我问的原因是因为我经常需要根据 JSP 中的上下文根来表达事物(例如对于表单操作),以便表单在我映射时路由到适当的 servlet在 web.xml 中。

大多数时候,我每次都会使用 ${pageContext.request.contextPath},直到我了解了 base 标签。

但是,我猜测由于在 JSP 中斜杠被服务器解释为 Web 应用程序的根,所以我不能让我的基础是,例如:

<base href="/foo"/>

然后在表单中有:

<form action="/extension">
...
</form>

因为这会导致表单提交到 mydomain.com/extension 而不是 mydomain.com/foo/extension。我的理解是否正确,因为斜杠具有特殊含义,您通常需要以反斜杠结束基本 HREF 以获得所需的效果?

谢谢

最佳答案

不是真的。

浏览器不会简单地连接你的基地 href属性和相对 URL。相反,<base>标记设置文档基本 URL,然后使用该 URL 动态生成新路径。

您可以在 WHATWG HTML 规范中看到一个有趣的示例:

<base href="http://www.example.com/news/index.html">
<p>Visit the <a href="archives.html">archives</a>.</p>

请注意 href属性甚至以文件名结尾。

这意味着如果你不在你的基数 href 后面放一个斜杠属性,foo将被视为路径的最后一个可变部分,并且基本上将被删除。举个例子:

<base href="http://www.example.com/news/index.html" />
<img src="ball.png" /> <!-- GET http://www.example.com/news/ball.png -->

<base href="http://www.example.com/news/" />
<img src="ball.png" /> <!-- GET http://www.example.com/news/ball.png -->

<base href="http://www.example.com/news" />
<img src="ball.png" /> <!-- GET http://www.example.com/ball.png -->

<base href="http://www.example.com/" />
<img src="ball.png" /> <!-- GET http://www.example.com/ball.png -->

<!-- If served from http://www.example.com: -->
<base href="/" />
<img src="ball.png" /> <!-- GET http://www.example.com/ball.png -->

关于html - 使用基本标记时的相对 URL 斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26042822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com