1

很长一段时间,我一直在使用

http://www.w3.org/Icons/valid-html401

作为图像,但我只是检查了http://www.w3.org/Icons实际上没有那个文件或文件夹,而是几个名称valid-html401.___为 gif 或 png 的图像。

所以很奇怪:好像很久(即使是IE 6),我们都可以指定一个<img src="http://www.w3.org/Icons/valid-html401">不带图片文件扩展名的图片?有什么规律?

4

3 回答 3

4

规则是:URL 不是文件名。

数据类型由 Content-Type HTTP 响应头决定,而不是 URL 的格式。

Web 服务器可以根据自己的喜好决定为给定的 URL 提供什么内容(以及发送什么 Content-Type 标头)。

将 URI 直接映射到文件系统并从扩展中确定内容类型只是一种简单而常见的方法。

其他选项包括Apache Multiviews和使用编程语言(通常使用诸如Dancer之类的框架)来决定使用您喜欢的任何自定义逻辑。

于 2012-10-05T15:12:55.067 回答
1

您正在制作一个 HTTP GET。响应将在标头中包含内容类型(例如 image/jpeg),文件名只是为了方便人类。这就是 /xxxxx.do URL 可以返回 HTML 等的原因。

于 2012-10-05T15:13:19.747 回答
1

这是在服务器端完成的,而不是由客户端完成的。您不需要图像的扩展名,除非图像具有扩展名。您没有理由不能编写 404 请求来搜索类似匹配并显示它。

于 2012-10-05T15:13:53.537 回答