美文网首页
HTTP的请求(request)和响应(response)格式

HTTP的请求(request)和响应(response)格式

作者: 凉城十月 | 来源:发表于2020-09-05 22:40 被阅读0次

两者都有四部分。

1. 请求:

第一部分:
method url 协议
GET /XXX HTTP/1.0
第二部分:
Content-Type: application/x-www-form-urlencoded
等等
第三部分:
回车
第四部分:
参数
a=1&b=2

如何设置请求的四部分呢?
见代码(用XMLHttpRequest对象实现):

let request = new XMLHttpRequest()
request.open(method, url)  //设置第一部分
request.setRequestHeader('Content-Type','application/x-www-form-urlencoded') //设置第二部分,在open和send的中间使用
request.onreadystatechange = function(){
  if(request.readyState === 4){ //加载成功时
    if(request.status >=200 && request.status < 300){
      console.log('success')
    }else if( request.status >= 400){
      console.log('error')
    }
  }
}
request.send(body) //设置第四部分,只有method为POST时,才需要设置body,如果是GET,设置了body也不会显示

2. 响应:

第一部分:
协议 + request.status + request.statusText
HTTP/1.0 200 OK
第二部分:
Content-Type: text/html;charset=utf-8
等等
第三部分:
回车
POST才有的第四部分:

<!Doctype html>
<html>……</html>

那么如何获取相应的四部分呢?
见代码(和请求的代码一起的,就简略写了一下):

//获取响应的第一部分:
request.status //200
request.statusText //ok

//获取响应的第二部分 – 响应头:
request.getAllResponseHeaders() //获取所有的响应头,返回一个字符串
request.getResponseHeader(‘Content-Type’) //获取响应头Content-Type的内容

//获取响应的第四部分:
request.responseText //获取响应的第四部分的内容

相关文章

网友评论

      本文标题:HTTP的请求(request)和响应(response)格式

      本文链接:https://www.haomeiwen.com/subject/snqqektx.html