我有一个React应用,它通过这种方式从服务器获取数据:
fetch('http://localhost:5000/records',{
method:'GET',
headers:{
'ACCEPT':'application/json',
'Content-Type':'application/json'
}
})
.then(response => response.json())
.then(data => {
this.setState({
records: data,
});
});
}
检查网络活动(开发工具Chrome / Firefox),我看到:
我可以将“ Accept-Encoding”添加到我的请求标头中并为其提供任何值,或者可以将其从标头中完全删除。不管我做什么,检查网络活动始终会显示我的请求标头接受gzip,deflate和br。这正常吗?是否有一种获取方法来告诉服务器它不需要任何响应编码?
我尝试按照here的说明给gzip的qvalue设置为0,但在“网络”标签中仍然看到相同的结果。
headers:{
'ACCEPT':'application/json',
'Content-Type':'application/json',
'Accept-Encoding': 'gzip; q=0'
}
答案 0 :(得分:0)
接受编码为a Forbidden Header。 JavaScript无法更改它。
由于网页的作者不知道浏览器能够解码的编码,因此无论如何对其进行设置通常并不有用。