http请求头和响应头设置

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。

猜你喜欢

转载自blog.csdn.net/weixin_41855143/article/details/81503892