从文件协议获得304响应的方法

时间:2015-06-08 18:07:22

标签: http-status-code-304 file-uri

有没有办法从文件系统获得304 Not Modified(而不是200和文件的内容)响应,例如,如果我访问file:///img.png和浏览器已经缓存了这个文件吗?

我的意思是,如果没有设置通过http进行通信的文件服务器,我可以这样做吗?或者,这仅仅是文件协议的限制。

1 个答案:

答案 0 :(得分:1)

你做不到。这是file:protocol的限制。实际上,该协议没有定义200或304代码。这些代码特定于http protocol

关于浏览器是否可以使用文件的缓存副本,客户端负责加载文件资源本身。没有服务器组件可以知道文件是否被修改。交互中唯一可以知道的组件是浏览器,它确切知道的唯一方法是加载文件。

它可以在理论上检查时间戳,也许某些浏览器会这样做,但是具有与先前加载相同的时间戳并不能保证文件未被修改。至少在某些系统上,可以通过系统调用更改上次修改时间。