瀏覽代碼

Update 15.2.md (#674)

* Update 15.2.md

* Update 15.2.md
marjune 6 年之前
父節點
當前提交
d755ccc849
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      eBook/15.2.md

+ 5 - 2
eBook/15.2.md

@@ -16,9 +16,9 @@ Http是一个比tcp更高级的协议,它描述了客户端浏览器如何与
 
 表单属性实际上是一个`map[string][]string`类型。网页服务器返回了一个`http.Response`,它是通过`http.ResponseWriter`对象输出的,这个对象整合了HTTP服务器的返回结果;通过对它写入内容,我们就将数据发送给了HTTP客户端。
 
-现在我们还需要编写网页服务器必须执行的程序,它是如何处理请求的呢。这是在`http.HandleFunc`函数中完成的,就是在这个例子中当根路径“/”(url地址是http://localhost:8080 )被请求的时候(或者这个服务器上的其他地址),`HelloServer`函数就被执行了。这个函数是`http.HandlerFunc`类型的,它们通常用使用Prehandler来命名,在前边加了一个Pref前缀。
+现在我们还需要编写网页服务器必须执行的程序,它是如何处理请求的呢。这是在`http.HandleFunc`函数中完成的,就是在这个例子中当根路径“/”(url地址是http://localhost:8080 )被请求的时候(或者这个服务器上的其他地址),`HelloServer`函数就被执行了。这个函数是`http.HandlerFunc`类型的,它们通常用使用Prefhandler来命名,在前边加了一个Pref前缀。
 
-`http.HandleFunc`注册了一个处理函数(这里是`HelloServer`)来处理对应`/`的请求。
+`http.HandleFunc`注册了一个处理函数(这里是`HelloServer`)来处理对应`/`的请求。
 
 `/`可以被替换为其他特定的url比如`/create`,`/edit`等等;你可以为每一个特定的url定义一个单独的处理函数。这个函数需要两个参数:第一个是`ReponseWriter`类型的`w`;第二个是请求`req`。程序向`w`写入了`Hello`和`r.URL.Path[1:]`组成的字符串后边的`[1:]`表示“创建一个从第一个字符到结尾的子切片”,用来丢弃掉路径开头的“/”,`fmt.Fprintf()`函数完成了本次写入(请看[章节12.8](12.8.md));另外一种写法是`io.WriteString(w, "hello, world!\n")`
 
@@ -62,6 +62,7 @@ Starting Process E:/Go/GoBoek/code_examples/chapter_14/hello_world_webserver.exe
 ```go
 http.ListenAndServe(":8080", http.HandlerFunc(HelloServer))
 ```
+
 2)`fmt.Fprint`和`fmt.Fprintf`都是用来写入`http.ResponseWriter`的不错的函数(他们实现了`io.Writer`)。
 比如我们可以使用
 ```go
@@ -70,7 +71,9 @@ fmt.Fprintf(w, "<h1>%s<h1><div>%s</div>", title, body)
 来构建一个非常简单的网页并插入`title`和`body`的值
 
 如果你需要更多复杂的替换,使用模板包(请看[章节15.7](15.7.md))
+
 3)如果你需要使用安全的https连接,使用`http.ListenAndServeTLS()`代替`http.ListenAndServe()`
+
 4)`http.HandleFunc("/", Hfunc)`中的`HFunc`是一个处理函数,如下:
 ```go
 func HFunc(w http.ResponseWriter, req *http.Request) {