HTTP中的消息头

HTTP中的消息头分为请求头和响应头两种

1.发送请求头 前端设置,后端获取

请求头分为 系统请求头和自定义请求头(自定义请求头不能用POST来发送)
请求头的作用:请求头可以发送数据长度 ,php不能接收POST方式发送,必须通过请求头来让其解析
适用场景:下载文件时,数据分割为包(二进制数据流)的形式,服务端通过判断请求头的长度和包的长度,来判断数据是否完整
位置:open的后面,send的前面

var xhr = new XMLHttpRequest();
xhr.addEventListener("load", loadHandler);
xhr.open("GET", "http://localhost:4006?user=morty&age=18");    
 xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");  // 这个请求头是让PHP可以解析当前的POST数据
//    GET方式允许发送自定义消息头,POST不允许
// 发送自定义消息头时,必须在服务端设置响应头跨域同意Access-Control-Allow-Headers:"*"    原因:会产生请求头跨域的问题
xhr.setRequestHeader("abc", "3");  //自定义请求头
xhr.send();

2.获取请求头(服务端获取)

req.headers

3.响应头(服务端发送) 不能发送自定义响应头
作用:解决跨域问题

res.writeHead(200, {
    "content-type": "text/html;charset=utf-8", //内容编码
     "Access-Control-Allow-Headers":"*",//请求头跨域
    "Access-Control-Allow-Origin": "*",  //域名跨域

    //  cors跨域
});

4.响应头获取(前端获取)

xhr.getAllResponseHeaders()      //获取所有响应头
xhr.getResponseHeader("content-type")    //获取指定的响应头
posted on 2020-08-08 10:00  94Lucky  阅读(158)  评论(0编辑  收藏  举报