📜  HTTP 201 状态码(1)

📅  最后修改于: 2023-12-03 15:01:19.613000             🧑  作者: Mango

HTTP 201状态码

HTTP 201状态码表示请求已成功处理,但是服务器没有返回任何实体内容,并且在响应头中包含了一个 Location 回应头指向相关资源。

使用场景
  • 当用户成功创建一个新的资源时,例如通过POST请求,在服务器成功创建了一个新资源,并将其响应请求时,就可以用201状态码表示。
  • 当用户成功接受一个已存在资源的修改或更新时,例如通过PUT/PATCH请求更新了一个已存在资源,这时候也可以返回 201 状态码。
响应头
  • Location:指明新的资源所在位置的URI。
示例

例如,当我们向服务器发送一个POST请求,服务器成功创建了一个新资源"book",那么服务器可以这样响应:

HTTP/1.1 201 Created
Location: https://example.com/books/123

这意味着新的资源现在可以通过 https://example.com/books/123 来访问。

代码片段

以下代码片段展示了如何在 Node.js 中返回一个HTTP 201 响应:

const http = require('http');

const server = http.createServer((req, res) => {
  if (req.method === 'POST') {
    // 处理 POST 请求
    res.writeHead(201, {
      'Location': 'https://example.com/books/123'
    });
    res.end('Book created successfully');
  }
});

server.listen(8000, () => {
  console.log('Server started on port 8000');
});

以上代码在执行POST请求时会返回一个HTTP 201响应,其中设置了 Location 响应头指向新创建的资源。