1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
「:
一个面向本地开发的简易静态网页服务器。
用法:yybs_简易网页服务器 【端口】
端口默认为八千,服务目录为程序启动时的当前工作目录。
当前仅处理 GET 与 HEAD;每个连接处理一个请求后关闭。
文件正文按字节串读取和发送,可提供文本与二进制资源。
:」
寻观「标准库」之书。
寻观「标准库」之「语言核心」之「异常」之书。
寻观「标准库」之「数据结构」之「整数操作」之书。
寻观「标准库」之「数据结构」之「爻术」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「数据结构」之「可选值」之书。
寻观「标准库」之「数据结构」之「特殊字符」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「标准库」之「操作系统」之「进程」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「标准库」之「网络」之「传输控制协议」之书。
「退出为整数」乃化「字符串」而化「整数」而「整数」也。
「退出为整数」者会「消息」而会「状态」而
(「标准错误打印行」于「消息」;「退出」于「状态」;「发生事故」于「消息」)
也。
「端口文字有效」乃化「字符串」而「爻」也。
「端口文字有效」者会「文字」而
「且」于
(「非」于(「字符串相等吗」于「文字」于『』))
于(「全部符合」授以「字符串」
于(会「字符」而「是子字符串吗」于「字符」于『0123456789』)
于(「获取字符」于「文字」))
也。
「取得端口」乃化(「列」于「字符串」)而「整数」也。
「取得端口」者会「参数们」而
虑「端口」者鉴「参数们」而
有「罄」则「八零零零」
或有((「列」【「端口文字」】))则
若「端口文字有效」于「端口文字」
则「理解整数」于「端口文字」
否则「退出为整数」于『端口必须是一至六五五三五之间的整数』于「二」
或有「其他」则「退出为整数」于『用法:yybs_简易网页服务器 【端口】』于「二」
而
若「且」于(「大于」于「端口」于「零」)于(「小于」于「端口」于「六五五三六」)
则「端口」
否则「退出为整数」于『端口必须是一至六五五三五之间的整数』于「二」
也。
「截断于」乃化「字符串」而化「字符串」而「字符串」也。
「截断于」者会「分隔符」而会「内容」而
鉴「串从左搜索单个」于「分隔符」于「内容」而
有「可无」则「内容」
或有(「可有」于「序数」)则「获取子字符串」于「零」于「序数」于「内容」
也。
「在闭区间」乃化「整数」而化「整数」而化「整数」而「爻」也。
「在闭区间」者会「值」而会「最小值」而会「最大值」而
「且」于(「非」于(「小于」于「值」于「最小值」))于(「非」于(「大于」于「值」于「最大值」))
也。
「十六进制数字值」乃化「整数」而「整数」也。
「十六进制数字值」者会「字节」而
若「在闭区间」于「字节」于「四八」于「五七」则「减」于「字节」于「四八」否则
若「在闭区间」于「字节」于「六五」于「七零」则「加」于(「减」于「字节」于「六五」)于「一零」否则
若「在闭区间」于「字节」于「九七」于「一零二」则「加」于(「减」于「字节」于「九七」)于「一零」否则
「减」于「零」于「一」
也。
「网址百分号解码」乃化「字符串」而(「整数」合「字符串」)也。
「网址百分号解码」者会「内容」而
虑「长度」者「字节长度」于「内容」而
递归虑「继续解码」其化「整数」而(「整数」合「字符串」)者会「位置」而
若「等于」于「位置」于「长度」
则「零」与『』
否则
虑「当前字节」者「字符转整数」于「内容」于「位置」而
若「等于」于「当前字节」于「三七」
则(若「非」于(「小于」于(「加」于「位置」于「二」)于「长度」)
则「四零零」与『网址中有不完整的百分号编码』
否则
虑「高位」者「十六进制数字值」于(「字符转整数」于「内容」于(「加」于「位置」于「一」))而
虑「低位」者「十六进制数字值」于(「字符转整数」于「内容」于(「加」于「位置」于「二」))而
若「或者」于(「小于」于「高位」于「零」)于(「小于」于「低位」于「零」)
则「四零零」与『网址中有无效的百分号编码』
否则
虑「解码字节」者「加」于(「乘」于「高位」于「一六」)于「低位」而
若「等于」于「解码字节」于「零」
则「四零零」与『网址路径不可含有零字节』
否则
虑「余下结果」者「继续解码」于(「加」于「位置」于「三」)而
若「等于」于(「余下结果」中「零」)于「零」
则「零」与((「字节转字符串」于「解码字节」)附(「余下结果」中「一」))
否则「余下结果」)
否则
虑「余下结果」者「继续解码」于(「加」于「位置」于「一」)而
若「等于」于(「余下结果」中「零」)于「零」
则「零」与((「字节转字符串」于「当前字节」)附(「余下结果」中「一」))
否则「余下结果」
而「继续解码」于「零」
也。
「是后续字节」乃化「整数」而「爻」也。
「是后续字节」者会「字节」而「在闭区间」于「字节」于「一二八」于「一九一」也。
「是合法八位统一码」乃化「字符串」而「爻」也。
「是合法八位统一码」者会「内容」而
虑「长度」者「字节长度」于「内容」而
递归虑「继续检查」其化「整数」而「爻」者会「位置」而
若「等于」于「位置」于「长度」则「阳」否则
虑「第一字节」者「字符转整数」于「内容」于「位置」而
若「在闭区间」于「第一字节」于「一」于「一二七」
则「继续检查」于(「加」于「位置」于「一」)
否则(若「在闭区间」于「第一字节」于「一九四」于「二二三」
则(若「大于」于(「加」于「位置」于「二」)于「长度」则「阴」否则
若「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「一」))
则「继续检查」于(「加」于「位置」于「二」)否则「阴」)
否则(若「或者」于(「在闭区间」于「第一字节」于「二二五」于「二三六」)于(「在闭区间」于「第一字节」于「二三八」于「二三九」)
则(若「大于」于(「加」于「位置」于「三」)于「长度」则「阴」否则
若「且」于
(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「一」)))
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「二」)))
则「继续检查」于(「加」于「位置」于「三」)否则「阴」)
否则(若「等于」于「第一字节」于「二二四」
则(若「大于」于(「加」于「位置」于「三」)于「长度」则「阴」否则
若「且」于
(「在闭区间」于(「字符转整数」于「内容」于(「加」于「位置」于「一」))于「一六零」于「一九一」)
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「二」)))
则「继续检查」于(「加」于「位置」于「三」)否则「阴」)
否则(若「等于」于「第一字节」于「二三七」
则(若「大于」于(「加」于「位置」于「三」)于「长度」则「阴」否则
若「且」于
(「在闭区间」于(「字符转整数」于「内容」于(「加」于「位置」于「一」))于「一二八」于「一五九」)
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「二」)))
则「继续检查」于(「加」于「位置」于「三」)否则「阴」)
否则(若「在闭区间」于「第一字节」于「二四一」于「二四三」
则(若「大于」于(「加」于「位置」于「四」)于「长度」则「阴」否则
若「且」于
(「且」于
(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「一」)))
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「二」))))
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「三」)))
则「继续检查」于(「加」于「位置」于「四」)否则「阴」)
否则(若「等于」于「第一字节」于「二四零」
则(若「大于」于(「加」于「位置」于「四」)于「长度」则「阴」否则
若「且」于
(「且」于
(「在闭区间」于(「字符转整数」于「内容」于(「加」于「位置」于「一」))于「一四四」于「一九一」)
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「二」))))
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「三」)))
则「继续检查」于(「加」于「位置」于「四」)否则「阴」)
否则(若「等于」于「第一字节」于「二四四」
则(若「大于」于(「加」于「位置」于「四」)于「长度」则「阴」否则
若「且」于
(「且」于
(「在闭区间」于(「字符转整数」于「内容」于(「加」于「位置」于「一」))于「一二八」于「一四三」)
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「二」))))
于(「是后续字节」于(「字符转整数」于「内容」于(「加」于「位置」于「三」)))
则「继续检查」于(「加」于「位置」于「四」)否则「阴」)
否则「阴」)))))))
而「继续检查」于「零」
也。
「请求目标转相对路径」乃化「字符串」而「字符串」也。
「请求目标转相对路径」者会「目标」而
若「字符串相等吗」于「目标」于『/』
则『』
否则(若「串开头是它吗」于『/』于「目标」
则「去除串开头」于『/』于「目标」
否则「目标」)
也。
「请求目标安全」乃化「字符串」而「爻」也。
「请求目标安全」者会「目标」而
「且」于
(「且」于
(「串开头是它吗」于『/』于「目标」)
于(「非」于(「是子字符串吗」于『..』于「目标」)))
于(「非」于(「是子字符串吗」于『\』于「目标」))
也。
「转义网页文字」乃化「字符串」而「字符串」也。
「转义网页文字」者会「文字」而
「串查找替换」于
(「串查找替换」于
(「串查找替换」于
(「串查找替换」于「文字」于『&』于『&』)
于『<』于『<』)
于『>』于『>』)
于『"』于『"』
也。
「资源种类」乃化「字符串」而「字符串」也。
「资源种类」者会「文件名」而
若「串结尾是它吗」于『.html』于「文件名」则『text/html; charset=utf-8』否则
若「串结尾是它吗」于『.htm』于「文件名」则『text/html; charset=utf-8』否则
若「串结尾是它吗」于『.css』于「文件名」则『text/css; charset=utf-8』否则
若「串结尾是它吗」于『.js』于「文件名」则『text/javascript; charset=utf-8』否则
若「串结尾是它吗」于『.json』于「文件名」则『application/json; charset=utf-8』否则
若「串结尾是它吗」于『.svg』于「文件名」则『image/svg+xml』否则
若「串结尾是它吗」于『.xml』于「文件名」则『application/xml; charset=utf-8』否则
若「串结尾是它吗」于『.txt』于「文件名」则『text/plain; charset=utf-8』否则
若「串结尾是它吗」于『.md』于「文件名」则『text/plain; charset=utf-8』否则
『application/octet-stream』
也。
「写完整」乃化「传输连接」而化「字符串」而「有」也。
「写完整」者会「连接值」而会「内容」而
递归虑「继续写」其化「整数」而「有」者会「位置」而
若「等于」于「位置」于(「字节长度」于「内容」)
则「元」
否则(鉴「从字节序数写入」于「连接值」于「内容」于「位置」而
有「操作成功」于「写入数」则
若「大于」于「写入数」于「零」
则「继续写」于(「加」于「位置」于「写入数」)
否则「元」
或有「暂需等待」于「写入数」则(
鉴「等待可写」于「连接值」于「五零零零」而
有「操作成功」于「事件」则
若「等于」于「事件」于「零」则「元」否则「继续写」于「位置」
或有「暂需等待」于「事件」则「元」
或有「连接已关闭」则「元」
或有「操作失败」于「状态」则「元」)
或有「连接已关闭」则「元」
或有「操作失败」于「状态」则「元」)
而「继续写」于「零」
也。
「写完整字节串」乃化「传输连接」而化「字节串」而「有」也。
「写完整字节串」者会「连接值」而会「内容」而
递归虑「继续写」其化「整数」而「有」者会「位置」而
若「等于」于「位置」于(「字节串长度」于「内容」)
则「元」
否则(鉴「从字节序数写入字节串」于「连接值」于「内容」于「位置」而
有「操作成功」于「写入数」则
若「大于」于「写入数」于「零」
则「继续写」于(「加」于「位置」于「写入数」)
否则「元」
或有「暂需等待」于「写入数」则(
鉴「等待可写」于「连接值」于「五零零零」而
有「操作成功」于「事件」则
若「等于」于「事件」于「零」则「元」否则「继续写」于「位置」
或有「暂需等待」于「事件」则「元」
或有「连接已关闭」则「元」
或有「操作失败」于「状态」则「元」)
或有「连接已关闭」则「元」
或有「操作失败」于「状态」则「元」)
而「继续写」于「零」
也。
「编制响应头」乃化「整数」而化「字符串」而化「字符串」而化「整数」而「字符串」也。
「编制响应头」者会「状态码」而会「原因」而会「种类」而会「正文长度」而
『HTTP/1.1 』附(「整数表示」于「状态码」)附『 』附「原因」附「回车换行」
附『Server: yuyan-simple-http-server』附「回车换行」
附『Content-Type: 』附「种类」附「回车换行」
附『Content-Length: 』附(「整数表示」于「正文长度」)附「回车换行」
附『Connection: close』附「回车换行」
附「回车换行」
也。
「发送字节串响应」乃化「传输连接」而化「整数」而化「字符串」而化「字符串」而化「字节串」而化「爻」而「有」也。
「发送字节串响应」者会「连接值」而会「状态码」而会「原因」而会「种类」而会「正文」而会「仅标头」而(
「写完整」于「连接值」于(「编制响应头」于「状态码」于「原因」于「种类」于(「字节串长度」于「正文」));
若「仅标头」则「元」否则「写完整字节串」于「连接值」于「正文」
)也。
「发送响应」乃化「传输连接」而化「整数」而化「字符串」而化「字符串」而化「字符串」而化「爻」而「有」也。
「发送响应」者会「连接值」而会「状态码」而会「原因」而会「种类」而会「正文」而会「仅标头」而
「发送字节串响应」于「连接值」于「状态码」于「原因」于「种类」于(「字符串转字节串」于「正文」)于「仅标头」
也。
「失败原因」乃化「整数」而「字符串」也。
「失败原因」者会「状态码」而
若「等于」于「状态码」于「四零八」则『Request Timeout』否则
若「等于」于「状态码」于「四一三」则『Content Too Large』否则
『Bad Request』
也。
「目录条目网页」乃化「字符串」而化「字符串」而化(「列」于「字符串」)而「字符串」也。
「目录条目网页」者会「目录路径」而会「请求目标」而会「条目们」而
鉴「条目们」而
有「罄」则『』
或有(「缀」于「名称」于「余下」)则
若「或者」于(「字符串相等吗」于「名称」于『.』)于(「字符串相等吗」于「名称」于『..』)
则「目录条目网页」于「目录路径」于「请求目标」于「余下」
否则
虑「文件路径」者「路径合并」于「目录路径」于「名称」而
虑「是目录」者「路径是文件夹」于「文件路径」而
虑「显示名」者若「是目录」则「名称」附『/』否则「名称」而
虑「目标前缀」者若「串结尾是它吗」于『/』于「请求目标」则「请求目标」否则「请求目标」附『/』而
『<li><a href="』附(「转义网页文字」于「目标前缀」)附(「转义网页文字」于「显示名」)附『">』
附(「转义网页文字」于「显示名」)附『</a></li>』
附(「目录条目网页」于「目录路径」于「请求目标」于「余下」)
也。
「编制目录网页」乃化「字符串」而化「字符串」而「字符串」也。
「编制目录网页」者会「目录路径」而会「请求目标」而
虑「安全标题」者「转义网页文字」于「请求目标」而
『<!doctype html><html><head><meta charset="utf-8"><title>目录 』附「安全标题」
附『</title></head><body><h1>目录 』附「安全标题」附『</h1><ul>』
附(「目录条目网页」于「目录路径」于「请求目标」于(「读文件夹」于「目录路径」))
附『</ul></body></html>』
也。
「提供已解码路径」乃化「传输连接」而化「字符串」而化「字符串」而化「字符串」而「有」也。
「提供已解码路径」者会「连接值」而会「根目录」而会「方法」而会「请求目标」而
虑「仅标头」者「字符串相等吗」于「方法」于『HEAD』而
若「非」于(「请求目标安全」于「请求目标」)
则「发送响应」于「连接值」于「四零零」于『Bad Request』于『text/plain; charset=utf-8』于『无效请求目标』于「仅标头」
否则
虑「相对路径」者「请求目标转相对路径」于「请求目标」而
虑「实际路径」者「路径合并」于「根目录」于「相对路径」而
若「非」于(「路径存在」于「实际路径」)
则「发送响应」于「连接值」于「四零四」于『Not Found』于『text/plain; charset=utf-8』于『没有找到请求的资源』于「仅标头」
否则(若「路径是文件夹」于「实际路径」
则
虑「首页路径」者「路径合并」于「实际路径」于『index.html』而
若「路径存在」于「首页路径」
则虑「正文」者「读文件字节串」于「首页路径」而
「发送字节串响应」于「连接值」于「二零零」于『OK』于『text/html; charset=utf-8』于「正文」于「仅标头」
否则虑「正文」者「编制目录网页」于「实际路径」于(「截断于」于『?』于「请求目标」)而
「发送响应」于「连接值」于「二零零」于『OK』于『text/html; charset=utf-8』于「正文」于「仅标头」
否则(若「路径是普通文件」于「实际路径」
则虑「正文」者「读文件字节串」于「实际路径」而
「发送字节串响应」于「连接值」于「二零零」于『OK』于(「资源种类」于「实际路径」)于「正文」于「仅标头」
否则「发送响应」于「连接值」于「四零四」于『Not Found』于『text/plain; charset=utf-8』于『没有找到请求的资源』于「仅标头」))
也。
「提供路径」乃化「传输连接」而化「字符串」而化「字符串」而化「字符串」而「有」也。
「提供路径」者会「连接值」而会「根目录」而会「方法」而会「原请求目标」而
虑「仅标头」者「字符串相等吗」于「方法」于『HEAD』而
虑「无查询」者「截断于」于『?』于「原请求目标」而
虑「无片段」者「截断于」于『#』于「无查询」而
虑「解码结果」者「网址百分号解码」于「无片段」而
若「非」于(「等于」于(「解码结果」中「零」)于「零」)
则「发送响应」于「连接值」于「四零零」于『Bad Request』于『text/plain; charset=utf-8』于(「解码结果」中「一」)于「仅标头」
否则
虑「请求目标」者「解码结果」中「一」而
若「非」于(「是合法八位统一码」于「请求目标」)
则「发送响应」于「连接值」于「四零零」于『Bad Request』于『text/plain; charset=utf-8』于『网址路径不是合法的 UTF-8』于「仅标头」
否则「提供已解码路径」于「连接值」于「根目录」于「方法」于「请求目标」
也。
「取请求行」乃化「字符串」而「字符串」也。
「取请求行」者会「请求」而「截断于」于「回车换行」于「请求」也。
「处理请求文字」乃化「传输连接」而化「字符串」而化「字符串」而「有」也。
「处理请求文字」者会「连接值」而会「根目录」而会「请求」而
鉴「元素分隔」授以「字符串」于(会「字符」而「字符串相等吗」于「字符」于『 』)于(「获取字符」于(「取请求行」于「请求」))而
有((「列」【「方法字符」,「目标字符」,「版本字符」】))则(
虑「方法」者「通字符转串」于「方法字符」而
虑「目标」者「通字符转串」于「目标字符」而
虑「版本」者「通字符转串」于「版本字符」而
若「非」于(「串开头是它吗」于『HTTP/』于「版本」)
则「发送响应」于「连接值」于「四零零」于『Bad Request』于『text/plain; charset=utf-8』于『无效协议版本』于「阴」
否则(若「或者」于(「字符串相等吗」于「方法」于『GET』)于(「字符串相等吗」于「方法」于『HEAD』)
则虑「无」者「打印行」于(「方法」附『 』附「目标」)而「提供路径」于「连接值」于「根目录」于「方法」于「目标」
否则「发送响应」于「连接值」于「四零五」于『Method Not Allowed』于『text/plain; charset=utf-8』于『仅支持 GET 与 HEAD』于「阴」)
)
或有「其他」则「发送响应」于「连接值」于「四零零」于『Bad Request』于『text/plain; charset=utf-8』于『无效请求行』于「阴」
也。
「读取请求头」乃化「传输连接」而(「整数」合「字符串」)也。
「读取请求头」者会「连接值」而
递归虑「继续读」其化「字符串」而(「整数」合「字符串」)者会「已有」而
若「是子字符串吗」于(「回车换行」附「回车换行」)于「已有」
则「零」与「已有」
否则(若「大于」于(「字节长度」于「已有」)于「六五五三六」
则「四一三」与『请求头过大』
否则(鉴「读取」于「连接值」于「四零九六」而
有「操作成功」于「新内容」则「继续读」于(「已有」附「新内容」)
或有「暂需等待」于「新内容」则(
鉴「等待可读」于「连接值」于「五零零零」而
有「操作成功」于「事件」则
若「等于」于「事件」于「零」
则「四零八」与『读取请求超时』
否则「继续读」于「已有」
或有「暂需等待」于「事件」则「四零八」与『读取请求超时』
或有「连接已关闭」则「四零零」与『连接提前关闭』
或有「操作失败」于「状态」则「四零零」与(『等待请求失败:』附(「错误消息」于「状态」)))
或有「连接已关闭」则「四零零」与『连接提前关闭』
或有「操作失败」于「状态」则「四零零」与(『读取请求失败:』附(「错误消息」于「状态」))))
而「继续读」于『』
也。
「处理连接」乃化「传输连接」而化「字符串」而「有」也。
「处理连接」者会「连接值」而会「根目录」而
鉴「读取请求头」于「连接值」而
有(「状态码」与「内容」)则
若「等于」于「状态码」于「零」
则「处理请求文字」于「连接值」于「根目录」于「内容」
否则「发送响应」于「连接值」于「状态码」于(「失败原因」于「状态码」)于『text/plain; charset=utf-8』于「内容」于「阴」
也。
「运行服务」乃化「传输连接」而化「字符串」而「有」也。
「运行服务」者会「监听连接」而会「根目录」而
递归虑「继续服务」其化「有」而「有」者会「无」而
鉴「接受」于「监听连接」而
有「操作成功」于「连接值」则(
「处理连接」于「连接值」于「根目录」;
「关闭」于「连接值」;
「继续服务」于「元」)
或有「暂需等待」于「连接值」则(
鉴「等待可读」于「监听连接」于(「减」于「零」于「一」)而
有「操作成功」于「事件」则「继续服务」于「元」
或有「暂需等待」于「事件」则「继续服务」于「元」
或有「连接已关闭」则「标准错误打印行」于『监听连接已经关闭』
或有「操作失败」于「状态」则「标准错误打印行」于(『等待连接失败:』附(「错误消息」于「状态」)))
或有「连接已关闭」则「标准错误打印行」于『监听连接已经关闭』
或有「操作失败」于「状态」则「标准错误打印行」于(『接受连接失败:』附(「错误消息」于「状态」))
而「继续服务」于「元」
也。
「:文言:终端预览,限于本机。汉语:保留原来的监听行为,新增 --本机 供管理终端限制监听地址。:」
虑「参数」者「获取参数」于「元」而
虑「服务选项」者鉴「参数」而
有(「缀」于『--本机』于「余」)则『127.0.0.1』与「余」
或有「其他」则『0.0.0.0』与「其他」而
虑「端口」者「取得端口」于(「服务选项」中「一」)而
虑「根目录」者「获取当前路径」于「元」而
鉴「监听」于(「服务选项」中「零」)于「端口」于「一二八」而
有「操作成功」于「监听连接」则(
「打印行」于(『正在提供目录:』附「根目录」);
「打印行」于(『请访问:http://127.0.0.1:』附(「整数表示」于「端口」)附『/』);
「运行服务」于「监听连接」于「根目录」)
「:文言:不能听,则以败告。汉语:启动失败返回非零状态,使管理终端和自动化能够识别失败。:」
或有「暂需等待」于「监听连接」则(「标准错误打印行」于『建立监听时意外要求等待』;「退出」于「一」)
或有「连接已关闭」则(「标准错误打印行」于『建立监听时连接已经关闭』;「退出」于「一」)
或有「操作失败」于「状态」则(「标准错误打印行」于(『监听失败:』附(「错误消息」于「状态」));「退出」于「一」)。