mirror of
https://github.com/rust-lang-cn/book-cn.git
synced 2025-02-02 15:28:40 +08:00
docs: optimized the readability of statements in ch20-01
This commit is contained in:
parent
8d53ddbe8b
commit
fa2702d485
@ -23,6 +23,7 @@ $ cd hello
|
||||
```rust,no_run
|
||||
{{#rustdoc_include ../listings/ch20-web-server/listing-20-01/src/main.rs}}
|
||||
```
|
||||
|
||||
<span class="caption">示例 20-1: 监听传入的流并在接收到流时打印信息</span>
|
||||
|
||||
`TcpListener` 用于监听 TCP 连接。我们选择监听地址 `127.0.0.1:7878`。将这个地址拆开,冒号之前的部分是一个代表本机的 IP 地址(这个地址在每台计算机上都相同,并不特指作者的计算机),而 `7878` 是端口。选择这个端口出于两个原因:通常 HTTP 接受这个端口而且 7878 在电话上打出来就是 "rust"(译者注:九宫格键盘上的英文)。
|
||||
@ -107,7 +108,7 @@ message-body
|
||||
|
||||
请求行接下来的部分是 */*,它代表客户端请求的 **统一资源标识符**(*Uniform Resource Identifier*,*URI*) —— URI 大体上类似,但也不完全类似于 URL(**统一资源定位符**,*Uniform Resource Locators*)。URI 和 URL 之间的区别对于本章的目的来说并不重要,不过 HTTP 规范使用术语 URI,所以这里可以简单的将 URL 理解为 URI。
|
||||
|
||||
最后一部分是客户端使用的HTTP版本,然后请求行以 **CRLF序列** (CRLF代表回车和换行,*carriage return line feed*,这是打字机时代的术语!)结束。CRLF序列也可以写成`\r\n`,其中`\r`是回车符,`\n`是换行符。 CRLF序列将请求行与其余请求数据分开。 请注意,打印CRLF时,我们会看到一个新行,而不是`\r\n`。
|
||||
最后一部分是客户端使用的 HTTP 版本,然后请求行以 **CRLF 序列** (CRLF 代表回车和换行,*carriage return line feed*,这是打字机时代的术语!)结束。CRLF 序列也可以写成 `\r\n`,其中 `\r` 是回车符,`\n` 是换行符。 CRLF 序列将请求行与其余请求数据分开。 请注意,打印 CRLF 时,我们会看到一个新行,而不是 `\r\n`。
|
||||
|
||||
观察目前运行程序所接收到的数据的请求行,可以看到 `GET` 是 method,*/* 是请求 URI,而 `HTTP/1.1` 是版本。
|
||||
|
||||
@ -153,7 +154,7 @@ HTTP/1.1 200 OK\r\n\r\n
|
||||
|
||||
### 返回真正的 HTML
|
||||
|
||||
让我们实现不只是返回空页面的功能。在项目根目录创建一个新文件,*hello.html* —— 也就是说,不是在 `src` 目录。在此可以放入任何你期望的 HTML;列表 20-4 展示了一个可能的文本:
|
||||
让我们实现不只是返回空页面的功能。在项目根目录创建一个新文件,*hello.html* —— 而不是在 *src* 目录中。在此可以放入任何你期望的 HTML;列表 20-4 展示了一个可能的文本:
|
||||
|
||||
<span class="filename">文件名: hello.html</span>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user