在前端开发中,使用HTTP状态码是很常见的。HTTP状态码通常是指被用作HTTP/1.1协议中响应消息的3位数字代码,其定义了HTTP响应的状态,状态码分为5类,是我们和后台进行交互时非常关心的内容之一。
在JavaScript/TypeScript中,为了开发方便,我们常常使用http-status
这个npm包来管理HTTP状态码的常量。不过这个包并没有提供类型定义文件,因此使用时需要手动定义常量。
还好,官方提供了另一个npm包:@types/http-status
。该包为http-status
提供了完整的类型定义,非常方便开发。
安装
使用npm安装即可:
npm i @types/http-status
使用
使用非常简单,先导入http-status
包:
import * as HttpStatus from "http-status";
然后使用即可:
console.log(HttpStatus.OK); // 200 console.log(HttpStatus["200"]); // OK
http-status
包提供了HTTP状态码常量的定义,而@types/http-status
为常量提供了类型定义。
例如:
export const OK: 200;
@types/http-status
包则为200
提供了类型定义。这样,我们在使用HttpStatus.OK
时,就能得到一个类型为200
的常量,类型定义十分严谨,提高了开发效率和代码可读性。
深度学习
对于新手程序员,HTTP状态码的分类和含义可能不是很熟悉。这里提供一份简单的分类表格进行参考:
分类 | 描述 |
---|---|
1xx | 信息响应,表示请求已被成功接收,继续处理 |
2xx | 处理成功响应,表示动作被成功接受、理解和接受 |
3xx | 重定向响应,需要进行进一步操作以完成请求 |
4xx | 客户端错误,请求包含语法错误或无法完成请求 |
5xx | 服务器错误,服务器无法完成明显有效的请求 |
常见的几个状态码简介:
状态码 | 名称 | 含义 |
---|---|---|
200 | OK | "一切正常" |
201 | Created | 表示已经成功地请求并创建了一个新的资源 |
204 | No Content | 服务器成功执行了请求,但没有返回任何内容 |
206 | Partial Content | 表示客户端进行了范围请求(request range),服务器成功执行了所请求的部分 |
301 | Moved Permanently | 请求的资源已永久移动到新位置 |
304 | Not Modified | 表示资源无需返回数据 |
401 | Unauthorized | 请求需要身份验证 |
403 | Forbidden | 服务器拒绝请求 |
404 | Not Found | 未找到请求的资源 |
500 | Internal Server Error | 服务器遇到了一个未曾预料的状况 |
示例代码
以下是一个简单的示例代码:
-- -------------------- ---- ------- ------ - -- ---------- ---- -------------- --------- -------- - ------- ------- -------- ------- - -------- ---------- -------- - -- ------------------------ -- ---------------------------- ----- --------------- - ------ -- ------------------ - ------ - ------- --------------------- -------- ------------- -- - -- ------------- ------ - ------- -------------- -------- ------- -- -
在这个例子中,对HTTP状态码的使用非常直观,使用http-status
的值来设置响应的状态码,同时使用@types/http-status
保证了类型的严谨性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc294b5cbfe1ea06120ab