我正在尝试使用 Java 套接字编程创建一个 http 服务器。假设我从名为“web”的特定目录提供静态文件(html、js、css 等)。假设我在“web”中有另一个目录“hello”。当来自客户端或浏览器的请求为 /hello 或 /hello/ 时,我会显示保存在“hello”目录下的 index.html 文件。所以让我们假设“hello”是上下文路径。现在我的 index.html 文件包含一个 style.css。所以来自客户端的请求分别是 /hello 和 /style.css,但在这里我没有 style.css 文件的完整路径。那么我怎么知道应该从“hello”目录提供 style.css 文件呢?
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
如果文档来自/hello/
(带有斜杠)并引用了资源style.css
,浏览器将请求/hello/style.css
. 服务器中不需要额外的逻辑。
如果文档来自/hello
(没有尾部斜杠)并引用资源style.css
,浏览器将请求/style.css
. 不要在此地址提供您的文档,而是考虑提供一个 HTTP 重定向到/hello/
,以解决资源命名问题并保持 URL 一致。
您还可以将资源引用为/hello/style.css
,从而完全避免该问题。
添加回答
举报
0/150
提交
取消