修改部分语言表达方式

This commit is contained in:
xiaoshuai
2018-09-01 13:52:26 +08:00
parent 0246e44872
commit 173d2145a6
5 changed files with 8 additions and 8 deletions

View File

@@ -50,7 +50,7 @@ URL(Uniform Resource Locator)是“统一资源定位符”的英文缩写,用
5. 如果本地DNS服务器本地区域文件与缓存解析都失效则根据本地DNS服务器的设置是否设置转发器进行查询如果未用转发模式本地DNS就把请求发至 “根DNS服务器”“根DNS服务器”收到请求后会判断这个域名(.com)是谁来授权管理并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后如果自己无法解析它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后就会找qq.com域服务器重复上面的动作进行查询直至找到www.qq.com主机。
6. 如果用的是转发模式此DNS服务器就会把请求转发至上一级DNS服务器由上一级服务器进行解析上一级服务器如果不能解析或找根DNS或把转请求转至上上级以此循环。不管本地DNS服务器用是转发还是根提示最后都是把结果返回给本地DNS服务器由此DNS服务器再返回给客户机。
6. 如果用的是转发模式此DNS服务器就会把请求转发至上一级DNS服务器由上一级服务器进行解析上一级服务器如果不能解析或找根DNS或把转请求转至上上级以此循环。不管本地DNS服务器用是转发还是根提示最后都是把结果返回给本地DNS服务器由此DNS服务器再返回给客户机。
![](images/3.1.dns_inquery.png?raw=true)
@@ -68,7 +68,7 @@ HTTP协议是Web工作的核心所以要了解清楚Web的工作方式就需
HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收数据的协议,它建立在TCP协议之上一般采用TCP的80端口。它是一个请求、响应协议--客户端发出一个请求服务器响应这个请求。在HTTP中客户端总是通过建立一个连接与发送一个HTTP请求来发起一个事务。服务器不能主动去与客户端联系也不能给客户端发出一个回调连接。客户端与服务器端都可以提前中断一个连接。例如当浏览器下载一个文件时你可以通过点击“停止”键来中断文件的下载关闭与服务器的HTTP连接。
HTTP协议是无状态的同一个客户端的这次请求和上次请求是没有对应关系对HTTP服务器来说它并不知道这两个请求是否来自同一个客户端。为了解决这个问题 Web程序引入了Cookie机制来维护连接的可持续状态。
HTTP协议是无状态的同一个客户端的这次请求和上次请求是没有对应关系对HTTP服务器来说它并不知道这两个请求是否来自同一个客户端。为了解决这个问题 Web程序引入了Cookie机制来维护连接的可持续状态。
>HTTP协议是建立在TCP协议之上的因此TCP攻击一样会影响HTTP的通讯例如比较常见的一些攻击SYN Flood是当前最流行的DoS拒绝服务攻击与DdoS分布式拒绝服务攻击的方式之一这是一种利用TCP协议缺陷发送大量伪造的TCP连接请求从而使得被攻击方资源耗尽CPU满负荷或内存不足的攻击方式。

View File

@@ -1,6 +1,6 @@
# 3.2 Go搭建一个Web服务器
前面小节已经介绍了Web是基于http协议的一个服务Go语言里面提供了一个完善的net/http包通过http包可以很方便的搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由静态文件模版cookie等数据进行设置和操作。
前面小节已经介绍了Web是基于http协议的一个服务Go语言里面提供了一个完善的net/http包通过http包可以很方便的搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由静态文件模版cookie等数据进行设置和操作。
## http包建立Web服务器
```Go

View File

@@ -15,7 +15,7 @@ Handler处理请求和生成返回信息的处理逻辑
## 分析http包运行机制
下图所示,是Go实现Web服务的工作模式的流程图
下图是Go实现Web服务的工作模式的流程图
![](images/3.3.http.png?raw=true)
@@ -80,7 +80,7 @@ func (srv *Server) Serve(l net.Listener) error {
图3.10 一个http连接处理流程
至此我们的三个问题已经全部得到了解答你现在对于Go如何让Web跑起来的是否已经基本了解呢
至此我们的三个问题已经全部得到了解答你现在对于Go如何让Web跑起来的是否已经基本了解呢?
## links

View File

@@ -2,7 +2,7 @@
表单是我们平常编写Web应用常用的工具通过表单我们可以方便的让客户端和服务器进行数据的交互。对于以前开发过Web的用户来说表单都非常熟悉但是对于C/C++程序员来说,这可能是一个有些陌生的东西,那么什么是表单呢?
表单是一个包含表单元素的区域。表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。表单使用表单标签(\<form\>)定义。
表单是一个包含表单元素的区域。表单元素(比如:文本域、下拉列表、单选框、复选框等等)是允许用户在表单中输入信息的元素。表单使用表单标签(\<form\>)定义。
<form>
...
@@ -10,7 +10,7 @@
...
</form>
Go里面对于form处理已经有很方便的方法了在Request里面有专门的form处理可以很方便的整合到Web开发里面来4.1小节里面将讲解Go如何处理表单的输入。由于不能信任任何用户的输入所以我们需要对这些输入进行有效性验证4.2小节将就如何进行一些普通的验证进行详细的演示。
Go里面对于form处理已经有很方便的方法了在Request里面有专门的form处理可以很方便的整合到Web开发里面来4.1小节里面将讲解Go如何处理表单的输入。由于不能信任任何用户的输入所以我们需要对这些输入进行有效性验证4.2小节将就如何进行一些普通的验证进行详细的演示。
HTTP协议是一种无状态的协议那么如何才能辨别是否是同一个用户呢同时又如何保证一个表单不出现多次递交的情况呢4.3和4.4小节里面将对cookie(cookie是存储在客户端的信息能够每次通过header和服务器进行交互的数据)等进行详细讲解。

View File

@@ -87,7 +87,7 @@ login函数中我们根据`r.Method`来判断是显示登录界面还是处理
![](images/4.1.slice.png?raw=true)
图4.2 服务器端打印接到的信息
图4.2 服务器端打印接到的信息
`request.Form`是一个url.Values类型里面存储的是对应的类似`key=value`的信息下面展示了可以对form数据进行的一些操作:
```Go