我正在尝试使用 Java 套接字编程创建一个 http 服务器。
假设我正在从名为“web”的特定目录提供静态文件(html、js、css 等)。假设我在“web”中有另一个目录“hello”。
当请求来自客户端或浏览器作为/hello 或/hello/时,我会显示保存在“hello”目录下的 index.html 文件。因此,我们假设“hello”是上下文路径。
现在我的index.html 文件包含一个style.css。因此来自客户端的请求分别是/hello 和/style.css,但这里我没有 style.css 文件的完整路径。
那么我怎么知道 style.css 文件应该从“hello”目录提供?
最佳答案
如果文档是从 /hello/
(带有尾部斜杠)提供的并引用资源 style.css
,则浏览器将请求 /hello/样式.css
。服务器中不需要额外的逻辑。
如果文档是从 /hello
提供的(没有尾部斜杠)并引用资源 style.css
,则浏览器将请求 /style.css
。不要在此地址提供文档,而是考虑提供到 /hello/
的 HTTP 重定向,这既可以解决资源命名问题,又可以保持 URL 一致。
您还可以将资源引用为 /hello/style.css
,从而完全避免该问题。
关于java - 如何在Java套接字编程中解析index.html文件中包含的style.css的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462880/