标签:HTTP 跨域 自定义 响应 发送 xhr 消息 请求
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") //获取指定的响应头
标签:HTTP,跨域,自定义,响应,发送,xhr,消息,请求 来源: https://www.cnblogs.com/94-Lucky/p/13456548.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。