java - 如何在 Java 套接字编程中解析 index.html 文件中包含的 style.css 的路径
问题描述
我正在尝试使用 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 文件呢?
解决方案
如果文档是从/hello/
(带有斜杠)提供的并且引用了资源style.css
,浏览器将请求/hello/style.css
. 服务器中不需要额外的逻辑。
如果文档是从/hello
(没有尾部斜杠)提供的并且引用了资源style.css
,浏览器将请求/style.css
. 不要在此地址提供您的文档,而是考虑提供一个 HTTP 重定向到/hello/
,以解决资源命名问题并保持 URL 一致。
您还可以将资源引用为/hello/style.css
,从而完全避免该问题。
推荐阅读
- python - 使用 python elasticsearch 时出现连接错误
- c++ - OpenCV 直方图垫到 Picturebox 的位图
- datetime - 使用 BCP 将日期时间数据导入 SQL Server Warehouse
- javascript - GetGlobalContext 未在 Dynamics CRM 的 HTML 网络资源中定义
- c# - 有没有办法在 Linux 的 C# 中调整控制台的大小?
- zoho - 无法从 zoho 中的授权令牌生成访问令牌
- java - 当多次点击活动导航点击时,为什么第二个活动生命周期方法调用两次
- java - Discord Bot 的命令处理
- wpf - 领域在部署的 WPF/Windows10 应用程序中失败,领域包装器.dll 未找到错误
- python - 如何对两个列表进行相同的排序?