HTTP报文及几种请求方式

766 阅读2分钟

报文

定义: HTTP报文是在HTTP应用程序之间发送的数据块。这些数据块以一些文本形式的元信息开头,描述报文的内容及含义,后面跟着可选的数据部分。

组成 : 分为请求报文和响应报文(都分为三部分)

- 请求报文:1.<method>方法 <request-URL>URL <version>版本
            2.header
            3.<entity-body>
- 响应报文:1.<version>版本 <status>状态 <reason_phrase>
            2.header
            3.<entity-body>

分别一张图看一下,这就是浏览器和服务器交互时的情况。这个是请求报文,后面是响应报文。

图片内容的后面是entity-body,图上没有显示出来。

这几个图也可以看看

HTTP报文的三次‘握手’和四次‘挥手’, 面试可能要问的哦。注:别人写的这里只是看一下

http的握手和挥手

服务器请求

const http = require('http')
http.createServer(function(req, res){
  res.setHeader('Content-type', 'text/html') //设置响应报文首部文本内容为html或者其他
  res.setHesder('a', 'b') //这条可以自加的,Response Header就有这条
  res.setHesder('set-Cookies', ['id=123456']) //设置cookies:id=123456
  res.statusCode = 404 //状态码
  res.statusMessage = 'Not Found' 
  // res.writeHeader =(200, 'Not Found', {Content-type: 'text-html'}) // 上面几条合并
  res.end('<h1>hello</h1>') //response.end
}- PUT: 向服务器写入信息

HTTP最大的作用是客户端发生请求,服务器给出响应,客户端向服务器发送请求的方式有很多种。

  • GET:最常用的,请求服务器给我某个资源,GET后面加上 请求的URL。比如请求taobao.com 服务器会返给浏览器很多信息,包括响应头,响应体(东西很大)。
  • HEAD:在不获取资源的情况下获取资源基本信息
  • POST:(创建一个没有的东西)
  • DELETE:请求服务器删除请求的URL