1.XHR(XMLHttpRequest)
function $http(method,url,data){
return new Promise((resolve,reject)=>{
let xhr = new XMLHttpRequest();
xhr.open(method,url);
xhr.onreadystatechange = function(){
if(xhr.readyState===4){
if(xhr.status===200){
resolve(xhr.responseText);
}else{
reject(new Error('请求失败'));
}
}
}
xhr.send(data)
});
}
2.HTTP
HTTP概念:HTTP即超文本传输协议,是一种建立在TCP上的无状态连接。
HTTP基本流程:客户端发生HTTP请求,请求中包含表明的请求资源路径以及请求动作,服务端接收HTTP请求,根据请求的资源路径找到相应的资源,并对其进行相应的动作,最后将结果通过HTTP响应返回给客户端。
HTTP请求组成:状态行,请求头,请求体。
HTTP请求状态行:请求方法,资源路径,HTTP协议版本。
HTTP请求头字段:accept,accept-language,accept-ecoding,accept-charset,user-agent,host,origin。
HTTP常见状态码:200请求已正常处理,301请求永久重定向,302请求临时重定向,304请求被重定向到客户端本地缓存,400客户端语法错误,401请求未经授权,402请求被拒绝,404资源路径无法找到,500服务端永久错误,503服务端临时错误。
HTTP响应状态行:HTTP协议版本,状态码,回应短语。
HTTP响应头常见字段:serve,data,Access-Control-Allow-Origin 指定哪些站点可以参与跨站资源共享,Access-Control-Allow-Methods设置特定资源的有效行为,Access-Control-Allow-Headers置特定资源的有效请求头。