我正在尝试使用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文件?
答案 0 :(得分:1)
如果文档是从/hello/
发送的(带有斜杠)并引用了资源style.css
,则浏览器将请求/hello/style.css
。服务器中不需要其他逻辑。
如果文档是从/hello
提供的(不带斜杠)并引用资源style.css
,则浏览器将请求/style.css
。除了解决此资源命名问题并保持URL一致之外,不考虑将文档重定向到/hello/
的HTTP地址,即可提供服务。
您也可以将资源引用为/hello/style.css
,从而完全避免了问题。