304状态码(Jade、Node、Express)

3

我正在我的jade文件中链接bootstrap和jquery。

link(rel='stylesheet', href='/stylesheets/bootstrap.css')

并且

script(src='/javascripts/jquery-3.1.1.js')
script(src='/javascripts/bootstrap.js')

这个Jade文件在我的views文件夹中。 Bootstrap CSS文件在我的public/stylesheets文件夹中,而JavaScript文件在public/javascripts文件夹中。
当我使用nodemon运行我的应用程序时,它会提示:
GET / 200 80ms - 1.65kb
GET /stylesheets/bootstrap.css 304 1ms
GET /javascripts/jquery-3.1.1.js 304 3
GET /javascripts/bootstrap.js 304 2ms

Javascript和CSS文件无法加载。
有什么建议?

1
304响应表示资源未被修改。这有什么问题吗? - saeta
2个回答

7

304未修改

如果客户端执行了有条件的GET请求并且允许访问,但文档未被修改,则服务器应该使用此状态码响应。 304响应不能包含消息体,因此始终在标题字段后由第一个空行终止。

服务器向客户端(浏览器)发送304 http状态,以使其知道自从浏览器上次收到带有200状态代码的文件副本以来,文件未被修改。当发生这种情况时,通常浏览器应该具有文件的缓存副本,并将从缓存中加载相同的文件。

最好通过删除所有临时文件、历史记录等来清除浏览器缓存,然后关闭并重新打开(重新启动)浏览器。

重新加载页面并在nodemon中再次检查状态代码。 这次应该是200


这有道理。然而,我仍然不明白为什么浏览器无法加载CSS和JS文件。如果它们被缓存了,它们不应该正常工作吗? - Human Cyborg Relations
是的,它们应该从缓存中加载。请尝试清除缓存。 - Aruna

3
为了彻底消除此状态,您可以添加标题。 ``` res.header('Cache-Control', 'no-cache, no-store, must-revalidate') ```

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接