@whitesev/utils 2.7.8 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +176 -176
  2. package/dist/index.amd.js +896 -877
  3. package/dist/index.amd.js.map +1 -1
  4. package/dist/index.cjs.js +896 -877
  5. package/dist/index.cjs.js.map +1 -1
  6. package/dist/index.esm.js +896 -877
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/index.iife.js +896 -877
  9. package/dist/index.iife.js.map +1 -1
  10. package/dist/index.system.js +896 -877
  11. package/dist/index.system.js.map +1 -1
  12. package/dist/index.umd.js +896 -877
  13. package/dist/index.umd.js.map +1 -1
  14. package/dist/types/src/CommonUtil.d.ts +59 -59
  15. package/dist/types/src/DOMUtils.d.ts +1 -1
  16. package/dist/types/src/Dictionary.d.ts +1 -1
  17. package/dist/types/src/Httpx.d.ts +2 -2
  18. package/dist/types/src/Progress.d.ts +0 -4
  19. package/dist/types/src/TryCatch.d.ts +2 -2
  20. package/dist/types/src/Utils.d.ts +365 -365
  21. package/dist/types/src/UtilsGMCookie.d.ts +2 -2
  22. package/dist/types/src/UtilsGMMenu.d.ts +1 -1
  23. package/dist/types/src/indexedDB.d.ts +3 -3
  24. package/dist/types/src/types/Event.d.ts +188 -188
  25. package/dist/types/src/types/Httpx.d.ts +1344 -1343
  26. package/dist/types/src/types/Log.d.ts +19 -19
  27. package/dist/types/src/types/Progress.d.ts +20 -20
  28. package/dist/types/src/types/React.d.ts +119 -119
  29. package/dist/types/src/types/TryCatch.d.ts +9 -9
  30. package/dist/types/src/types/UtilsGMCookie.d.ts +93 -93
  31. package/dist/types/src/types/UtilsGMMenu.d.ts +77 -77
  32. package/dist/types/src/types/Vue2.d.ts +166 -166
  33. package/dist/types/src/types/WindowApi.d.ts +14 -14
  34. package/dist/types/src/types/ajaxHooker.d.ts +151 -151
  35. package/dist/types/src/types/env.d.ts +7 -2
  36. package/dist/types/src/types/global.d.ts +31 -31
  37. package/package.json +16 -7
  38. package/src/ColorConversion.ts +105 -106
  39. package/src/CommonUtil.ts +280 -279
  40. package/src/DOMUtils.ts +251 -272
  41. package/src/Dictionary.ts +153 -154
  42. package/src/GBKEncoder.ts +108 -112
  43. package/src/Hooks.ts +73 -81
  44. package/src/Httpx.ts +1457 -1466
  45. package/src/LockFunction.ts +62 -62
  46. package/src/Log.ts +258 -259
  47. package/src/ModuleRaid.js +1 -0
  48. package/src/Progress.ts +108 -114
  49. package/src/TryCatch.ts +86 -86
  50. package/src/Utils.ts +4772 -4825
  51. package/src/UtilsCommon.ts +14 -14
  52. package/src/UtilsGMCookie.ts +254 -261
  53. package/src/UtilsGMMenu.ts +445 -454
  54. package/src/Vue.ts +233 -229
  55. package/src/WindowApi.ts +59 -59
  56. package/src/ajaxHooker/ajaxHooker.js +1 -0
  57. package/src/indexedDB.ts +497 -502
  58. package/src/types/Event.d.ts +188 -188
  59. package/src/types/Httpx.d.ts +1344 -1343
  60. package/src/types/Log.d.ts +19 -19
  61. package/src/types/Progress.d.ts +20 -20
  62. package/src/types/React.d.ts +119 -119
  63. package/src/types/TryCatch.d.ts +9 -9
  64. package/src/types/UtilsGMCookie.d.ts +93 -93
  65. package/src/types/UtilsGMMenu.d.ts +77 -77
  66. package/src/types/Vue2.d.ts +166 -166
  67. package/src/types/WindowApi.d.ts +14 -14
  68. package/src/types/ajaxHooker.d.ts +151 -151
  69. package/src/types/env.d.ts +7 -2
  70. package/src/types/global.d.ts +31 -31
@@ -1,1343 +1,1344 @@
1
- /**
2
- * 状态码
3
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
4
- */
5
- export type HttpxStatus =
6
- | 100
7
- | 101
8
- | 102
9
- | 103
10
- | 200
11
- | 201
12
- | 202
13
- | 203
14
- | 204
15
- | 205
16
- | 206
17
- | 207
18
- | 208
19
- | 300
20
- | 301
21
- | 302
22
- | 304
23
- | 307
24
- | 308
25
- | 401
26
- | 402
27
- | 403
28
- | 404
29
- | 405
30
- | 406
31
- | 407
32
- | 408
33
- | 409
34
- | 410
35
- | 411
36
- | 412
37
- | 413
38
- | 414
39
- | 415
40
- | 416
41
- | 417
42
- | 418
43
- | 421
44
- | 422
45
- | 423
46
- | 424
47
- | 425
48
- | 426
49
- | 428
50
- | 429
51
- | 431
52
- | 451
53
- | 500
54
- | 501
55
- | 502
56
- | 503
57
- | 504
58
- | 505
59
- | 506
60
- | 507
61
- | 508
62
- | 510
63
- | 511;
64
-
65
- /**
66
- * HTTP WebDav的请求方法
67
- * + https://blog.csdn.net/weixin_48421613/article/details/128611546
68
- */
69
- export type HttpxWebDavMethod = "PROPFIND" | "PROPPATCH" | "MKCOL" | "MOVE" | "COPY" | "LOCK" | "UNLOCK";
70
-
71
- /**
72
- * HTTP 请求方法
73
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
74
- */
75
- export type HttpxMethod =
76
- | "GET"
77
- | "HEAD"
78
- | "POST"
79
- | "PUT"
80
- | "DELETE"
81
- | "CONNECT"
82
- | "OPTIONS"
83
- | "TRACE"
84
- | "PATCH"
85
- | HttpxWebDavMethod;
86
-
87
- /**
88
- * 重定向参数
89
- */
90
- export type HttpxRedirect = "follow" | "error" | "manual";
91
-
92
- /**
93
- * 二进制数据
94
- */
95
- export type HttpxBinary = Uint8ArrayConstructor | ArrayBufferConstructor | DataViewConstructor | Blob | File;
96
-
97
- /**
98
- * 触发的响应函数名
99
- */
100
- export type HttpxResponseCallBackType = "onload" | "onerror" | "ontimeout" | "onabort";
101
-
102
- /**
103
- * 响应类型映射字典
104
- */
105
- export type HttpxResponseTypeMap = {
106
- arraybuffer: ArrayBuffer;
107
- blob: Blob;
108
- json: any;
109
- stream: ReadableStream<string>;
110
- document: Document;
111
- html: string;
112
- };
113
-
114
- /**
115
- * headers的配置
116
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers
117
- */
118
- export declare interface HttpxHeaders {
119
- /**
120
- * Accept 请求头用来告知(服务器)客户端可以处理的内容类型,这种内容类型用MIME 类型来表示。
121
- * 借助内容协商机制, 服务器可以从诸多备选项中选择一项进行应用,并使用 Content-Type 应答头通知客户端它的选择。
122
- * 浏览器会基于请求的上下文来为这个请求头设置合适的值,比如获取一个 CSS 层叠样式表时值与获取图片、视频或脚本文件时的值是不同的。
123
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept
124
- */
125
- Accept?: string;
126
- /**
127
- * 头由服务器设置,以指定客户端应在后续请求中应包含哪些客户端 Client Hints (en-US) 提示头
128
- * + 备注: Client Hints (en-US) 只能在安全源(通过 TLS)上访问。所有安全的请求都应该持久化 Accept-CH 和 Accept-CH-Lifetime 头,以确保 Client Hints (en-US) 可靠地发送。
129
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-CH
130
- * @deprecated
131
- */
132
- "Accept-CH"?: string;
133
- /**
134
- * 服务器设置 Accept-CH-Lifetime 标头以指定Accept-CH标头值的持久性,该值指定客户端应在后续请求中包括哪些Client Hints (en-US)标头。
135
- * + 备注: Client Hints (en-US)只能在安全源(通过 TLS)上访问。所有安全的请求都应该持久化 Accept-CH 和 Accept-CH-Lifetime 头,以确保Client Hints (en-US)可靠地发送。
136
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-CH-Lifetime
137
- * @deprecated
138
- */
139
- "Accept-CH-Lifetime"?: string;
140
- /**
141
- * Accept-Charset 请求头用来告知(服务器)客户端可以处理的字符集类型。
142
- * 借助内容协商机制,服务器可以从诸多备选项中选择一项进行应用,并使用Content-Type 应答头通知客户端它的选择。
143
- * 浏览器通常不会设置此项值,因为每种内容类型的默认值通常都是正确的,但是发送它会更有利于识别。
144
- * 如果服务器不能提供任何可以匹配的字符集的版本,那么理论上来说应该返回一个 406(Not Acceptable,不被接受)的错误码。
145
- * 但是为了更好的用户体验,这种方法很少采用,取而代之的是将其忽略。
146
- * + 备注: 在早期版本的 HTTP/1.1 协议中,规定了一个默认的字符集 (ISO-8859-1)。但是现在情况不同了,目前每一种内容类型都有自己的默认字符集。
147
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Charset
148
- */
149
- "Accept-Charset"?: string;
150
- /**
151
- * HTTP 请求头 Accept-Encoding 会将客户端能够理解的内容编码方式——通常是某种压缩算法——进行通知(给服务端)。
152
- * 通过内容协商的方式,服务端会选择一个客户端提议的方式,使用并在响应头 Content-Encoding 中通知客户端该选择。
153
- * 即使客户端和服务器都支持相同的压缩算法,在 identity 指令可以被接受的情况下,服务器也可以选择对响应主体不进行压缩。导致这种情况出现的两种常见的情形是:
154
- * + 要发送的数据已经经过压缩,再次进行压缩不会导致被传输的数据量更小。一些图像格式的文件会存在这种情况;
155
- * + 服务器超载,无法承受压缩需求导致的计算开销。通常,如果服务器使用超过 80% 的计算能力,微软建议不要压缩。
156
- *
157
- * 只要 identity——表示不需要进行任何编码——没有被明确禁止使用(通过 identity;q=0 指令或是 *;q=0 而没有为 identity 明确指定权重值),则服务器禁止返回表示客户端错误的 406 Not Acceptable 响应。
158
- * + 备注: IANA 维护了一个完整的官方支持的编码方式列表。
159
- * 另外两种编码方式——bzip 和 bzip2——有时候也会用到,尽管并未在标准中出现。这两种方式实现了 UNIX 系统上的同名程序所采用的算法。注意第一种由于专利许可问题已经停止维护。
160
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Encoding
161
- */
162
- "Accept-Encoding"?: string;
163
- /**
164
- * Accept-Language 请求头允许客户端声明它可以理解的自然语言,以及优先选择的区域方言。
165
- * 借助内容协商机制,服务器可以从诸多备选项中选择一项进行应用,并使用 Content-Language 应答头通知客户端它的选择。
166
- * 浏览器会基于其用户界面语言为这个请求头设置合适的值,即便是用户可以进行修改,但是这种情况极少发生(因为可增加指纹独特性,通常也不被鼓励)
167
- * (译者注:通常只在测试网站的多语言支持时手动修改它;或为进一步减少指纹独特性,改为最常见的英文)。
168
- * 当服务器无法通过其他方式来确定应当使用的语言时——例如某一特定的 URL,这是用户明确指定的——这个请求头可以用作提示。建议服务器端永远不要覆盖明确指定的信息。
169
- * Accept-Language 消息头的内容通常不在用户的掌控之中(例如在国外旅行时到提供网络服务的场所上网);
170
- * 另外用户可能会想要浏览非本地用户界面语言的页面。
171
- * 如果服务器不能提供任何可以匹配的语言的版本,那么理论上来说应该返回一个 406(Not Acceptable,不被接受)的错误码。
172
- * 但是为了更好的用户体验,这种方法很少被采用,取而代之的是将其忽略。
173
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Language
174
- *
175
- */
176
- "Accept-Language"?: string;
177
- /**
178
- * 服务器使用 HTTP 响应头 Accept-Patch 通知浏览器请求的媒体类型 (media-type) 可以被服务器理解。
179
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Patch
180
- */
181
- "Accept-Patch"?: string;
182
- /**
183
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Post
184
- */
185
- "Accept-Post"?: string;
186
- /**
187
- * 服务器使用 HTTP 响应头 Accept-Ranges 标识自身支持范围请求 (partial requests)。字段的具体值用于定义范围请求的单位。
188
- * 当浏览器发现Accept-Ranges头时,可以尝试继续中断了的下载,而不是重新开始。
189
- *
190
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Ranges
191
- */
192
- "Accept-Ranges"?: "bytes" | "none";
193
- /**
194
- * Access-Control-Allow-Credentials 响应头用于在请求要求包含 credentials(Request.credentials 的值为 include)时,告知浏览器是否可以将对请求的响应暴露给前端 JavaScript 代码。
195
- * 当请求的 credentials 模式(Request.credentials)为 include 时,浏览器仅在响应标头 Access-Control-Allow-Credentials 的值为 true 的情况下将响应暴露给前端的 JavaScript 代码。
196
- * Credentials 可以是 cookies、authorization headers 或 TLS client certificates。
197
- * 当作为对预检请求的响应的一部分时,这能表示是否真正的请求可以使用 credentials。
198
- * 注意简单的GET 请求没有预检,所以若一个对资源的请求带了 credentials,如果这个响应头没有随资源返回,响应就会被浏览器忽视,不会返回到 web 内容。
199
- * Access-Control-Allow-Credentials 标头需要与 XMLHttpRequest.withCredentials 或 Fetch API 的 Request() 构造函数中的 credentials 选项结合使用。
200
- * Credentials 必须在前后端都被配置(即 Access-Control-Allow-Credentials header 和 XHR 或 Fetch request 中都要配置)才能使带 credentials 的 CORS 请求成功。
201
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
202
- */
203
- "Access-Control-Allow-Credentials"?: "true";
204
- /**
205
- * 响应首部 Access-Control-Allow-Headers 用于 preflight request(预检请求)中,列出了将会在正式请求的 Access-Control-Request-Headers 字段中出现的首部信息。
206
- * 简单首部,如 simple headers、Accept、Accept-Language、Content-Language、Content-Type(只限于解析后的值为 application/x-www-form-urlencoded、multipart/form-data 或 text/plain 三种 MIME 类型(不包括参数)),它们始终是被支持的,不需要在这个首部特意列出。
207
- * 如果请求中含有 Access-Control-Request-Headers 字段,那么这个首部是必要的。
208
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
209
- */
210
- "Access-Control-Allow-Headers"?: string;
211
- /**
212
- * 响应首部 Access-Control-Allow-Methods 在对 preflight request.(预检请求)的应答中明确了客户端所要访问的资源允许使用的方法或方法列表。
213
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Methods
214
- */
215
- "Access-Control-Allow-Methods"?: string;
216
- /**
217
- * Access-Control-Allow-Origin 响应标头指定了该响应的资源是否被允许与给定的来源(origin)共享。
218
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
219
- */
220
- "Access-Control-Allow-Origin"?: "*" | "<origin>" | "null";
221
- /**
222
- * 响应标头 Access-Control-Expose-Headers 允许服务器指示那些响应标头可以暴露给浏览器中运行的脚本,以响应跨源请求。
223
- * 默认情况下,仅暴露 CORS 安全列表的响应标头 (en-US)。
224
- * 如果想要让客户端可以访问到其他的标头,服务器必须将它们在 Access-Control-Expose-Headers 里面列出来。
225
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Expose-Headers
226
- */
227
- "Access-Control-Expose-Headers"?: string;
228
- /**
229
- * The Access-Control-Max-Age 这个响应头表示 preflight request (预检请求)的返回结果(即 Access-Control-Allow-Methods 和Access-Control-Allow-Headers 提供的信息)可以被缓存多久。
230
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Max-Age
231
- */
232
- "Access-Control-Max-Age"?: string;
233
- /**
234
- * 请求头 Access-Control-Request-Headers 出现于 preflight request(预检请求)中,用于通知服务器在真正的请求中会采用哪些请求头。
235
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Request-Headers
236
- */
237
- "Access-Control-Request-Headers"?: string;
238
- /**
239
- * 请求头 Access-Control-Request-Method 出现于 preflight request(预检请求)中,用于通知服务器在真正的请求中会采用哪种 HTTP 方法。因为预检请求所使用的方法总是 OPTIONS ,与实际请求所使用的方法不一样,所以这个请求头是必要的。
240
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Request-Method
241
- */
242
- "Access-Control-Request-Method"?: HttpxMethod;
243
- /**
244
- * Age 消息头里包含对象在缓存代理中存贮的时长,以秒为单位。
245
- * Age 的值通常接近于 0。表示此对象刚刚从原始服务器获取不久;其他的值则是表示代理服务器当前的系统时间与此应答中的通用头 Date 的值之差。
246
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Age
247
- */
248
- Age?: string;
249
- /**
250
- * Allow 首部字段用于枚举资源所支持的 HTTP 方法的集合。
251
- * 若服务器返回状态码 405 Method Not Allowed,则该首部字段亦需要同时返回给客户端。
252
- * 如果 Allow 首部字段的值为空,说明资源不接受使用任何 HTTP 方法的请求。
253
- * 这是可能的,比如服务器需要临时禁止对资源的任何访问。
254
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Allow
255
- */
256
- Allow?: string;
257
- /**
258
- * Alt-Svc 全称为“Alternative-Service”,直译为“备选服务”。
259
- * 该头部列举了当前站点备选的访问方式列表。一般用于在提供“QUIC”等新兴协议支持的同时,实现向下兼容。
260
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Alt-Svc
261
- */
262
- "Alt-Svc"?: string;
263
- /**
264
- *
265
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Alt-Used
266
- */
267
- "Alt-Used"?: string;
268
- /**
269
- * HTTP Authorization 请求标头用于提供服务器验证用户代理身份的凭据,允许访问受保护的资源。
270
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Authorization
271
- */
272
- Authorization?: string;
273
- /**
274
- * Cache-Control 通用消息头字段,被用于在 http 请求和响应中,通过指定指令来实现缓存机制。缓存指令是单向的,这意味着在请求中设置的指令,不一定被包含在响应中。
275
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cache-Control
276
- */
277
- "Cache-Control"?: string;
278
- /**
279
- * Clear-Site-Data 响应头,表示清除当前请求网站有关的浏览器数据(cookie,存储,缓存)。它让 Web 开发人员对浏览器本地存储的数据有更多控制能力。
280
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Clear-Site-Data
281
- */
282
- "Clear-Site-Data"?: string;
283
- /**
284
- * Connection 通用标头控制网络连接在当前会话完成后是否仍然保持打开状态。如果发送的值是 keep-alive,则连接是持久的,不会关闭,允许对同一服务器进行后续请求。
285
- * 除去标准的逐段传输(hop-by-hop)头(Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade (en-US), Proxy-Authorization and Proxy-Authenticate),任何逐段传输头都需要在 Connection 头中列出,这样才能让第一个代理知道必须处理它们且不转发这些头。
286
- * 标准的逐段传输头也可以列出(常见的例子是 Keep-Alive,但这不是必须的)。
287
- * + 警告: 在 HTTP/2 和 HTTP/3 中,禁止使用特定于连接的标头字段,如 Connection 和 Keep-Alive。
288
- * Chrome 和 Firefox 会在 HTTP/2 响应中忽略它们,但 Safari 遵循 HTTP/2 规范要求,不会加载包含这些字段的任何响应。
289
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Connection
290
- * @deprecated
291
- */
292
- Connection?: "keep-alive" | "close";
293
- /**
294
- * 在常规的 HTTP 应答中,Content-Disposition 响应标头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。
295
- *
296
- * 在 multipart/form-data 类型的应答消息体中,Content-Disposition 通用标头可以被用在 multipart 消息体的子部分中,用来给出其对应字段的相关信息。
297
- * 各个子部分由在 Content-Type 中定义的边界(boundary)分隔。用在消息体自身则无实际意义。
298
- *
299
- * Content-Disposition 标头最初是在 MIME 标准中定义的,HTTP 表单及 POST 请求只用到了其所有参数的一个子集。
300
- * 只有 form-data 以及可选的 name 和 filename 三个参数可以应用在 HTTP 上下文中。
301
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Disposition
302
- */
303
- "Content-Disposition"?: string;
304
- /**
305
- *
306
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-DPR
307
- * @deprecated
308
- */
309
- "Content-DPR"?: string;
310
- /**
311
- * 实体消息首部 Content-Encoding 列出了对当前实体消息(消息荷载)应用的任何编码类型,以及编码的顺序。
312
- * 它让接收者知道需要以何种顺序解码该实体消息才能获得原始荷载格式。
313
- * Content-Encoding 主要用于在不丢失原媒体类型内容的情况下压缩消息数据。
314
- *
315
- * 请注意原始媒体/内容的类型通过 Content-Type 首部给出,而 Content-Encoding 应用于数据的表示,或“编码形式”。
316
- * 如果原始媒体以某种方式编码(例如 zip 文件),则该信息不应该被包含在 Content-Encoding 首部内。
317
- *
318
- * 一般建议服务器应对数据尽可能地进行压缩,并在适当情况下对内容进行编码。
319
- * 对一种压缩过的媒体类型如 zip 或 jpeg 进行额外的压缩并不合适,因为这反而有可能会使荷载增大。
320
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Encoding
321
- */
322
- "Content-Encoding"?: "gzip" | "compress" | "deflate" | "br";
323
- /**
324
- * Content-Language 是一个 entity header(实体消息首部),用来说明访问者希望采用的语言或语言组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容。
325
- *
326
- * 举个例子,假如设置了这样一条消息首部( "Content-Language: de-DE" ),那么说明这份文件是为说德语的人提供的(当然这并不意味着文件本身就是用德语写的。
327
- * 比如,它可能是为说德语的人开设的英语教程的一部分,也就是用英语写的)。
328
- *
329
- * 如果没有指明 Content-Language,那么默认地,文件内容是提供给所有语言的访问者使用的。
330
- * 多个语言标签也是合法的,同样的,这个首部还可以用来描述不同媒体类型的文件,而不单单局限于文本型文档。
331
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Language
332
- */
333
- "Content-Language"?: string;
334
- /**
335
- * Content-Length 是一个实体消息首部,用来指明发送给接收方的消息主体的大小,即用十进制数字表示的八位元组的数目。
336
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Length
337
- */
338
- "Content-Length"?: string;
339
- /**
340
- * Content-Location 首部指定的是要返回的数据的地址选项。
341
- * 最主要的用途是用来指定要访问的资源经过内容协商后的结果的 URL。
342
- *
343
- * Location 与 Content-Location是不同的,前者(Location )指定的是一个重定向请求的目的地址(或者新创建的文件的 URL),而后者( Content-Location)指向的是可供访问的资源的直接地址,不需要进行进一步的内容协商。
344
- * Location 对应的是响应,而 Content-Location 对应的是要返回的实体。
345
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Location
346
- */
347
- "Content-Location"?: string;
348
- /**
349
- * 在 HTTP 协议中,响应首部 Content-Range 显示的是一个数据片段在整个文件中的位置。
350
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Range
351
- */
352
- "Content-Range"?: string;
353
- /**
354
- * HTTP 响应头 Content-Security-Policy 允许站点管理者控制用户代理能够为指定的页面加载哪些资源。
355
- * 除了少数例外情况,设置的政策主要涉及指定服务器的源和脚本结束点。
356
- * 这将帮助防止跨站脚本攻击(Cross-Site Script)(XSS (en-US))。
357
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy
358
- */
359
- "Content-Security-Policy"?: string;
360
- /**
361
- * HTTP **Content-Security-Policy-Report-Only**响应头允许 web 开发人员通过监测 (但不强制执行) 政策的影响来尝试政策。
362
- * 这些违反报告由 JSON 文档组成通过一个 HTTP POST 请求发送到指定的 URI。
363
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
364
- */
365
- "Content-Security-Policy-Report-Only"?: string;
366
- /**
367
- * Content-Type 实体头部用于指示资源的 MIME 类型 media type 。
368
- *
369
- * 在响应中,Content-Type 标头告诉客户端实际返回的内容的内容类型。
370
- * 浏览器会在某些情况下进行 MIME 查找,并不一定遵循此标题的值;
371
- * 为了防止这种行为,可以将标题 X-Content-Type-Options 设置为 nosniff
372
- *
373
- * 在请求中 (如POST 或 PUT),客户端告诉服务器实际发送的数据类型。
374
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Type
375
- */
376
- "Content-Type"?:
377
- | "text/html; charset=utf-8"
378
- | "multipart/form-data"
379
- | "application/x-www-form-urlencoded"
380
- | "application/json"
381
- | string;
382
- /**
383
- * Cookie 是一个 HTTP 请求标头,其中含有先前由服务器通过 Set-Cookie 标头投放或通过 JavaScript 的 Document.cookie 方法设置,然后存储到客户端的 HTTP cookie 。
384
- * 这个标头是可选的,而且可能会被忽略,例如在浏览器的隐私设置里面设置为禁用 cookie。
385
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cookie
386
- */
387
- Cookie?: string;
388
- /**
389
- *
390
- * + https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Critical-CH
391
- * @deprecated
392
- */
393
- "Critical-CH"?: string;
394
- /**
395
- * HTTP Cross-Origin-Embedder-Policy (COEP) 响应标头可防止文档加载未明确授予文档权限 (通过 CORP (en-US) 或者 CORS) 的任何跨域资源。
396
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy
397
- */
398
- "Cross-Origin-Embedder-Policy"?: string;
399
- /**
400
- *
401
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy
402
- */
403
- "Cross-Origin-Opener-Policy"?: string;
404
- /**
405
- * + 备注: 由于Chrome 浏览器中的一个 Bug, 设置 Cross-Origin-Resource-Policy(跨域资源策略)会使文件下载失败:当从设置了 CORP 请求头的资源服务器下载资源时,浏览器会阻止用户使用“保存”或“另存为”按钮将文件保存到本地。在决定生产环境中是否使用这一特性(CORP)之前需要慎重考虑。
406
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cross-Origin-Resource-Policy
407
- */
408
- "Cross-Origin-Resource-Policy"?: string;
409
- /**
410
- * Date 是一个通用首部,其中包含了报文创建的日期和时间。
411
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Date
412
- */
413
- Date?: string;
414
- /**
415
- * Device-Memory 是一个跟 Device Memory API (en-US) 相关的请求头,它跟 Client Hints (en-US) 请求头的作用相似,用来表示客户端设备内存的近似大小。
416
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Device-Memory
417
- * @deprecated
418
- */
419
- "Device-Memory"?: string;
420
- /**
421
- * Digest 响应 HTTP 头提供了请求资源一个 摘要 。
422
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Digest
423
- */
424
- Digest?: string;
425
- /**
426
- * navigator.doNotTrack
427
- *
428
- * 请求首部 DNT (Do Not Track) 表明了用户对于网站追踪的偏好。它允许用户指定自己是否更注重个人隐私还是定制化内容。
429
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/DNT
430
- * + 0 表示用户愿意目标站点追踪用户个人信息。
431
- * + 1 表示用户不愿意目标站点追踪用户个人信息。
432
- * @deprecated
433
- */
434
- DNT?: "0" | "1";
435
- /**
436
- *
437
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Downlink
438
- */
439
- Downlink?: string;
440
- /**
441
- * **DPR**请求头是“ 客户端提示” (en-US)消息头,它代表客户端设备的像素比 (DPR),该比例是与每个 CSS 像素相对应的物理设备像素的数量。
442
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/DPR
443
- * @deprecated
444
- */
445
- DPR?: string;
446
- /**
447
- * Early-Data 头(header)由某个中间者设置来表示请求已在 TLS early data 中传送,且表示 某个中间者理解 425 (Too Early) 状态码。
448
- * Early-Data 头(header)不由请求的发起者设置 (例如,浏览器)。
449
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Early-Data
450
- * @deprecated
451
- */
452
- "Early-Data"?: "1";
453
- /**
454
- *
455
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/ECT
456
- * @deprecated
457
- */
458
- ECT?: string;
459
- /**
460
- * ETag HTTP 响应头是资源的特定版本的标识符。这可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web 服务器不需要发送完整的响应。
461
- * 而如果内容发生了变化,使用 ETag 有助于防止资源的同时更新相互覆盖(“空中碰撞”)。
462
- *
463
- * 如果给定 URL 中的资源更改,则一定要生成新的 ETag 值。比较这些 ETag 能快速确定此资源是否变化。
464
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/ETag
465
- */
466
- ETag?: string;
467
- /**
468
- * Expect 是一个请求消息头,包含一个期望条件,表示服务器只有在满足此期望条件的情况下才能妥善地处理请求。
469
- *
470
- * 规范中只规定了一个期望条件,即 Expect: 100-continue, 对此服务器可以做出如下回应:
471
- * + 100 如果消息头中的期望条件可以得到满足,使得请求可以顺利进行的话,
472
- * + 417 (Expectation Failed) 如果服务器不能满足期望条件的话;也可以是其他任意表示客户端错误的状态码(4xx)。
473
- *
474
- * 例如,如果请求中 Content-Length 的值太大的话,可能会遭到服务器的拒绝。
475
- *
476
- * 常见的浏览器不会发送 Expect 消息头,但是其他类型的客户端如 cURL 默认会这么做。
477
- *
478
- *
479
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Expect
480
- */
481
- Expect?: string;
482
- /**
483
- * Expect-CT 标头允许站点选择性地报告和/或执行证书透明度(Certificate Transparency)要求,来防止错误签发的网站证书的使用不被察觉。
484
- *
485
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Expect-CT
486
- */
487
- "Expect-CT"?: string;
488
- /**
489
- * Expires 响应头包含日期/时间,即在此时候之后,响应过期。
490
- *
491
- * 无效的日期,比如 0,代表着过去的日期,即该资源已经过期。
492
- *
493
- * 如果在Cache-Control响应头设置了 "max-age" 或者 "s-max-age" 指令,那么 Expires 头会被忽略。
494
- *
495
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Expires
496
- */
497
- Expires?: string;
498
- /**
499
- * Forwarded 首部中包含了代理服务器的客户端的信息,即由于代理服务器在请求路径中的介入而被修改或丢失的信息。
500
- *
501
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Forwarded
502
- */
503
- Forwarded?: string;
504
- /**
505
- * 请求首部 From 中包含一个电子邮箱地址,这个电子邮箱地址属于发送请求的用户代理的实际掌控者的人类用户。
506
- *
507
- * 如果你在运行一个机器人代理程序(比如爬虫),那么 Form 首部应该随请求一起发送,这样的话,在服务器遇到问题的时候,例如机器人代理发送了过量的、不希望收到的或者不合法的请求,站点管理员可以联系到你。
508
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/From
509
- */
510
- From?: string;
511
- /**
512
- * Host 请求头指明了请求将要发送到的服务器主机名和端口号。
513
- *
514
- * 如果没有包含端口号,会自动使用被请求服务的默认端口(比如 HTTPS URL 使用 443 端口,HTTP URL 使用 80 端口)。
515
- *
516
- * 所有 HTTP/1.1 请求报文中必须包含一个Host头字段。对于缺少Host头或者含有超过一个Host头的 HTTP/1.1 请求,可能会收到400(Bad Request)状态码。
517
- *
518
- *
519
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Host
520
- */
521
- Host?: string;
522
- /**
523
- * 请求首部 If-Match 的使用表示这是一个条件请求。在请求方法为 GET 和 HEAD 的情况下,服务器仅在请求的资源满足此首部列出的 ETag值时才会返回资源。
524
- * 而对于 PUT 或其他非安全方法来说,只有在满足条件的情况下才可以将资源上传。
525
- *
526
- *
527
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Match
528
- */
529
- "If-Match"?: string;
530
- /**
531
- * If-Modified-Since 是一个条件式请求首部,服务器只在所请求的资源在给定的日期时间之后对内容进行过修改的情况下才会将资源返回,状态码为 200 。
532
- * 如果请求的资源从那时起未经修改,那么返回一个不带有消息主体的 304 响应,而在 Last-Modified 首部中会带有上次修改时间。
533
- * 不同于 If-Unmodified-Since, If-Modified-Since 只可以用在 GET 或 HEAD 请求中。
534
- *
535
- * 当与 If-None-Match 一同出现时,它(If-Modified-Since)会被忽略掉,除非服务器不支持 If-None-Match。
536
- *
537
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Modified-Since
538
- */
539
- "If-Modified-Since"?: string;
540
- /**
541
- * If-None-Match 是一个条件式请求首部。
542
- * 对于 GETGET 和 HEAD 请求方法来说,当且仅当服务器上没有任何资源的 ETag 属性值与这个首部中列出的相匹配的时候,服务器端才会返回所请求的资源,响应码为 200 。
543
- * 对于其他方法来说,当且仅当最终确认没有已存在的资源的 ETag 属性值与这个首部中所列出的相匹配的时候,才会对请求进行相应的处理。
544
- *
545
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-None-Match
546
- */
547
- "If-None-Match"?: string;
548
- /**
549
- * If-Range HTTP 请求头字段用来使得 Range 头字段在一定条件下起作用:
550
- * 当字段值中的条件得到满足时,Range 头字段才会起作用,同时服务器回复206 部分内容状态码,以及**Range** 头字段请求的相应部分;
551
- * 如果字段值中的条件没有得到满足,服务器将会返回 200 OK 状态码,并返回完整的请求资源。
552
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Range
553
- */
554
- "If-Range"?: string;
555
- /**
556
- * HTTP 协议中的 If-Unmodified-Since 消息头用于请求之中,使得当前请求成为条件式请求:
557
- * 只有当资源在指定的时间之后没有进行过修改的情况下,服务器才会返回请求的资源,或是接受 POST 或其他 non-safe 方法的请求。
558
- * 如果所请求的资源在指定的时间之后发生了修改,那么会返回 412 (Precondition Failed) 错误。
559
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/
560
- */
561
- "If-Unmodified-Since"?: string;
562
- /**
563
- * Keep-Alive 是一个通用消息头,允许消息发送者暗示连接的状态,还可以用来设置超时时长和最大请求数。
564
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Keep-Alive
565
- */
566
- "Keep-Alive"?: string;
567
- /**
568
- * 非标准的**Large-Allocation** 响应头部是用来告诉浏览器加载该页面可能需要申请大内存。当前只有 Firefox 实现该特性,但是对其他浏览器也无损害。
569
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Large-Allocation
570
- * @deprecated
571
- */
572
- "Large-Allocation"?: string;
573
- /**
574
- * Last-Modified 是一个响应首部,其中包含源头服务器认定的资源做出修改的日期及时间。它通常被用作一个验证器来判断接收到的或者存储的资源是否彼此一致。
575
- * 由于精确度比 ETag 要低,所以这是一个备用机制。包含有 If-Modified-Since 或 If-Unmodified-Since 首部的条件请求会使用这个字段。
576
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Last-Modified
577
- */
578
- "Last-Modified"?: string;
579
- /**
580
- * HTTP 实体报头 Link 提供了序列化 HTTP 头部链接的方法。
581
- * 它在语义上与 HTML 元素 <link> 相等。
582
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Link
583
- */
584
- Link?: string;
585
- /**
586
- * Location 首部指定的是需要将页面重新定向至的地址。
587
- * 一般在响应码为 3xx 的响应中才会有意义。
588
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Location
589
- */
590
- Location?: string;
591
- /**
592
- *
593
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Max-Forwards
594
- */
595
- "Max-Forwards"?: string;
596
- /**
597
- *
598
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/NEL
599
- */
600
- NEL?: string;
601
- /**
602
- * 请求标头 Origin 表示了请求的来源(协议、主机、端口)。
603
- * 例如,如果一个用户代理需要请求一个页面中包含的资源,或者执行脚本中的 HTTP 请求(fetch),那么该页面的来源(origin)就可能被包含在这次请求中。
604
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Origin
605
- */
606
- Origin?: string;
607
- /**
608
- *
609
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Origin-Agent-Cluster
610
- */
611
- "Origin-Agent-Cluster"?: string;
612
- /**
613
- *
614
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Permissions-Policy
615
- */
616
- "Permissions-Policy"?: string;
617
- /**
618
- *
619
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Pragma
620
- * @deprecated
621
- */
622
- Pragma?: string;
623
- /**
624
- * The HTTP Proxy-Authenticate 是一个响应首部,指定了获取 proxy server(代理服务器)上的资源访问权限而采用的身份验证方式。
625
- * 代理服务器对请求进行验证,以便它进一步传递请求。
626
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Proxy-Authenticate
627
- */
628
- "Proxy-Authenticate"?: string;
629
- /**
630
- * Proxy-Authorization 是一个请求首部,其中包含了用户代理提供给代理服务器的用于身份验证的凭证。
631
- * 这个首部通常是在服务器返回了 407 Proxy Authentication Required 响应状态码及 Proxy-Authenticate 首部后发送的。
632
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Proxy-Authorization
633
- */
634
- "Proxy-Authorization"?: string;
635
- /**
636
- * The Range 是一个请求首部,告知服务器返回文件的哪一部分。在一个 Range 首部中,可以一次性请求多个部分,服务器会以 multipart 文件的形式将其返回。
637
- * 如果服务器返回的是范围响应,需要使用 206 Partial Content 状态码。
638
- * 假如所请求的范围不合法,那么服务器会返回 416 Range Not Satisfiable 状态码,表示客户端错误。
639
- * 服务器允许忽略 Range 首部,从而返回整个文件,状态码用 200 。
640
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Range
641
- */
642
- Range?: string;
643
- /**
644
- * Referer 请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。
645
- * 服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
646
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referer
647
- */
648
- Referer?: string;
649
- /**
650
- * Referrer-Policy 首部用来监管哪些访问来源信息——会在 Referer 中发送——应该被包含在生成的请求当中
651
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy
652
- */
653
- "Referrer-Policy"?:
654
- | "no-referrer"
655
- | "no-referrer-when-downgrade"
656
- | "origin"
657
- | "origin-when-cross-origin"
658
- | "same-origin"
659
- | "strict-origin"
660
- | "strict-origin-when-cross-origin"
661
- | "unsafe-url";
662
- /**
663
- * 在 HTTP 协议中,响应首部 Retry-After 表示用户代理需要等待多长时间之后才能继续发送请求。这个首部主要应用于以下两种场景:
664
- * + 当与 503 (Service Unavailable,当前服务不存在) 响应一起发送的时候,表示服务下线的预期时长。
665
- * + 当与重定向响应一起发送的时候,比如 301 (Moved Permanently,永久迁移),表示用户代理在发送重定向请求之前需要等待的最短时间。
666
- *
667
- *
668
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Retry-After
669
- */
670
- "Retry-After"?: string;
671
- /**
672
- *
673
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/RTT
674
- * @deprecated
675
- */
676
- RTT?: string;
677
- /**
678
- *
679
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Save-Data
680
- * @deprecated
681
- */
682
- "Save-Data"?: string;
683
- /**
684
- *
685
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme
686
- * @deprecated
687
- */
688
- "Sec-CH-Prefers-Color-Scheme"?: string;
689
- /**
690
- *
691
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion
692
- * @deprecated
693
- */
694
- "Sec-CH-Prefers-Reduced-Motion"?: string;
695
- /**
696
- *
697
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Transparency
698
- * @deprecated
699
- */
700
- "Sec-CH-Prefers-Reduced-Transparency"?: string;
701
- /**
702
- *
703
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA
704
- * @deprecated
705
- */
706
- "Sec-CH-UA"?: string;
707
- /**
708
- *
709
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Arch
710
- * @deprecated
711
- */
712
- "Sec-CH-UA-Arch"?: string;
713
- /**
714
- *
715
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Bitness
716
- * @deprecated
717
- */
718
- "Sec-CH-UA-Bitness"?: string;
719
- /**
720
- *
721
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Full-Version
722
- * @deprecated
723
- */
724
- "Sec-CH-UA-Full-Version"?: string;
725
- /**
726
- *
727
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Full-Version-List
728
- * @deprecated
729
- */
730
- "Sec-CH-UA-Full-Version-List"?: string;
731
- /**
732
- *
733
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Mobile
734
- * @deprecated
735
- */
736
- "Sec-CH-UA-Mobile"?: string;
737
- /**
738
- *
739
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Model
740
- * @deprecated
741
- */
742
- "Sec-CH-UA-Model"?: string;
743
- /**
744
- *
745
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Platform
746
- * @deprecated
747
- */
748
- "Sec-CH-UA-Platform"?: string;
749
- /**
750
- *
751
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Platform-Version
752
- * @deprecated
753
- */
754
- "Sec-CH-UA-Platform-Version"?: string;
755
- /**
756
- * Sec-Fetch-Dest Fetch 元数据请求标头指示请求的目标,即数据的来源以及如何使用这些获取到的数据。
757
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-Dest
758
- */
759
- "Sec-Fetch-Dest"?: string;
760
- /**
761
- * Sec-Fetch-Mode 获取元数据标头表明了一个请求的模式。
762
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-Mode
763
- */
764
- "Sec-Fetch-Mode"?: string;
765
- /**
766
- * Sec-Fetch-Site 获取元数据标头表明了一个请求发起者的来源与目标资源来源之间的关系。
767
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-Site
768
- */
769
- "Sec-Fetch-Site"?: string;
770
- /**
771
- * Sec-Fetch-User 获取元数据标头表明了一个导航请求是否由用户激活触发。
772
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-User
773
- */
774
- "Sec-Fetch-User"?: string;
775
- /**
776
- *
777
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-GPC
778
- * @deprecated
779
- */
780
- "Sec-GPC"?: string;
781
- /**
782
- *
783
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Purpose
784
- */
785
- "Sec-Purpose"?: string;
786
- /**
787
- * Sec-WebSocket-Accept 头(header)用在 websocket 开放握手中。它会出现在响应头中。
788
- * 也就是说,这是由服务器发送到客户端的头(header),用以告知服务器愿发起一个 websocket 连接。
789
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-WebSocket-Accept
790
- */
791
- "Sec-WebSocket-Accept"?: string;
792
- /**
793
- * Server 首部包含了处理请求的源头服务器所用到的软件相关信息。
794
- *
795
- * 应该避免使用过长或者过于详细的描述作为 Server 的值,因为这有可能泄露服务器的内部实现细节,有利于攻击者找到或者探测已知的安全漏洞。
796
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Server
797
- */
798
- Server?: string;
799
- /**
800
- * Server-Timing 标头传达在一个给定请求 - 响应周期中的一个或多个参数和描述。
801
- * 它用于在用户浏览器的开发工具或 PerformanceServerTiming (en-US) 接口中显示任何后端服务器定时参数(例如,数据库读/写、CPU 时间、文件系统访问等)。
802
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Server-Timing
803
- */
804
- "Server-Timing"?: string;
805
- /**
806
- *
807
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Service-Worker-Navigation-Preload
808
- */
809
- "Service-Worker-Navigation-Preload"?: string;
810
- /**
811
- * Set-Cookie HTTP 响应标头用于将 cookie 由服务器发送到用户代理,以便用户代理在后续的请求中可以将其发送回服务器。
812
- * 要发送多个 cookie,则应在同一响应中发送多个 Set-Cookie 标头。
813
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie
814
- */
815
- "Set-Cookie"?: string;
816
- /**
817
- * SourceMap HTTP 响应头链接生成的代码到一个 source map,使浏览器能够重建原始的资源然后显示在调试器里。
818
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/SourceMap
819
- */
820
- SourceMap?: string;
821
- /**
822
- * HTTP Strict-Transport-Security(通常简称为 HSTS)响应标头用来通知浏览器应该只通过 HTTPS 访问该站点,并且以后使用 HTTP 访问该站点的所有尝试都应自动重定向到 HTTPS。
823
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Strict-Transport-Security
824
- */
825
- "Strict-Transport-Security"?: string;
826
- /**
827
- *
828
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Supports-Loading-Mode
829
- * @deprecated
830
- */
831
- "Supports-Loading-Mode"?: string;
832
- /**
833
- * TE 请求型头部用来指定用户代理希望使用的传输编码类型。(可以将其非正式称为 Accept-Transfer-Encoding,这个名称显得更直观一些)。
834
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/TE
835
- */
836
- TE?: string;
837
- /**
838
- * 响应头 Timing-Allow-Origin 用于指定特定站点,以允许其访问Resource Timing API提供的相关信息,否则这些信息会由于跨源限制将被报告为零
839
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Timing-Allow-Origin
840
- */
841
- "Timing-Allow-Origin"?: string;
842
- /**
843
- * Tk 响应首部显示了对相应请求的跟踪情况。
844
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Tk
845
- */
846
- Tk?: "!" | "?" | "G" | "N" | "T" | "C" | "P" | "D" | "U";
847
- /**
848
- * Trailer 是一个响应首部,允许发送方在分块发送的消息后面添加额外的元信息,这些元信息可能是随着消息主体的发送动态生成的,比如消息的完整性校验,消息的数字签名,或者消息经过处理之后的最终状态等。
849
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Trailer
850
- */
851
- Trailer?: string;
852
- /**
853
- * Transfer-Encoding 消息首部指明了将 entity 安全传递给用户所采用的编码形式。
854
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Transfer-Encoding
855
- */
856
- "Transfer-Encoding"?: string;
857
- /**
858
- *
859
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Upgrade
860
- */
861
- Upgrade?: string;
862
- /**
863
- * Upgrade-Insecure-Requests 是一个请求首部,用来向服务器端发送信号,表示客户端优先选择加密及带有身份验证的响应,并且它可以成功处理 upgrade-insecure-requests CSP (en-US) 指令。
864
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Upgrade-Insecure-Requests
865
- */
866
- "Upgrade-Insecure-Requests"?: string;
867
- /**
868
- * User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。
869
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/User-Agent
870
- */
871
- "User-Agent"?: string;
872
- /**
873
- * Vary HTTP 响应标头描述了除方法和 URL 之外影响响应内容的请求消息。大多数情况下,这用于在使用内容协商时创建缓存键。
874
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Vary
875
- */
876
- Vary?: string;
877
- /**
878
- * Via 是一个通用首部,是由代理服务器添加的,适用于正向和反向代理,在请求和响应首部中均可出现。
879
- * 这个消息首部可以用来追踪消息转发情况,防止循环请求,以及识别在请求或响应传递链中消息发送者对于协议的支持能力。
880
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Via
881
- */
882
- Via?: string;
883
- /**
884
- *
885
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Viewport-Width
886
- * @deprecated
887
- */
888
- "Viewport-Width"?: string;
889
- /**
890
- *
891
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Want-Digest
892
- * @deprecated
893
- */
894
- "Want-Digest"?: string;
895
- /**
896
- *
897
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Warning
898
- * @deprecated
899
- */
900
- Warning?: string;
901
- /**
902
- *
903
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Width
904
- * @deprecated
905
- */
906
- Width?: string;
907
- /**
908
- * HTTP WWW-Authenticate 响应标头定义了 HTTP 身份验证的方法(“质询”),它用于获取特定资源的访问权限。
909
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/WWW-Authenticate
910
- */
911
- "WWW-Authenticate"?: string;
912
- /**
913
- * X-Content-Type-Options HTTP 消息头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改。
914
- * 这就禁用了客户端的 MIME 类型嗅探行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。
915
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options
916
- */
917
- "X-Content-Type-Options"?: string;
918
- /**
919
- * X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>、<iframe>、<embed> 或者 <object> 中展现的标记。
920
- * 站点可以通过确保网站没有被嵌入到别人的站点里面,从而避免点击劫持 (en-US)攻击。
921
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Frame-Options
922
- */
923
- "X-Frame-Options"?: string;
924
- /**
925
- * HTTP X-XSS-Protection 响应头是 Internet Explorer,Chrome 和 Safari 的一个特性,当检测到跨站脚本攻击 (XSS (en-US)) 时,浏览器将停止加载页面。
926
- * 若网站设置了良好的 Content-Security-Policy 来禁用内联 JavaScript ('unsafe-inline'),现代浏览器不太需要这些保护,但其仍然可以为尚不支持 CSP 的旧版浏览器的用户提供保护。
927
- * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-XSS-Protection
928
- */
929
- "X-XSS-Protection"?: string;
930
- [key: string]: any;
931
- }
932
- export declare interface HttpxRequestInit extends RequestInit {
933
- /**
934
- * 请求的 body 信息:可能是一个 Blob、BufferSource、FormData、URLSearchParams 或者 USVString 对象。
935
- *
936
- * 注意 GET 或 HEAD 方法的请求不能包含 body 信息。
937
- */
938
- body?: BodyInit | null;
939
- /**
940
- * 请求的 cache 模式:default、 no-store、 reload 、 no-cache、 force-cache 或者 only-if-cached
941
- *
942
- * @default "no-cache"
943
- */
944
- cache?: RequestCache;
945
- /**
946
- * 请求的 credentials,如 omit、same-origin 或者 include。
947
- *
948
- * 为了在当前域名内自动发送 cookie,必须提供这个选项
949
- *
950
- * 从 Chrome 50 开始,这个属性也可以接受 FederatedCredential (en-US) 实例或是一个 PasswordCredential (en-US) 实例。
951
- *
952
- * @default "include"
953
- */
954
- credentials?: RequestCredentials;
955
- /**
956
- * 请求的头信息,形式为 Headers 的对象或包含 ByteString 值的对象字面量。
957
- */
958
- headers?: HeadersInit;
959
- /**
960
- * 包括请求的 subresource integrity 值(例如: sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=)。
961
- */
962
- integrity?: string;
963
- /**
964
- * 保持连接
965
- */
966
- keepalive?: boolean;
967
- /**
968
- * 请求使用的方法,如 GET、POST。
969
- *
970
- * @default "GET"
971
- */
972
- method?: HttpxMethod;
973
- /**
974
- * 请求的模式,如 cors、no-cors 或者 same-origin。
975
- *
976
- * @default "cors"
977
- */
978
- mode?: RequestMode;
979
- /**
980
- * 可用的 redirect 模式:follow (自动重定向), error (如果产生重定向将自动终止并且抛出一个错误),或者 manual (手动处理重定向)。
981
- *
982
- * 在 Chrome 中默认使用 follow(Chrome 47 之前的默认值是 manual)。
983
- *
984
- * @default "follow"
985
- */
986
- redirect?: RequestRedirect;
987
- /**
988
- * 一个 USVString 可以是 no-referrer、client 或一个 URL。默认是 client。
989
- *
990
- * @default "client"
991
- */
992
- referrer?: "no-referrer" | "client" | string;
993
- /**
994
- * 指定了 HTTP 头部 referer 字段的值。
995
- *
996
- * 可能为以下值之一:no-referrer、 no-referrer-when-downgrade、origin、origin-when-cross-origin、 unsafe-url。
997
- *
998
- * @default "origin-when-cross-origin"
999
- */
1000
- referrerPolicy?: ReferrerPolicy;
1001
- /**
1002
- * 用于设置请求信号的中止信号。
1003
- *
1004
- * + 默认值: 自己设置的signal中止信号
1005
- */
1006
- signal?: AbortSignal | null;
1007
- /**
1008
- * 只能为空。用于解除与任何窗口的请求的关联。
1009
- */
1010
- window?: null;
1011
- }
1012
- /** 允许拦截配置 */
1013
- export declare interface HttpxAllowInterceptConfig {
1014
- /** 允许 beforeRequest */
1015
- beforeRequest: boolean;
1016
- /** 允许 afterResponse 的success回调 */
1017
- afterResponseSuccess: boolean;
1018
- /** 允许 afterResponse 的error回调 */
1019
- afterResponseError: boolean;
1020
- }
1021
- /**
1022
- * 请求的配置
1023
- */
1024
- export declare interface HttpxRequestOption {
1025
- /**
1026
- * 请求的url
1027
- */
1028
- url: string;
1029
- /**
1030
- * 请求方法
1031
- * @default "GET"
1032
- */
1033
- method?: HttpxMethod;
1034
- /**
1035
- * 请求的超时时间
1036
- *
1037
- * 当`fetch`为`true`时,该值不生效,也就是请求不会超时
1038
- * @default 5000
1039
- */
1040
- timeout?: number;
1041
- /**
1042
- * 响应类型,默认document,可为空
1043
- * @default "document"
1044
- */
1045
- responseType?: keyof HttpxResponseTypeMap;
1046
- /**
1047
- * 请求头,可为空
1048
- */
1049
- headers?: HttpxHeaders;
1050
- /**
1051
- * 传递的数据
1052
- */
1053
- data?: string | FormData | object;
1054
- /**
1055
- * 是否自动对data进行处理
1056
- *
1057
- * ## 处理以下请求类型
1058
- * + `GET` 自动进行`URLSearchParams`转换
1059
- * + `HEAD` 自动进行`URLSearchParams`转换
1060
- * + `POST` 处理`Content-Type`不为空的情况
1061
- *
1062
- * ### `application/json`
1063
- *
1064
- * + `string`: 不做处理
1065
- * + `FormData`: 转为`JSON`并进行`JSON.stringify`处理
1066
- * + `object`: 进行`JSON.stringify`处理
1067
- *
1068
- * ### `application/x-www-form-urlencoded`
1069
- *
1070
- * + `string`: 不做处理
1071
- * + `FormData`: 转为`URLSearchParams`,再转为`string`
1072
- * + `object`: 转为`URLSearchParams`,再转为`string`
1073
- *
1074
- * ### `multipart/form-data`(上传文件专用)
1075
- *
1076
- * + `string`: 不做处理
1077
- * + `FormData`: 移除`Content-Type`
1078
- * + `object`: 不做处理
1079
- * @default true
1080
- */
1081
- processData?: boolean;
1082
- /**
1083
- * 当触发重定向的使用规则
1084
- * @default "follow"
1085
- */
1086
- redirect?: HttpxRedirect;
1087
- /**
1088
- * 自定义的Cookie
1089
- */
1090
- cookie?: string;
1091
- /**
1092
- * TamperMonkey5.2+
1093
- *
1094
- * @link https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/cookies#storage_partitioning
1095
- */
1096
- cookiePartition?: {
1097
- /**
1098
- * 设置顶级站点
1099
- *
1100
- * @example
1101
- * http://*.example.com/
1102
- *
1103
- * @example
1104
- * http://www.example.com/
1105
- *
1106
- * @example
1107
- * *://*.example.com/
1108
- */
1109
- topLevelSite?: string;
1110
- };
1111
- /**
1112
- * 以二进制模式发送数据字符串
1113
- */
1114
- binary?: HttpxBinary;
1115
- /**
1116
- * 是否缓存资源
1117
- * @default true
1118
- */
1119
- nocache?: boolean;
1120
- /**
1121
- * 是否重新验证可能缓存的内容
1122
- * @default true
1123
- */
1124
- revalidate?: boolean;
1125
- /**
1126
- * 自定义对象(自动存在响应里)
1127
- */
1128
- context?: any;
1129
- /**
1130
- * 重写mimeType,默认不重写
1131
- */
1132
- overrideMimeType?: string;
1133
- /**
1134
- * 是否匿名不发送Cookie
1135
- * @default false
1136
- */
1137
- anonymous?: boolean;
1138
- /**
1139
- * 是否使用fetch来发送请求
1140
- * @default false
1141
- */
1142
- fetch?: boolean;
1143
- /**
1144
- * 当`fetch`为`true`时的配置项,默认使用自定义的配置
1145
- */
1146
- fetchInit?: HttpxRequestInit;
1147
- /**
1148
- * 拒绝拦截配置
1149
- *
1150
- * 如果设置了相关配置,那么intercept将不会生效
1151
- */
1152
- allowInterceptConfig?: Partial<HttpxAllowInterceptConfig> | boolean;
1153
- /**
1154
- * (可选)身份验证的用户名
1155
- */
1156
- user?: string;
1157
- /**
1158
- * (可选)身份验证的密码
1159
- */
1160
- password?: string;
1161
- /**
1162
- * (可选)当请求被取消或中断,触发该回调
1163
- */
1164
- onabort?: (response?: any) => void;
1165
- /**
1166
- * (可选)当请求异常,触发该回调,如404
1167
- */
1168
- onerror?: (...args: any[]) => void;
1169
- /**
1170
- * (可选)当请求超时,触发该回调
1171
- */
1172
- ontimeout?: (...args: any[]) => void;
1173
- /**
1174
- * (可选)当请求开始,触发该回调
1175
- */
1176
- onloadstart?: (...args: any[]) => void;
1177
- /**
1178
- * (可选)当请求成功时,触发该回调
1179
- */
1180
- onload?: (...args: any[]) => void;
1181
- /**
1182
- * (可选)当请求状态改变,触发该回调
1183
- *
1184
- * `fetch`为`true`时该回调不会触发
1185
- */
1186
- onreadystatechange?: (...args: any[]) => void;
1187
- /**
1188
- * (可选)当请求上传文件进度改变,触发该回调
1189
- *
1190
- * `fetch`为`true`时该回调不会触发
1191
- */
1192
- onprogress?: (...args: any[]) => void;
1193
- }
1194
- /**
1195
- * 自定义的配置请求
1196
- */
1197
- export declare interface HttpxRequestOptionConfig extends HttpxInitOption {}
1198
- /**
1199
- * 响应的数据的data
1200
- */
1201
- export declare interface HttpxResponseData<T extends HttpxRequestOption> {
1202
- /**
1203
- * 当请求中配置`fetch`为`true`时,且返回的`headers`中的`Content-Type`存在`text/event-stream`或者是主动设置的`responseType`为`stream`
1204
- * 则存在该属性为`true`
1205
- */
1206
- isStream?: boolean;
1207
- /**
1208
- * 当请求中配置`fetch`为`true`时,则存在该属性为`true`
1209
- */
1210
- isFetch?: boolean;
1211
- /**
1212
- * 当数据加载完毕后的,经过所有重定向后的最终URL
1213
- */
1214
- finalUrl: string;
1215
- /**
1216
- * 数据准备状态
1217
- * + `0`:未初始化
1218
- * + `1`:载入
1219
- * + `2`:载入完成
1220
- * + `3`:交互
1221
- * + `4`:完成
1222
- *
1223
- * 当请求中配置`fetch`为`true`时,该值固定为`4`
1224
- */
1225
- readyState: 0 | 1 | 2 | 3 | 4;
1226
- /**
1227
- * 响应的状态码,2xx为成功
1228
- */
1229
- status: HttpxStatus | number;
1230
- /**
1231
- * 对`status`的解释
1232
- */
1233
- statusText: "OK" | "" | string;
1234
- /**
1235
- * 响应内容,根据`responseType`,如果是`html`,那就是`Document`类型,如果是`json`,那么类型是`Object`类型
1236
- */
1237
- response: T["responseType"] extends keyof HttpxResponseTypeMap
1238
- ? HttpxResponseTypeMap[T["responseType"]]
1239
- : HttpxResponseTypeMap["html"];
1240
- /**
1241
- * 当请求中配置`fetch`为`true`时,该属性存在
1242
- */
1243
- responseFetchHeaders?: Headers;
1244
- /**
1245
- * 响应头的Headers
1246
- */
1247
- responseHeaders: string;
1248
- /**
1249
- * 响应的字符串
1250
- */
1251
- responseText: string;
1252
- /**
1253
- * 请求中配置的`responseType`,没有的话默认为`undefined`
1254
- */
1255
- responseType?: T["responseType"];
1256
- /**
1257
- * the response data as XML document
1258
- */
1259
- responseXML?: XMLDocument;
1260
- }
1261
- /**
1262
- * 响应的数据
1263
- */
1264
- export declare interface HttpxResponse<T extends HttpxRequestOption> {
1265
- /**
1266
- * 是否请求成功
1267
- *
1268
- * 状态码在`200-300`之间为`true`,否则为`false`
1269
- */
1270
- status: boolean;
1271
- /**
1272
- * 响应状态码
1273
- *
1274
- * + `-1` 触发来源:`onabort`
1275
- * + `0` 触发来源:`ontimeout`
1276
- */
1277
- statusCode: HttpxStatus | number;
1278
- /**
1279
- * 请求的数据,当status为false时,data中可能也存在数据
1280
- */
1281
- data: HttpxResponseData<T>;
1282
- /**
1283
- * 请求的配置
1284
- */
1285
- details: T;
1286
- /**
1287
- * 请求的成功/失败消息
1288
- */
1289
- msg: string;
1290
- /**
1291
- * 当前触发响应的类型
1292
- */
1293
- type: HttpxResponseCallBackType;
1294
- }
1295
-
1296
- /**
1297
- * httpx的hook错误的回调数据
1298
- */
1299
- export declare interface HttpxHookErrorData {
1300
- /**
1301
- * 触发的函数名
1302
- */
1303
- type: "onerror" | "ontimeout" | "onabort";
1304
- /**
1305
- * 触发的错误
1306
- */
1307
- error: Error;
1308
- /**
1309
- * 触发的响应
1310
- */
1311
- response: any;
1312
- /**
1313
- * 请求的配置
1314
- */
1315
- details: HttpxRequestOption;
1316
- }
1317
-
1318
- /**
1319
- * httpx的自定义Promise,包含额外函数
1320
- */
1321
- export declare interface HttpxPromise<T> extends Promise<T> {
1322
- abort: () => void;
1323
- }
1324
-
1325
- /**
1326
- * httpx的初始化配置
1327
- */
1328
- export declare interface HttpxInitOption extends HttpxRequestOption {
1329
- /**
1330
- * 实例化,可传入`GM_xmlhttpRequest`,未传入则使用`window.fetch`
1331
- */
1332
- xmlHttpRequest?: Function;
1333
- /**
1334
- * `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
1335
- */
1336
- baseURL?: string | undefined;
1337
- /**
1338
- * (可选)是否输出请求配置
1339
- */
1340
- logDetails?: boolean;
1341
- }
1342
-
1343
- export declare interface HttpxRequestOptionWithDoubleParams extends Omit<HttpxRequestOption, "url"> {}
1
+ /**
2
+ * 状态码
3
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
4
+ */
5
+ export type HttpxStatus =
6
+ | 100
7
+ | 101
8
+ | 102
9
+ | 103
10
+ | 200
11
+ | 201
12
+ | 202
13
+ | 203
14
+ | 204
15
+ | 205
16
+ | 206
17
+ | 207
18
+ | 208
19
+ | 300
20
+ | 301
21
+ | 302
22
+ | 304
23
+ | 307
24
+ | 308
25
+ | 401
26
+ | 402
27
+ | 403
28
+ | 404
29
+ | 405
30
+ | 406
31
+ | 407
32
+ | 408
33
+ | 409
34
+ | 410
35
+ | 411
36
+ | 412
37
+ | 413
38
+ | 414
39
+ | 415
40
+ | 416
41
+ | 417
42
+ | 418
43
+ | 421
44
+ | 422
45
+ | 423
46
+ | 424
47
+ | 425
48
+ | 426
49
+ | 428
50
+ | 429
51
+ | 431
52
+ | 451
53
+ | 500
54
+ | 501
55
+ | 502
56
+ | 503
57
+ | 504
58
+ | 505
59
+ | 506
60
+ | 507
61
+ | 508
62
+ | 510
63
+ | 511;
64
+
65
+ /**
66
+ * HTTP WebDav的请求方法
67
+ * + https://blog.csdn.net/weixin_48421613/article/details/128611546
68
+ */
69
+ export type HttpxWebDavMethod = "PROPFIND" | "PROPPATCH" | "MKCOL" | "MOVE" | "COPY" | "LOCK" | "UNLOCK";
70
+
71
+ /**
72
+ * HTTP 请求方法
73
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
74
+ */
75
+ export type HttpxMethod =
76
+ | "GET"
77
+ | "HEAD"
78
+ | "POST"
79
+ | "PUT"
80
+ | "DELETE"
81
+ | "CONNECT"
82
+ | "OPTIONS"
83
+ | "TRACE"
84
+ | "PATCH"
85
+ | HttpxWebDavMethod;
86
+
87
+ /**
88
+ * 重定向参数
89
+ */
90
+ export type HttpxRedirect = "follow" | "error" | "manual";
91
+
92
+ /**
93
+ * 二进制数据
94
+ */
95
+ export type HttpxBinary = Uint8ArrayConstructor | ArrayBufferConstructor | DataViewConstructor | Blob | File;
96
+
97
+ /**
98
+ * 触发的响应函数名
99
+ */
100
+ export type HttpxResponseCallBackType = "onload" | "onerror" | "ontimeout" | "onabort";
101
+
102
+ /**
103
+ * 响应类型映射字典
104
+ */
105
+ export type HttpxResponseTypeMap = {
106
+ arraybuffer: ArrayBuffer;
107
+ blob: Blob;
108
+ json: any;
109
+ stream: ReadableStream<string>;
110
+ document: Document;
111
+ html: string;
112
+ };
113
+
114
+ /**
115
+ * headers的配置
116
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers
117
+ */
118
+ export declare interface HttpxHeaders {
119
+ /**
120
+ * Accept 请求头用来告知(服务器)客户端可以处理的内容类型,这种内容类型用MIME 类型来表示。
121
+ * 借助内容协商机制, 服务器可以从诸多备选项中选择一项进行应用,并使用 Content-Type 应答头通知客户端它的选择。
122
+ * 浏览器会基于请求的上下文来为这个请求头设置合适的值,比如获取一个 CSS 层叠样式表时值与获取图片、视频或脚本文件时的值是不同的。
123
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept
124
+ */
125
+ Accept?: string;
126
+ /**
127
+ * 头由服务器设置,以指定客户端应在后续请求中应包含哪些客户端 Client Hints (en-US) 提示头
128
+ * + 备注: Client Hints (en-US) 只能在安全源(通过 TLS)上访问。所有安全的请求都应该持久化 Accept-CH 和 Accept-CH-Lifetime 头,以确保 Client Hints (en-US) 可靠地发送。
129
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-CH
130
+ * @deprecated
131
+ */
132
+ "Accept-CH"?: string;
133
+ /**
134
+ * 服务器设置 Accept-CH-Lifetime 标头以指定Accept-CH标头值的持久性,该值指定客户端应在后续请求中包括哪些Client Hints (en-US)标头。
135
+ * + 备注: Client Hints (en-US)只能在安全源(通过 TLS)上访问。所有安全的请求都应该持久化 Accept-CH 和 Accept-CH-Lifetime 头,以确保Client Hints (en-US)可靠地发送。
136
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-CH-Lifetime
137
+ * @deprecated
138
+ */
139
+ "Accept-CH-Lifetime"?: string;
140
+ /**
141
+ * Accept-Charset 请求头用来告知(服务器)客户端可以处理的字符集类型。
142
+ * 借助内容协商机制,服务器可以从诸多备选项中选择一项进行应用,并使用Content-Type 应答头通知客户端它的选择。
143
+ * 浏览器通常不会设置此项值,因为每种内容类型的默认值通常都是正确的,但是发送它会更有利于识别。
144
+ * 如果服务器不能提供任何可以匹配的字符集的版本,那么理论上来说应该返回一个 406(Not Acceptable,不被接受)的错误码。
145
+ * 但是为了更好的用户体验,这种方法很少采用,取而代之的是将其忽略。
146
+ * + 备注: 在早期版本的 HTTP/1.1 协议中,规定了一个默认的字符集 (ISO-8859-1)。但是现在情况不同了,目前每一种内容类型都有自己的默认字符集。
147
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Charset
148
+ */
149
+ "Accept-Charset"?: string;
150
+ /**
151
+ * HTTP 请求头 Accept-Encoding 会将客户端能够理解的内容编码方式——通常是某种压缩算法——进行通知(给服务端)。
152
+ * 通过内容协商的方式,服务端会选择一个客户端提议的方式,使用并在响应头 Content-Encoding 中通知客户端该选择。
153
+ * 即使客户端和服务器都支持相同的压缩算法,在 identity 指令可以被接受的情况下,服务器也可以选择对响应主体不进行压缩。导致这种情况出现的两种常见的情形是:
154
+ * + 要发送的数据已经经过压缩,再次进行压缩不会导致被传输的数据量更小。一些图像格式的文件会存在这种情况;
155
+ * + 服务器超载,无法承受压缩需求导致的计算开销。通常,如果服务器使用超过 80% 的计算能力,微软建议不要压缩。
156
+ *
157
+ * 只要 identity——表示不需要进行任何编码——没有被明确禁止使用(通过 identity;q=0 指令或是 *;q=0 而没有为 identity 明确指定权重值),则服务器禁止返回表示客户端错误的 406 Not Acceptable 响应。
158
+ * + 备注: IANA 维护了一个完整的官方支持的编码方式列表。
159
+ * 另外两种编码方式——bzip 和 bzip2——有时候也会用到,尽管并未在标准中出现。这两种方式实现了 UNIX 系统上的同名程序所采用的算法。注意第一种由于专利许可问题已经停止维护。
160
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Encoding
161
+ */
162
+ "Accept-Encoding"?: string;
163
+ /**
164
+ * Accept-Language 请求头允许客户端声明它可以理解的自然语言,以及优先选择的区域方言。
165
+ * 借助内容协商机制,服务器可以从诸多备选项中选择一项进行应用,并使用 Content-Language 应答头通知客户端它的选择。
166
+ * 浏览器会基于其用户界面语言为这个请求头设置合适的值,即便是用户可以进行修改,但是这种情况极少发生(因为可增加指纹独特性,通常也不被鼓励)
167
+ * (译者注:通常只在测试网站的多语言支持时手动修改它;或为进一步减少指纹独特性,改为最常见的英文)。
168
+ * 当服务器无法通过其他方式来确定应当使用的语言时——例如某一特定的 URL,这是用户明确指定的——这个请求头可以用作提示。建议服务器端永远不要覆盖明确指定的信息。
169
+ * Accept-Language 消息头的内容通常不在用户的掌控之中(例如在国外旅行时到提供网络服务的场所上网);
170
+ * 另外用户可能会想要浏览非本地用户界面语言的页面。
171
+ * 如果服务器不能提供任何可以匹配的语言的版本,那么理论上来说应该返回一个 406(Not Acceptable,不被接受)的错误码。
172
+ * 但是为了更好的用户体验,这种方法很少被采用,取而代之的是将其忽略。
173
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Language
174
+ *
175
+ */
176
+ "Accept-Language"?: string;
177
+ /**
178
+ * 服务器使用 HTTP 响应头 Accept-Patch 通知浏览器请求的媒体类型 (media-type) 可以被服务器理解。
179
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Patch
180
+ */
181
+ "Accept-Patch"?: string;
182
+ /**
183
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Post
184
+ */
185
+ "Accept-Post"?: string;
186
+ /**
187
+ * 服务器使用 HTTP 响应头 Accept-Ranges 标识自身支持范围请求 (partial requests)。字段的具体值用于定义范围请求的单位。
188
+ * 当浏览器发现Accept-Ranges头时,可以尝试继续中断了的下载,而不是重新开始。
189
+ *
190
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept-Ranges
191
+ */
192
+ "Accept-Ranges"?: "bytes" | "none";
193
+ /**
194
+ * Access-Control-Allow-Credentials 响应头用于在请求要求包含 credentials(Request.credentials 的值为 include)时,告知浏览器是否可以将对请求的响应暴露给前端 JavaScript 代码。
195
+ * 当请求的 credentials 模式(Request.credentials)为 include 时,浏览器仅在响应标头 Access-Control-Allow-Credentials 的值为 true 的情况下将响应暴露给前端的 JavaScript 代码。
196
+ * Credentials 可以是 cookies、authorization headers 或 TLS client certificates。
197
+ * 当作为对预检请求的响应的一部分时,这能表示是否真正的请求可以使用 credentials。
198
+ * 注意简单的GET 请求没有预检,所以若一个对资源的请求带了 credentials,如果这个响应头没有随资源返回,响应就会被浏览器忽视,不会返回到 web 内容。
199
+ * Access-Control-Allow-Credentials 标头需要与 XMLHttpRequest.withCredentials 或 Fetch API 的 Request() 构造函数中的 credentials 选项结合使用。
200
+ * Credentials 必须在前后端都被配置(即 Access-Control-Allow-Credentials header 和 XHR 或 Fetch request 中都要配置)才能使带 credentials 的 CORS 请求成功。
201
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
202
+ */
203
+ "Access-Control-Allow-Credentials"?: "true";
204
+ /**
205
+ * 响应首部 Access-Control-Allow-Headers 用于 preflight request(预检请求)中,列出了将会在正式请求的 Access-Control-Request-Headers 字段中出现的首部信息。
206
+ * 简单首部,如 simple headers、Accept、Accept-Language、Content-Language、Content-Type(只限于解析后的值为 application/x-www-form-urlencoded、multipart/form-data 或 text/plain 三种 MIME 类型(不包括参数)),它们始终是被支持的,不需要在这个首部特意列出。
207
+ * 如果请求中含有 Access-Control-Request-Headers 字段,那么这个首部是必要的。
208
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
209
+ */
210
+ "Access-Control-Allow-Headers"?: string;
211
+ /**
212
+ * 响应首部 Access-Control-Allow-Methods 在对 preflight request.(预检请求)的应答中明确了客户端所要访问的资源允许使用的方法或方法列表。
213
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Methods
214
+ */
215
+ "Access-Control-Allow-Methods"?: string;
216
+ /**
217
+ * Access-Control-Allow-Origin 响应标头指定了该响应的资源是否被允许与给定的来源(origin)共享。
218
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
219
+ */
220
+ "Access-Control-Allow-Origin"?: "*" | "<origin>" | "null";
221
+ /**
222
+ * 响应标头 Access-Control-Expose-Headers 允许服务器指示那些响应标头可以暴露给浏览器中运行的脚本,以响应跨源请求。
223
+ * 默认情况下,仅暴露 CORS 安全列表的响应标头 (en-US)。
224
+ * 如果想要让客户端可以访问到其他的标头,服务器必须将它们在 Access-Control-Expose-Headers 里面列出来。
225
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Expose-Headers
226
+ */
227
+ "Access-Control-Expose-Headers"?: string;
228
+ /**
229
+ * The Access-Control-Max-Age 这个响应头表示 preflight request (预检请求)的返回结果(即 Access-Control-Allow-Methods 和Access-Control-Allow-Headers 提供的信息)可以被缓存多久。
230
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Max-Age
231
+ */
232
+ "Access-Control-Max-Age"?: string;
233
+ /**
234
+ * 请求头 Access-Control-Request-Headers 出现于 preflight request(预检请求)中,用于通知服务器在真正的请求中会采用哪些请求头。
235
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Request-Headers
236
+ */
237
+ "Access-Control-Request-Headers"?: string;
238
+ /**
239
+ * 请求头 Access-Control-Request-Method 出现于 preflight request(预检请求)中,用于通知服务器在真正的请求中会采用哪种 HTTP 方法。因为预检请求所使用的方法总是 OPTIONS ,与实际请求所使用的方法不一样,所以这个请求头是必要的。
240
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Request-Method
241
+ */
242
+ "Access-Control-Request-Method"?: HttpxMethod;
243
+ /**
244
+ * Age 消息头里包含对象在缓存代理中存贮的时长,以秒为单位。
245
+ * Age 的值通常接近于 0。表示此对象刚刚从原始服务器获取不久;其他的值则是表示代理服务器当前的系统时间与此应答中的通用头 Date 的值之差。
246
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Age
247
+ */
248
+ Age?: string;
249
+ /**
250
+ * Allow 首部字段用于枚举资源所支持的 HTTP 方法的集合。
251
+ * 若服务器返回状态码 405 Method Not Allowed,则该首部字段亦需要同时返回给客户端。
252
+ * 如果 Allow 首部字段的值为空,说明资源不接受使用任何 HTTP 方法的请求。
253
+ * 这是可能的,比如服务器需要临时禁止对资源的任何访问。
254
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Allow
255
+ */
256
+ Allow?: string;
257
+ /**
258
+ * Alt-Svc 全称为“Alternative-Service”,直译为“备选服务”。
259
+ * 该头部列举了当前站点备选的访问方式列表。一般用于在提供“QUIC”等新兴协议支持的同时,实现向下兼容。
260
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Alt-Svc
261
+ */
262
+ "Alt-Svc"?: string;
263
+ /**
264
+ *
265
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Alt-Used
266
+ */
267
+ "Alt-Used"?: string;
268
+ /**
269
+ * HTTP Authorization 请求标头用于提供服务器验证用户代理身份的凭据,允许访问受保护的资源。
270
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Authorization
271
+ */
272
+ Authorization?: string;
273
+ /**
274
+ * Cache-Control 通用消息头字段,被用于在 http 请求和响应中,通过指定指令来实现缓存机制。缓存指令是单向的,这意味着在请求中设置的指令,不一定被包含在响应中。
275
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cache-Control
276
+ */
277
+ "Cache-Control"?: string;
278
+ /**
279
+ * Clear-Site-Data 响应头,表示清除当前请求网站有关的浏览器数据(cookie,存储,缓存)。它让 Web 开发人员对浏览器本地存储的数据有更多控制能力。
280
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Clear-Site-Data
281
+ */
282
+ "Clear-Site-Data"?: string;
283
+ /**
284
+ * Connection 通用标头控制网络连接在当前会话完成后是否仍然保持打开状态。如果发送的值是 keep-alive,则连接是持久的,不会关闭,允许对同一服务器进行后续请求。
285
+ * 除去标准的逐段传输(hop-by-hop)头(Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade (en-US), Proxy-Authorization and Proxy-Authenticate),任何逐段传输头都需要在 Connection 头中列出,这样才能让第一个代理知道必须处理它们且不转发这些头。
286
+ * 标准的逐段传输头也可以列出(常见的例子是 Keep-Alive,但这不是必须的)。
287
+ * + 警告: 在 HTTP/2 和 HTTP/3 中,禁止使用特定于连接的标头字段,如 Connection 和 Keep-Alive。
288
+ * Chrome 和 Firefox 会在 HTTP/2 响应中忽略它们,但 Safari 遵循 HTTP/2 规范要求,不会加载包含这些字段的任何响应。
289
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Connection
290
+ * @deprecated
291
+ */
292
+ Connection?: "keep-alive" | "close";
293
+ /**
294
+ * 在常规的 HTTP 应答中,Content-Disposition 响应标头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。
295
+ *
296
+ * 在 multipart/form-data 类型的应答消息体中,Content-Disposition 通用标头可以被用在 multipart 消息体的子部分中,用来给出其对应字段的相关信息。
297
+ * 各个子部分由在 Content-Type 中定义的边界(boundary)分隔。用在消息体自身则无实际意义。
298
+ *
299
+ * Content-Disposition 标头最初是在 MIME 标准中定义的,HTTP 表单及 POST 请求只用到了其所有参数的一个子集。
300
+ * 只有 form-data 以及可选的 name 和 filename 三个参数可以应用在 HTTP 上下文中。
301
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Disposition
302
+ */
303
+ "Content-Disposition"?: string;
304
+ /**
305
+ *
306
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-DPR
307
+ * @deprecated
308
+ */
309
+ "Content-DPR"?: string;
310
+ /**
311
+ * 实体消息首部 Content-Encoding 列出了对当前实体消息(消息荷载)应用的任何编码类型,以及编码的顺序。
312
+ * 它让接收者知道需要以何种顺序解码该实体消息才能获得原始荷载格式。
313
+ * Content-Encoding 主要用于在不丢失原媒体类型内容的情况下压缩消息数据。
314
+ *
315
+ * 请注意原始媒体/内容的类型通过 Content-Type 首部给出,而 Content-Encoding 应用于数据的表示,或“编码形式”。
316
+ * 如果原始媒体以某种方式编码(例如 zip 文件),则该信息不应该被包含在 Content-Encoding 首部内。
317
+ *
318
+ * 一般建议服务器应对数据尽可能地进行压缩,并在适当情况下对内容进行编码。
319
+ * 对一种压缩过的媒体类型如 zip 或 jpeg 进行额外的压缩并不合适,因为这反而有可能会使荷载增大。
320
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Encoding
321
+ */
322
+ "Content-Encoding"?: "gzip" | "compress" | "deflate" | "br";
323
+ /**
324
+ * Content-Language 是一个 entity header(实体消息首部),用来说明访问者希望采用的语言或语言组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容。
325
+ *
326
+ * 举个例子,假如设置了这样一条消息首部( "Content-Language: de-DE" ),那么说明这份文件是为说德语的人提供的(当然这并不意味着文件本身就是用德语写的。
327
+ * 比如,它可能是为说德语的人开设的英语教程的一部分,也就是用英语写的)。
328
+ *
329
+ * 如果没有指明 Content-Language,那么默认地,文件内容是提供给所有语言的访问者使用的。
330
+ * 多个语言标签也是合法的,同样的,这个首部还可以用来描述不同媒体类型的文件,而不单单局限于文本型文档。
331
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Language
332
+ */
333
+ "Content-Language"?: string;
334
+ /**
335
+ * Content-Length 是一个实体消息首部,用来指明发送给接收方的消息主体的大小,即用十进制数字表示的八位元组的数目。
336
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Length
337
+ */
338
+ "Content-Length"?: string;
339
+ /**
340
+ * Content-Location 首部指定的是要返回的数据的地址选项。
341
+ * 最主要的用途是用来指定要访问的资源经过内容协商后的结果的 URL。
342
+ *
343
+ * Location 与 Content-Location是不同的,前者(Location )指定的是一个重定向请求的目的地址(或者新创建的文件的 URL),而后者( Content-Location)指向的是可供访问的资源的直接地址,不需要进行进一步的内容协商。
344
+ * Location 对应的是响应,而 Content-Location 对应的是要返回的实体。
345
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Location
346
+ */
347
+ "Content-Location"?: string;
348
+ /**
349
+ * 在 HTTP 协议中,响应首部 Content-Range 显示的是一个数据片段在整个文件中的位置。
350
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Range
351
+ */
352
+ "Content-Range"?: string;
353
+ /**
354
+ * HTTP 响应头 Content-Security-Policy 允许站点管理者控制用户代理能够为指定的页面加载哪些资源。
355
+ * 除了少数例外情况,设置的政策主要涉及指定服务器的源和脚本结束点。
356
+ * 这将帮助防止跨站脚本攻击(Cross-Site Script)(XSS (en-US))。
357
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy
358
+ */
359
+ "Content-Security-Policy"?: string;
360
+ /**
361
+ * HTTP **Content-Security-Policy-Report-Only**响应头允许 web 开发人员通过监测 (但不强制执行) 政策的影响来尝试政策。
362
+ * 这些违反报告由 JSON 文档组成通过一个 HTTP POST 请求发送到指定的 URI。
363
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
364
+ */
365
+ "Content-Security-Policy-Report-Only"?: string;
366
+ /**
367
+ * Content-Type 实体头部用于指示资源的 MIME 类型 media type 。
368
+ *
369
+ * 在响应中,Content-Type 标头告诉客户端实际返回的内容的内容类型。
370
+ * 浏览器会在某些情况下进行 MIME 查找,并不一定遵循此标题的值;
371
+ * 为了防止这种行为,可以将标题 X-Content-Type-Options 设置为 nosniff
372
+ *
373
+ * 在请求中 (如POST 或 PUT),客户端告诉服务器实际发送的数据类型。
374
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Type
375
+ */
376
+ "Content-Type"?:
377
+ | "text/html; charset=utf-8"
378
+ | "multipart/form-data"
379
+ | "application/x-www-form-urlencoded"
380
+ | "application/json"
381
+ | string;
382
+ /**
383
+ * Cookie 是一个 HTTP 请求标头,其中含有先前由服务器通过 Set-Cookie 标头投放或通过 JavaScript 的 Document.cookie 方法设置,然后存储到客户端的 HTTP cookie 。
384
+ * 这个标头是可选的,而且可能会被忽略,例如在浏览器的隐私设置里面设置为禁用 cookie。
385
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cookie
386
+ */
387
+ Cookie?: string;
388
+ /**
389
+ *
390
+ * + https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Critical-CH
391
+ * @deprecated
392
+ */
393
+ "Critical-CH"?: string;
394
+ /**
395
+ * HTTP Cross-Origin-Embedder-Policy (COEP) 响应标头可防止文档加载未明确授予文档权限 (通过 CORP (en-US) 或者 CORS) 的任何跨域资源。
396
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy
397
+ */
398
+ "Cross-Origin-Embedder-Policy"?: string;
399
+ /**
400
+ *
401
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy
402
+ */
403
+ "Cross-Origin-Opener-Policy"?: string;
404
+ /**
405
+ * + 备注: 由于Chrome 浏览器中的一个 Bug, 设置 Cross-Origin-Resource-Policy(跨域资源策略)会使文件下载失败:当从设置了 CORP 请求头的资源服务器下载资源时,浏览器会阻止用户使用“保存”或“另存为”按钮将文件保存到本地。在决定生产环境中是否使用这一特性(CORP)之前需要慎重考虑。
406
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cross-Origin-Resource-Policy
407
+ */
408
+ "Cross-Origin-Resource-Policy"?: string;
409
+ /**
410
+ * Date 是一个通用首部,其中包含了报文创建的日期和时间。
411
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Date
412
+ */
413
+ Date?: string;
414
+ /**
415
+ * Device-Memory 是一个跟 Device Memory API (en-US) 相关的请求头,它跟 Client Hints (en-US) 请求头的作用相似,用来表示客户端设备内存的近似大小。
416
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Device-Memory
417
+ * @deprecated
418
+ */
419
+ "Device-Memory"?: string;
420
+ /**
421
+ * Digest 响应 HTTP 头提供了请求资源一个 摘要 。
422
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Digest
423
+ */
424
+ Digest?: string;
425
+ /**
426
+ * navigator.doNotTrack
427
+ *
428
+ * 请求首部 DNT (Do Not Track) 表明了用户对于网站追踪的偏好。它允许用户指定自己是否更注重个人隐私还是定制化内容。
429
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/DNT
430
+ * + 0 表示用户愿意目标站点追踪用户个人信息。
431
+ * + 1 表示用户不愿意目标站点追踪用户个人信息。
432
+ * @deprecated
433
+ */
434
+ DNT?: "0" | "1";
435
+ /**
436
+ *
437
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Downlink
438
+ */
439
+ Downlink?: string;
440
+ /**
441
+ * **DPR**请求头是“ 客户端提示” (en-US)消息头,它代表客户端设备的像素比 (DPR),该比例是与每个 CSS 像素相对应的物理设备像素的数量。
442
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/DPR
443
+ * @deprecated
444
+ */
445
+ DPR?: string;
446
+ /**
447
+ * Early-Data 头(header)由某个中间者设置来表示请求已在 TLS early data 中传送,且表示 某个中间者理解 425 (Too Early) 状态码。
448
+ * Early-Data 头(header)不由请求的发起者设置 (例如,浏览器)。
449
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Early-Data
450
+ * @deprecated
451
+ */
452
+ "Early-Data"?: "1";
453
+ /**
454
+ *
455
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/ECT
456
+ * @deprecated
457
+ */
458
+ ECT?: string;
459
+ /**
460
+ * ETag HTTP 响应头是资源的特定版本的标识符。这可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web 服务器不需要发送完整的响应。
461
+ * 而如果内容发生了变化,使用 ETag 有助于防止资源的同时更新相互覆盖(“空中碰撞”)。
462
+ *
463
+ * 如果给定 URL 中的资源更改,则一定要生成新的 ETag 值。比较这些 ETag 能快速确定此资源是否变化。
464
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/ETag
465
+ */
466
+ ETag?: string;
467
+ /**
468
+ * Expect 是一个请求消息头,包含一个期望条件,表示服务器只有在满足此期望条件的情况下才能妥善地处理请求。
469
+ *
470
+ * 规范中只规定了一个期望条件,即 Expect: 100-continue, 对此服务器可以做出如下回应:
471
+ * + 100 如果消息头中的期望条件可以得到满足,使得请求可以顺利进行的话,
472
+ * + 417 (Expectation Failed) 如果服务器不能满足期望条件的话;也可以是其他任意表示客户端错误的状态码(4xx)。
473
+ *
474
+ * 例如,如果请求中 Content-Length 的值太大的话,可能会遭到服务器的拒绝。
475
+ *
476
+ * 常见的浏览器不会发送 Expect 消息头,但是其他类型的客户端如 cURL 默认会这么做。
477
+ *
478
+ *
479
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Expect
480
+ */
481
+ Expect?: string;
482
+ /**
483
+ * Expect-CT 标头允许站点选择性地报告和/或执行证书透明度(Certificate Transparency)要求,来防止错误签发的网站证书的使用不被察觉。
484
+ *
485
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Expect-CT
486
+ */
487
+ "Expect-CT"?: string;
488
+ /**
489
+ * Expires 响应头包含日期/时间,即在此时候之后,响应过期。
490
+ *
491
+ * 无效的日期,比如 0,代表着过去的日期,即该资源已经过期。
492
+ *
493
+ * 如果在Cache-Control响应头设置了 "max-age" 或者 "s-max-age" 指令,那么 Expires 头会被忽略。
494
+ *
495
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Expires
496
+ */
497
+ Expires?: string;
498
+ /**
499
+ * Forwarded 首部中包含了代理服务器的客户端的信息,即由于代理服务器在请求路径中的介入而被修改或丢失的信息。
500
+ *
501
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Forwarded
502
+ */
503
+ Forwarded?: string;
504
+ /**
505
+ * 请求首部 From 中包含一个电子邮箱地址,这个电子邮箱地址属于发送请求的用户代理的实际掌控者的人类用户。
506
+ *
507
+ * 如果你在运行一个机器人代理程序(比如爬虫),那么 Form 首部应该随请求一起发送,这样的话,在服务器遇到问题的时候,例如机器人代理发送了过量的、不希望收到的或者不合法的请求,站点管理员可以联系到你。
508
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/From
509
+ */
510
+ From?: string;
511
+ /**
512
+ * Host 请求头指明了请求将要发送到的服务器主机名和端口号。
513
+ *
514
+ * 如果没有包含端口号,会自动使用被请求服务的默认端口(比如 HTTPS URL 使用 443 端口,HTTP URL 使用 80 端口)。
515
+ *
516
+ * 所有 HTTP/1.1 请求报文中必须包含一个Host头字段。对于缺少Host头或者含有超过一个Host头的 HTTP/1.1 请求,可能会收到400(Bad Request)状态码。
517
+ *
518
+ *
519
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Host
520
+ */
521
+ Host?: string;
522
+ /**
523
+ * 请求首部 If-Match 的使用表示这是一个条件请求。在请求方法为 GET 和 HEAD 的情况下,服务器仅在请求的资源满足此首部列出的 ETag值时才会返回资源。
524
+ * 而对于 PUT 或其他非安全方法来说,只有在满足条件的情况下才可以将资源上传。
525
+ *
526
+ *
527
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Match
528
+ */
529
+ "If-Match"?: string;
530
+ /**
531
+ * If-Modified-Since 是一个条件式请求首部,服务器只在所请求的资源在给定的日期时间之后对内容进行过修改的情况下才会将资源返回,状态码为 200 。
532
+ * 如果请求的资源从那时起未经修改,那么返回一个不带有消息主体的 304 响应,而在 Last-Modified 首部中会带有上次修改时间。
533
+ * 不同于 If-Unmodified-Since, If-Modified-Since 只可以用在 GET 或 HEAD 请求中。
534
+ *
535
+ * 当与 If-None-Match 一同出现时,它(If-Modified-Since)会被忽略掉,除非服务器不支持 If-None-Match。
536
+ *
537
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Modified-Since
538
+ */
539
+ "If-Modified-Since"?: string;
540
+ /**
541
+ * If-None-Match 是一个条件式请求首部。
542
+ * 对于 GETGET 和 HEAD 请求方法来说,当且仅当服务器上没有任何资源的 ETag 属性值与这个首部中列出的相匹配的时候,服务器端才会返回所请求的资源,响应码为 200 。
543
+ * 对于其他方法来说,当且仅当最终确认没有已存在的资源的 ETag 属性值与这个首部中所列出的相匹配的时候,才会对请求进行相应的处理。
544
+ *
545
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-None-Match
546
+ */
547
+ "If-None-Match"?: string;
548
+ /**
549
+ * If-Range HTTP 请求头字段用来使得 Range 头字段在一定条件下起作用:
550
+ * 当字段值中的条件得到满足时,Range 头字段才会起作用,同时服务器回复206 部分内容状态码,以及**Range** 头字段请求的相应部分;
551
+ * 如果字段值中的条件没有得到满足,服务器将会返回 200 OK 状态码,并返回完整的请求资源。
552
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Range
553
+ */
554
+ "If-Range"?: string;
555
+ /**
556
+ * HTTP 协议中的 If-Unmodified-Since 消息头用于请求之中,使得当前请求成为条件式请求:
557
+ * 只有当资源在指定的时间之后没有进行过修改的情况下,服务器才会返回请求的资源,或是接受 POST 或其他 non-safe 方法的请求。
558
+ * 如果所请求的资源在指定的时间之后发生了修改,那么会返回 412 (Precondition Failed) 错误。
559
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/
560
+ */
561
+ "If-Unmodified-Since"?: string;
562
+ /**
563
+ * Keep-Alive 是一个通用消息头,允许消息发送者暗示连接的状态,还可以用来设置超时时长和最大请求数。
564
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Keep-Alive
565
+ */
566
+ "Keep-Alive"?: string;
567
+ /**
568
+ * 非标准的**Large-Allocation** 响应头部是用来告诉浏览器加载该页面可能需要申请大内存。当前只有 Firefox 实现该特性,但是对其他浏览器也无损害。
569
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Large-Allocation
570
+ * @deprecated
571
+ */
572
+ "Large-Allocation"?: string;
573
+ /**
574
+ * Last-Modified 是一个响应首部,其中包含源头服务器认定的资源做出修改的日期及时间。它通常被用作一个验证器来判断接收到的或者存储的资源是否彼此一致。
575
+ * 由于精确度比 ETag 要低,所以这是一个备用机制。包含有 If-Modified-Since 或 If-Unmodified-Since 首部的条件请求会使用这个字段。
576
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Last-Modified
577
+ */
578
+ "Last-Modified"?: string;
579
+ /**
580
+ * HTTP 实体报头 Link 提供了序列化 HTTP 头部链接的方法。
581
+ * 它在语义上与 HTML 元素 <link> 相等。
582
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Link
583
+ */
584
+ Link?: string;
585
+ /**
586
+ * Location 首部指定的是需要将页面重新定向至的地址。
587
+ * 一般在响应码为 3xx 的响应中才会有意义。
588
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Location
589
+ */
590
+ Location?: string;
591
+ /**
592
+ *
593
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Max-Forwards
594
+ */
595
+ "Max-Forwards"?: string;
596
+ /**
597
+ *
598
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/NEL
599
+ */
600
+ NEL?: string;
601
+ /**
602
+ * 请求标头 Origin 表示了请求的来源(协议、主机、端口)。
603
+ * 例如,如果一个用户代理需要请求一个页面中包含的资源,或者执行脚本中的 HTTP 请求(fetch),那么该页面的来源(origin)就可能被包含在这次请求中。
604
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Origin
605
+ */
606
+ Origin?: string;
607
+ /**
608
+ *
609
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Origin-Agent-Cluster
610
+ */
611
+ "Origin-Agent-Cluster"?: string;
612
+ /**
613
+ *
614
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Permissions-Policy
615
+ */
616
+ "Permissions-Policy"?: string;
617
+ /**
618
+ *
619
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Pragma
620
+ * @deprecated
621
+ */
622
+ Pragma?: string;
623
+ /**
624
+ * The HTTP Proxy-Authenticate 是一个响应首部,指定了获取 proxy server(代理服务器)上的资源访问权限而采用的身份验证方式。
625
+ * 代理服务器对请求进行验证,以便它进一步传递请求。
626
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Proxy-Authenticate
627
+ */
628
+ "Proxy-Authenticate"?: string;
629
+ /**
630
+ * Proxy-Authorization 是一个请求首部,其中包含了用户代理提供给代理服务器的用于身份验证的凭证。
631
+ * 这个首部通常是在服务器返回了 407 Proxy Authentication Required 响应状态码及 Proxy-Authenticate 首部后发送的。
632
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Proxy-Authorization
633
+ */
634
+ "Proxy-Authorization"?: string;
635
+ /**
636
+ * The Range 是一个请求首部,告知服务器返回文件的哪一部分。在一个 Range 首部中,可以一次性请求多个部分,服务器会以 multipart 文件的形式将其返回。
637
+ * 如果服务器返回的是范围响应,需要使用 206 Partial Content 状态码。
638
+ * 假如所请求的范围不合法,那么服务器会返回 416 Range Not Satisfiable 状态码,表示客户端错误。
639
+ * 服务器允许忽略 Range 首部,从而返回整个文件,状态码用 200 。
640
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Range
641
+ */
642
+ Range?: string;
643
+ /**
644
+ * Referer 请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。
645
+ * 服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
646
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referer
647
+ */
648
+ Referer?: string;
649
+ /**
650
+ * Referrer-Policy 首部用来监管哪些访问来源信息——会在 Referer 中发送——应该被包含在生成的请求当中
651
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy
652
+ */
653
+ "Referrer-Policy"?:
654
+ | "no-referrer"
655
+ | "no-referrer-when-downgrade"
656
+ | "origin"
657
+ | "origin-when-cross-origin"
658
+ | "same-origin"
659
+ | "strict-origin"
660
+ | "strict-origin-when-cross-origin"
661
+ | "unsafe-url";
662
+ /**
663
+ * 在 HTTP 协议中,响应首部 Retry-After 表示用户代理需要等待多长时间之后才能继续发送请求。这个首部主要应用于以下两种场景:
664
+ * + 当与 503 (Service Unavailable,当前服务不存在) 响应一起发送的时候,表示服务下线的预期时长。
665
+ * + 当与重定向响应一起发送的时候,比如 301 (Moved Permanently,永久迁移),表示用户代理在发送重定向请求之前需要等待的最短时间。
666
+ *
667
+ *
668
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Retry-After
669
+ */
670
+ "Retry-After"?: string;
671
+ /**
672
+ *
673
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/RTT
674
+ * @deprecated
675
+ */
676
+ RTT?: string;
677
+ /**
678
+ *
679
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Save-Data
680
+ * @deprecated
681
+ */
682
+ "Save-Data"?: string;
683
+ /**
684
+ *
685
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme
686
+ * @deprecated
687
+ */
688
+ "Sec-CH-Prefers-Color-Scheme"?: string;
689
+ /**
690
+ *
691
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion
692
+ * @deprecated
693
+ */
694
+ "Sec-CH-Prefers-Reduced-Motion"?: string;
695
+ /**
696
+ *
697
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Transparency
698
+ * @deprecated
699
+ */
700
+ "Sec-CH-Prefers-Reduced-Transparency"?: string;
701
+ /**
702
+ *
703
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA
704
+ * @deprecated
705
+ */
706
+ "Sec-CH-UA"?: string;
707
+ /**
708
+ *
709
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Arch
710
+ * @deprecated
711
+ */
712
+ "Sec-CH-UA-Arch"?: string;
713
+ /**
714
+ *
715
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Bitness
716
+ * @deprecated
717
+ */
718
+ "Sec-CH-UA-Bitness"?: string;
719
+ /**
720
+ *
721
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Full-Version
722
+ * @deprecated
723
+ */
724
+ "Sec-CH-UA-Full-Version"?: string;
725
+ /**
726
+ *
727
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Full-Version-List
728
+ * @deprecated
729
+ */
730
+ "Sec-CH-UA-Full-Version-List"?: string;
731
+ /**
732
+ *
733
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Mobile
734
+ * @deprecated
735
+ */
736
+ "Sec-CH-UA-Mobile"?: string;
737
+ /**
738
+ *
739
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Model
740
+ * @deprecated
741
+ */
742
+ "Sec-CH-UA-Model"?: string;
743
+ /**
744
+ *
745
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Platform
746
+ * @deprecated
747
+ */
748
+ "Sec-CH-UA-Platform"?: string;
749
+ /**
750
+ *
751
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-CH-UA-Platform-Version
752
+ * @deprecated
753
+ */
754
+ "Sec-CH-UA-Platform-Version"?: string;
755
+ /**
756
+ * Sec-Fetch-Dest Fetch 元数据请求标头指示请求的目标,即数据的来源以及如何使用这些获取到的数据。
757
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-Dest
758
+ */
759
+ "Sec-Fetch-Dest"?: string;
760
+ /**
761
+ * Sec-Fetch-Mode 获取元数据标头表明了一个请求的模式。
762
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-Mode
763
+ */
764
+ "Sec-Fetch-Mode"?: string;
765
+ /**
766
+ * Sec-Fetch-Site 获取元数据标头表明了一个请求发起者的来源与目标资源来源之间的关系。
767
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-Site
768
+ */
769
+ "Sec-Fetch-Site"?: string;
770
+ /**
771
+ * Sec-Fetch-User 获取元数据标头表明了一个导航请求是否由用户激活触发。
772
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Fetch-User
773
+ */
774
+ "Sec-Fetch-User"?: string;
775
+ /**
776
+ *
777
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-GPC
778
+ * @deprecated
779
+ */
780
+ "Sec-GPC"?: string;
781
+ /**
782
+ *
783
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-Purpose
784
+ */
785
+ "Sec-Purpose"?: string;
786
+ /**
787
+ * Sec-WebSocket-Accept 头(header)用在 websocket 开放握手中。它会出现在响应头中。
788
+ * 也就是说,这是由服务器发送到客户端的头(header),用以告知服务器愿发起一个 websocket 连接。
789
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Sec-WebSocket-Accept
790
+ */
791
+ "Sec-WebSocket-Accept"?: string;
792
+ /**
793
+ * Server 首部包含了处理请求的源头服务器所用到的软件相关信息。
794
+ *
795
+ * 应该避免使用过长或者过于详细的描述作为 Server 的值,因为这有可能泄露服务器的内部实现细节,有利于攻击者找到或者探测已知的安全漏洞。
796
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Server
797
+ */
798
+ Server?: string;
799
+ /**
800
+ * Server-Timing 标头传达在一个给定请求 - 响应周期中的一个或多个参数和描述。
801
+ * 它用于在用户浏览器的开发工具或 PerformanceServerTiming (en-US) 接口中显示任何后端服务器定时参数(例如,数据库读/写、CPU 时间、文件系统访问等)。
802
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Server-Timing
803
+ */
804
+ "Server-Timing"?: string;
805
+ /**
806
+ *
807
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Service-Worker-Navigation-Preload
808
+ */
809
+ "Service-Worker-Navigation-Preload"?: string;
810
+ /**
811
+ * Set-Cookie HTTP 响应标头用于将 cookie 由服务器发送到用户代理,以便用户代理在后续的请求中可以将其发送回服务器。
812
+ * 要发送多个 cookie,则应在同一响应中发送多个 Set-Cookie 标头。
813
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie
814
+ */
815
+ "Set-Cookie"?: string;
816
+ /**
817
+ * SourceMap HTTP 响应头链接生成的代码到一个 source map,使浏览器能够重建原始的资源然后显示在调试器里。
818
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/SourceMap
819
+ */
820
+ SourceMap?: string;
821
+ /**
822
+ * HTTP Strict-Transport-Security(通常简称为 HSTS)响应标头用来通知浏览器应该只通过 HTTPS 访问该站点,并且以后使用 HTTP 访问该站点的所有尝试都应自动重定向到 HTTPS。
823
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Strict-Transport-Security
824
+ */
825
+ "Strict-Transport-Security"?: string;
826
+ /**
827
+ *
828
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Supports-Loading-Mode
829
+ * @deprecated
830
+ */
831
+ "Supports-Loading-Mode"?: string;
832
+ /**
833
+ * TE 请求型头部用来指定用户代理希望使用的传输编码类型。(可以将其非正式称为 Accept-Transfer-Encoding,这个名称显得更直观一些)。
834
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/TE
835
+ */
836
+ TE?: string;
837
+ /**
838
+ * 响应头 Timing-Allow-Origin 用于指定特定站点,以允许其访问Resource Timing API提供的相关信息,否则这些信息会由于跨源限制将被报告为零
839
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Timing-Allow-Origin
840
+ */
841
+ "Timing-Allow-Origin"?: string;
842
+ /**
843
+ * Tk 响应首部显示了对相应请求的跟踪情况。
844
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Tk
845
+ */
846
+ Tk?: "!" | "?" | "G" | "N" | "T" | "C" | "P" | "D" | "U";
847
+ /**
848
+ * Trailer 是一个响应首部,允许发送方在分块发送的消息后面添加额外的元信息,这些元信息可能是随着消息主体的发送动态生成的,比如消息的完整性校验,消息的数字签名,或者消息经过处理之后的最终状态等。
849
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Trailer
850
+ */
851
+ Trailer?: string;
852
+ /**
853
+ * Transfer-Encoding 消息首部指明了将 entity 安全传递给用户所采用的编码形式。
854
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Transfer-Encoding
855
+ */
856
+ "Transfer-Encoding"?: string;
857
+ /**
858
+ *
859
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Upgrade
860
+ */
861
+ Upgrade?: string;
862
+ /**
863
+ * Upgrade-Insecure-Requests 是一个请求首部,用来向服务器端发送信号,表示客户端优先选择加密及带有身份验证的响应,并且它可以成功处理 upgrade-insecure-requests CSP (en-US) 指令。
864
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Upgrade-Insecure-Requests
865
+ */
866
+ "Upgrade-Insecure-Requests"?: string;
867
+ /**
868
+ * User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。
869
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/User-Agent
870
+ */
871
+ "User-Agent"?: string;
872
+ /**
873
+ * Vary HTTP 响应标头描述了除方法和 URL 之外影响响应内容的请求消息。大多数情况下,这用于在使用内容协商时创建缓存键。
874
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Vary
875
+ */
876
+ Vary?: string;
877
+ /**
878
+ * Via 是一个通用首部,是由代理服务器添加的,适用于正向和反向代理,在请求和响应首部中均可出现。
879
+ * 这个消息首部可以用来追踪消息转发情况,防止循环请求,以及识别在请求或响应传递链中消息发送者对于协议的支持能力。
880
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Via
881
+ */
882
+ Via?: string;
883
+ /**
884
+ *
885
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Viewport-Width
886
+ * @deprecated
887
+ */
888
+ "Viewport-Width"?: string;
889
+ /**
890
+ *
891
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Want-Digest
892
+ * @deprecated
893
+ */
894
+ "Want-Digest"?: string;
895
+ /**
896
+ *
897
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Warning
898
+ * @deprecated
899
+ */
900
+ Warning?: string;
901
+ /**
902
+ *
903
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Width
904
+ * @deprecated
905
+ */
906
+ Width?: string;
907
+ /**
908
+ * HTTP WWW-Authenticate 响应标头定义了 HTTP 身份验证的方法(“质询”),它用于获取特定资源的访问权限。
909
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/WWW-Authenticate
910
+ */
911
+ "WWW-Authenticate"?: string;
912
+ /**
913
+ * X-Content-Type-Options HTTP 消息头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改。
914
+ * 这就禁用了客户端的 MIME 类型嗅探行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。
915
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options
916
+ */
917
+ "X-Content-Type-Options"?: string;
918
+ /**
919
+ * X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>、<iframe>、<embed> 或者 <object> 中展现的标记。
920
+ * 站点可以通过确保网站没有被嵌入到别人的站点里面,从而避免点击劫持 (en-US)攻击。
921
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Frame-Options
922
+ */
923
+ "X-Frame-Options"?: string;
924
+ /**
925
+ * HTTP X-XSS-Protection 响应头是 Internet Explorer,Chrome 和 Safari 的一个特性,当检测到跨站脚本攻击 (XSS (en-US)) 时,浏览器将停止加载页面。
926
+ * 若网站设置了良好的 Content-Security-Policy 来禁用内联 JavaScript ('unsafe-inline'),现代浏览器不太需要这些保护,但其仍然可以为尚不支持 CSP 的旧版浏览器的用户提供保护。
927
+ * + https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-XSS-Protection
928
+ */
929
+ "X-XSS-Protection"?: string;
930
+ [key: string]: any;
931
+ }
932
+ export declare interface HttpxRequestInit extends RequestInit {
933
+ /**
934
+ * 请求的 body 信息:可能是一个 Blob、BufferSource、FormData、URLSearchParams 或者 USVString 对象。
935
+ *
936
+ * 注意 GET 或 HEAD 方法的请求不能包含 body 信息。
937
+ */
938
+ body?: BodyInit | null;
939
+ /**
940
+ * 请求的 cache 模式:default、 no-store、 reload 、 no-cache、 force-cache 或者 only-if-cached
941
+ *
942
+ * @default "no-cache"
943
+ */
944
+ cache?: RequestCache;
945
+ /**
946
+ * 请求的 credentials,如 omit、same-origin 或者 include。
947
+ *
948
+ * 为了在当前域名内自动发送 cookie,必须提供这个选项
949
+ *
950
+ * 从 Chrome 50 开始,这个属性也可以接受 FederatedCredential (en-US) 实例或是一个 PasswordCredential (en-US) 实例。
951
+ *
952
+ * @default "include"
953
+ */
954
+ credentials?: RequestCredentials;
955
+ /**
956
+ * 请求的头信息,形式为 Headers 的对象或包含 ByteString 值的对象字面量。
957
+ */
958
+ headers?: HeadersInit;
959
+ /**
960
+ * 包括请求的 subresource integrity 值(例如: sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=)。
961
+ */
962
+ integrity?: string;
963
+ /**
964
+ * 保持连接
965
+ */
966
+ keepalive?: boolean;
967
+ /**
968
+ * 请求使用的方法,如 GET、POST。
969
+ *
970
+ * @default "GET"
971
+ */
972
+ method?: HttpxMethod;
973
+ /**
974
+ * 请求的模式,如 cors、no-cors 或者 same-origin。
975
+ *
976
+ * @default "cors"
977
+ */
978
+ mode?: RequestMode;
979
+ /**
980
+ * 可用的 redirect 模式:follow (自动重定向), error (如果产生重定向将自动终止并且抛出一个错误),或者 manual (手动处理重定向)。
981
+ *
982
+ * 在 Chrome 中默认使用 follow(Chrome 47 之前的默认值是 manual)。
983
+ *
984
+ * @default "follow"
985
+ */
986
+ redirect?: RequestRedirect;
987
+ /**
988
+ * 一个 USVString 可以是 no-referrer、client 或一个 URL。默认是 client。
989
+ *
990
+ * @default "client"
991
+ */
992
+ referrer?: "no-referrer" | "client" | string;
993
+ /**
994
+ * 指定了 HTTP 头部 referer 字段的值。
995
+ *
996
+ * 可能为以下值之一:no-referrer、 no-referrer-when-downgrade、origin、origin-when-cross-origin、 unsafe-url。
997
+ *
998
+ * @default "origin-when-cross-origin"
999
+ */
1000
+ referrerPolicy?: ReferrerPolicy;
1001
+ /**
1002
+ * 用于设置请求信号的中止信号。
1003
+ *
1004
+ * + 默认值: 自己设置的signal中止信号
1005
+ */
1006
+ signal?: AbortSignal | null;
1007
+ /**
1008
+ * 只能为空。用于解除与任何窗口的请求的关联。
1009
+ */
1010
+ window?: null;
1011
+ }
1012
+ /** 允许拦截配置 */
1013
+ export declare interface HttpxAllowInterceptConfig {
1014
+ /** 允许 beforeRequest */
1015
+ beforeRequest: boolean;
1016
+ /** 允许 afterResponse 的success回调 */
1017
+ afterResponseSuccess: boolean;
1018
+ /** 允许 afterResponse 的error回调 */
1019
+ afterResponseError: boolean;
1020
+ }
1021
+ /**
1022
+ * 请求的配置
1023
+ */
1024
+ export declare interface HttpxRequestOption {
1025
+ /**
1026
+ * 请求的url
1027
+ */
1028
+ url: string;
1029
+ /**
1030
+ * 请求方法
1031
+ * @default "GET"
1032
+ */
1033
+ method?: HttpxMethod;
1034
+ /**
1035
+ * 请求的超时时间
1036
+ *
1037
+ * 当`fetch`为`true`时,该值不生效,也就是请求不会超时
1038
+ * @default 5000
1039
+ */
1040
+ timeout?: number;
1041
+ /**
1042
+ * 响应类型,可为空
1043
+ * @default "document"
1044
+ */
1045
+ responseType?: keyof HttpxResponseTypeMap;
1046
+ /**
1047
+ * 请求头,可为空
1048
+ */
1049
+ headers?: HttpxHeaders;
1050
+ /**
1051
+ * 请求的数据
1052
+ */
1053
+ data?: string | FormData | object;
1054
+ /**
1055
+ * 是否自动对data进行处理
1056
+ *
1057
+ * ## 处理以下请求类型
1058
+ * + `GET` 自动进行`URLSearchParams`转换
1059
+ * + `HEAD` 自动进行`URLSearchParams`转换
1060
+ * + `POST` 处理`Content-Type`不为空的情况
1061
+ *
1062
+ * ### `application/json`
1063
+ *
1064
+ * + `string`: 不做处理
1065
+ * + `FormData`: 转为`JSON`并进行`JSON.stringify`处理
1066
+ * + `object`: 进行`JSON.stringify`处理
1067
+ *
1068
+ * ### `application/x-www-form-urlencoded`
1069
+ *
1070
+ * + `string`: 不做处理
1071
+ * + `FormData`: 转为`URLSearchParams`,再转为`string`
1072
+ * + `object`: 转为`URLSearchParams`,再转为`string`
1073
+ *
1074
+ * ### `multipart/form-data`(上传文件专用)
1075
+ *
1076
+ * + `string`: 不做处理
1077
+ * + `FormData`: 移除`Content-Type`
1078
+ * + `object`: 不做处理
1079
+ * @default true
1080
+ */
1081
+ processData?: boolean;
1082
+ /**
1083
+ * 当触发重定向的使用规则
1084
+ * @default "follow"
1085
+ */
1086
+ redirect?: HttpxRedirect;
1087
+ /**
1088
+ * 自定义的Cookie字符串
1089
+ */
1090
+ cookie?: string;
1091
+ /**
1092
+ * TamperMonkey5.2+
1093
+ *
1094
+ * @link https://www.tampermonkey.net/documentation.php?ext=gcal#api:GM_xmlhttpRequest
1095
+ * @link https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/cookies#storage_partitioning
1096
+ */
1097
+ cookiePartition?: {
1098
+ /**
1099
+ * 设置顶级站点
1100
+ *
1101
+ * @example
1102
+ * http://*.example.com/
1103
+ *
1104
+ * @example
1105
+ * http://www.example.com/
1106
+ *
1107
+ * @example
1108
+ * *://*.example.com/
1109
+ */
1110
+ topLevelSite?: string;
1111
+ };
1112
+ /**
1113
+ * 以二进制模式发送数据字符串
1114
+ */
1115
+ binary?: HttpxBinary;
1116
+ /**
1117
+ * 是否缓存资源
1118
+ * @default true
1119
+ */
1120
+ nocache?: boolean;
1121
+ /**
1122
+ * 是否重新验证可能缓存的内容
1123
+ * @default true
1124
+ */
1125
+ revalidate?: boolean;
1126
+ /**
1127
+ * 自定义对象(自动存在响应里)
1128
+ */
1129
+ context?: any;
1130
+ /**
1131
+ * 重写mimeType,默认不重写
1132
+ */
1133
+ overrideMimeType?: string;
1134
+ /**
1135
+ * 是否匿名不发送Cookie
1136
+ * @default false
1137
+ */
1138
+ anonymous?: boolean;
1139
+ /**
1140
+ * 是否使用fetch来发送请求
1141
+ * @default false
1142
+ */
1143
+ fetch?: boolean;
1144
+ /**
1145
+ * 当`fetch`为`true`时的配置项,默认使用自定义的配置
1146
+ */
1147
+ fetchInit?: HttpxRequestInit;
1148
+ /**
1149
+ * 拒绝拦截配置
1150
+ *
1151
+ * 如果设置了相关配置,那么intercept将不会生效
1152
+ */
1153
+ allowInterceptConfig?: Partial<HttpxAllowInterceptConfig> | boolean;
1154
+ /**
1155
+ * (可选)身份验证的用户名
1156
+ */
1157
+ user?: string;
1158
+ /**
1159
+ * (可选)身份验证的密码
1160
+ */
1161
+ password?: string;
1162
+ /**
1163
+ * (可选)当请求被取消或中断,触发该回调
1164
+ */
1165
+ onabort?: (response?: any) => void;
1166
+ /**
1167
+ * (可选)当请求异常,触发该回调,如404
1168
+ */
1169
+ onerror?: (...args: any[]) => void;
1170
+ /**
1171
+ * (可选)当请求超时,触发该回调
1172
+ */
1173
+ ontimeout?: (...args: any[]) => void;
1174
+ /**
1175
+ * (可选)当请求开始,触发该回调
1176
+ */
1177
+ onloadstart?: (...args: any[]) => void;
1178
+ /**
1179
+ * (可选)当请求成功时,触发该回调
1180
+ */
1181
+ onload?: (...args: any[]) => void;
1182
+ /**
1183
+ * (可选)当请求状态改变,触发该回调
1184
+ *
1185
+ * `fetch`为`true`时该回调不会触发
1186
+ */
1187
+ onreadystatechange?: (...args: any[]) => void;
1188
+ /**
1189
+ * (可选)当请求上传文件进度改变,触发该回调
1190
+ *
1191
+ * `fetch`为`true`时该回调不会触发
1192
+ */
1193
+ onprogress?: (...args: any[]) => void;
1194
+ }
1195
+ /**
1196
+ * 自定义的配置请求
1197
+ */
1198
+ export type HttpxRequestOptionConfig = HttpxInitOption;
1199
+ /**
1200
+ * 响应的数据的data
1201
+ */
1202
+ export declare interface HttpxResponseData<T extends HttpxRequestOption> {
1203
+ /**
1204
+ * 当请求中配置`fetch`为`true`时,且返回的`headers`中的`Content-Type`存在`text/event-stream`或者是主动设置的`responseType`为`stream`
1205
+ * 则存在该属性为`true`
1206
+ */
1207
+ isStream?: boolean;
1208
+ /**
1209
+ * 当请求中配置`fetch`为`true`时,则存在该属性为`true`
1210
+ */
1211
+ isFetch?: boolean;
1212
+ /**
1213
+ * 当数据加载完毕后的,经过所有重定向后的最终URL
1214
+ */
1215
+ finalUrl: string;
1216
+ /**
1217
+ * 数据准备状态
1218
+ * + `0`:未初始化
1219
+ * + `1`:载入
1220
+ * + `2`:载入完成
1221
+ * + `3`:交互
1222
+ * + `4`:完成
1223
+ *
1224
+ * 当请求中配置`fetch`为`true`时,该值固定为`4`
1225
+ */
1226
+ readyState: 0 | 1 | 2 | 3 | 4;
1227
+ /**
1228
+ * 响应的状态码,2xx为成功
1229
+ */
1230
+ status: HttpxStatus | number;
1231
+ /**
1232
+ * 对`status`的解释
1233
+ */
1234
+ statusText: "OK" | "" | string;
1235
+ /**
1236
+ * 响应内容,根据`responseType`,如果是`html`,那就是`Document`类型,如果是`json`,那么类型是`Object`类型
1237
+ */
1238
+ response: T["responseType"] extends keyof HttpxResponseTypeMap
1239
+ ? HttpxResponseTypeMap[T["responseType"]]
1240
+ : HttpxResponseTypeMap["html"];
1241
+ /**
1242
+ * 当请求中配置`fetch`为`true`时,该属性存在
1243
+ */
1244
+ responseFetchHeaders?: Headers;
1245
+ /**
1246
+ * 响应头的Headers
1247
+ */
1248
+ responseHeaders: string;
1249
+ /**
1250
+ * 响应的字符串
1251
+ */
1252
+ responseText: string;
1253
+ /**
1254
+ * 请求中配置的`responseType`,没有的话默认为`undefined`
1255
+ */
1256
+ responseType?: T["responseType"];
1257
+ /**
1258
+ * the response data as XML document
1259
+ */
1260
+ responseXML?: XMLDocument;
1261
+ }
1262
+ /**
1263
+ * 响应的数据
1264
+ */
1265
+ export declare interface HttpxResponse<T extends HttpxRequestOption> {
1266
+ /**
1267
+ * 是否请求成功
1268
+ *
1269
+ * 状态码在`200-300`之间为`true`,否则为`false`
1270
+ */
1271
+ status: boolean;
1272
+ /**
1273
+ * 响应状态码
1274
+ *
1275
+ * + `-1` 触发来源:`onabort`
1276
+ * + `0` 触发来源:`ontimeout`
1277
+ */
1278
+ statusCode: HttpxStatus | number;
1279
+ /**
1280
+ * 请求的数据,当status为false时,data中可能也存在数据
1281
+ */
1282
+ data: HttpxResponseData<T>;
1283
+ /**
1284
+ * 请求的配置
1285
+ */
1286
+ details: T;
1287
+ /**
1288
+ * 请求的成功/失败消息
1289
+ */
1290
+ msg: string;
1291
+ /**
1292
+ * 当前触发响应的类型
1293
+ */
1294
+ type: HttpxResponseCallBackType;
1295
+ }
1296
+
1297
+ /**
1298
+ * httpx的hook错误的回调数据
1299
+ */
1300
+ export declare interface HttpxHookErrorData {
1301
+ /**
1302
+ * 触发的函数名
1303
+ */
1304
+ type: "onerror" | "ontimeout" | "onabort";
1305
+ /**
1306
+ * 触发的错误
1307
+ */
1308
+ error: Error;
1309
+ /**
1310
+ * 触发的响应
1311
+ */
1312
+ response: any;
1313
+ /**
1314
+ * 请求的配置
1315
+ */
1316
+ details: HttpxRequestOption;
1317
+ }
1318
+
1319
+ /**
1320
+ * httpx的自定义Promise,包含额外函数
1321
+ */
1322
+ export declare interface HttpxPromise<T> extends Promise<T> {
1323
+ abort: () => void;
1324
+ }
1325
+
1326
+ /**
1327
+ * httpx的初始化配置
1328
+ */
1329
+ export declare interface HttpxInitOption extends HttpxRequestOption {
1330
+ /**
1331
+ * 实例化,可传入`GM_xmlhttpRequest`,未传入则使用`window.fetch`
1332
+ */
1333
+ xmlHttpRequest?: (...args: any[]) => any;
1334
+ /**
1335
+ * `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
1336
+ */
1337
+ baseURL?: string | undefined;
1338
+ /**
1339
+ * (可选)是否输出请求配置
1340
+ */
1341
+ logDetails?: boolean;
1342
+ }
1343
+
1344
+ export type HttpxRequestOptionWithDoubleParams = Omit<HttpxRequestOption, "url">;