当Web服务器HttpWebRequest.GetResponse()使用HTTP 304(未修改)进行响应时,GetResponse()发生了a WebException,这对我来说非常奇怪.这是设计还是我错过了一些明显的东西?
当我的服务器以状态代码304响应时,我有一些用户无法访问我的angularjs应用程序上的某些模板.Angularjs正在记录[$compile:tpload],如下所示,视图不会显示给用户.因此,某种角度不会从缓存中获取视图.问题似乎非常间歇性地发生,并且在干净的浏览器缓存+页面刷新之后页面再次开始正常工作.
我用ui-router v0.3.2运行Angularjs v1.6.6并且我在firebase托管上托管我的静态文件.它是在最新版本上修复的吗?否则,我该如何处理这个案子呢?
[$ compile:tpload] http://errors.angularjs.org/1.6.6/$compile/tpload?p0=%2Fjs%2Ftemplate1%template1.html&p1=304
可能是未处理的拒绝:{"data":"","status":304,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam" : "回调", "缓存":{}, "头":{ "接受": "text/html的"}, "URL": "/ p/p.html"}, "状态文本": ""," xhrStatus ":" 完成"}
使用LogRocket捕获请求/响应
URL: "https://url.com/js/p/a/template.html"
method: "GET"
status: 304
duration: "00:00.061"
REQUEST
headers
Accept: "application/json, text/plain, */*"
body: null
credentials: ""
mode: ""
referrer: ""
RESPONSE
headers
cache-control: "max-age=3600"
date: "Sat, 15 Sep 2018 20:03:12 GMT"
etag: ""f166a7577a895x3f7dcc5accae97dcba""
expires: "Sat, 15 Sep 2018 17:45:33 GMT"
vary: "Accept-Encoding"
via: "1.1 varnish" …Run Code Online (Sandbox Code Playgroud) http-status-code-304 angularjs firebase angular-ui-router firebase-hosting
我正在通过简单的聊天学习节点js。这是我的示例代码:
server.js
var mongo = require('mongodb').MongoClient,
client = require('socket.io').listen(8888).sockets;
Run Code Online (Sandbox Code Playgroud)
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Node Chat System</title>
<link rel="stylesheet" type="text/css" href="css/main.css" />
</head>
<body>
<div class="chat">
<input type="text" class="chat-name" placeholder="Enter your name" />
<div class="chat-messages"></div>
<textarea placeholder="Enter your message" ></textarea>
<div class="chat-status">Status: <span>Idle</span></div>
<script src="http://127.0.0.1:8888/socket.io/socket.io.js"></script>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
然后重新启动节点服务器,然后加载页面并检查控制台> net选项卡
然后我在访问socket.io时的状态是:
304 Not Modified
Run Code Online (Sandbox Code Playgroud)
在我的教程中
200 Ok
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我也使用了wampserver,当我停止所有进程时,效果仍然相同。
你能帮我吗?
我正在尝试使用requests并bs4从网站获取信息,但收到状态代码 304 并且没有来自request.get(). 我已经阅读并了解此代码表明资源已在我的缓存中。我如何从我的缓存访问资源,或者最好清除我的缓存以便我可以接收新资源?
我试过添加以下标题:headers={'Cache-Control': 'no-cache'}到requests.get()但仍然有同样的问题。
此外,我已经研究了该requests-cache模块,但不清楚如何或是否可以使用它来解决问题。
代码:
import requests
r = requests.get('https://smsreceivefree.com/')
print(r.status_code)
print(r.content)
Run Code Online (Sandbox Code Playgroud)
输出:
304
b''
Run Code Online (Sandbox Code Playgroud)