http请求头和响应头设置
程序员文章站
2022-06-17 15:58:57
...
js设置请求头:
var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")
xhr.open(type, url)
xhr.setRequestHeader(key, value) // 设置http请求头,且必须在xhr.open()函数之后设置
xhr.send()
js获取响应头:
xhr.onreadystatechange = function () {
if (xhr.readyState === 4)
var resHeader = xhr.getResponseHeader(key) // 获取响应消息头
}
node.js获取请求头和设置响应头:
http.createServer(function(req, res){
let reqHeader = req.getHeader(key) 获取请求头
res.setHeader(key, value) // 设置响应头
})
总结:
1、设置请求头应当在调用open方法之后,调用send方法之前,且该请求消息只针对这次http请求,即每次http请求都需要重新设置请求头
2、只有在xhr.readyState >= 2(服务器接收到http请求)才能获取到响应消息头
3、请求头只能在客户端设置,响应头只能在服务器端设置
4、xhr.onreadystatechange方法最好在xhr.open方法调用之前定义,否则无法监听xhr.readyState === 1时的状态,原因是xhr.open方法初始化了请求,并将xhr.readyState设为1。