增加图注释
This commit is contained in:
13
03.1.md
13
03.1.md
@@ -6,6 +6,8 @@
|
||||
|
||||

|
||||
|
||||
图3.1 用户访问一个Web站点的过程
|
||||
|
||||
一个Web服务器也被称为HTTP服务器,它通过HTTP协议与客户端通信。这个客户端通常指的是Web浏览器(其实手机端客户端内部也是浏览器实现的)。
|
||||
|
||||
Web服务器的工作原理可以简单地归纳为:
|
||||
@@ -34,6 +36,8 @@ URL(Uniform Resource Locator)是“统一资源定位符”的英文缩写,用
|
||||
|
||||

|
||||
|
||||
图3.2 DNS工作原理
|
||||
|
||||
更详细的DNS解析的过程如下,这个过程有助于我们理解DNS的工作模式
|
||||
|
||||
1. 在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
|
||||
@@ -50,6 +54,8 @@ URL(Uniform Resource Locator)是“统一资源定位符”的英文缩写,用
|
||||
|
||||

|
||||
|
||||
图3.3 DNS解析的整个流程
|
||||
|
||||
> 所谓 `递归查询过程` 就是 “查询的递交者” 更替, 而 `迭代查询过程` 则是 “查询的递交者”不变。
|
||||
>
|
||||
> 举个例子来说,你想知道某个一起上法律课的女孩的电话,并且你偷偷拍了她的照片,回到寝室告诉一个很仗义的哥们儿,这个哥们儿二话没说,拍着胸脯告诉你,甭急,我替你查(此处完成了一次递归查询,即,问询者的角色更替)。然后他拿着照片问了学院大四学长,学长告诉他,这姑娘是xx系的;然后这哥们儿马不停蹄又问了xx系的办公室主任助理同学,助理同学说是xx系yy班的,然后很仗义的哥们儿去xx系yy班的班长那里取到了该女孩儿电话。(此处完成若干次迭代查询,即,问询者角色不变,但反复更替问询对象)最后,他把号码交到了你手里。完成整个查询过程。
|
||||
@@ -83,8 +89,12 @@ HTTP协议是无状态的,同一个客户端的这次请求和上次请求是
|
||||
|
||||

|
||||
|
||||
图3.4 fiddler抓取的GET信息
|
||||
|
||||

|
||||
|
||||
图3.5 fiddler抓取的POST信息
|
||||
|
||||
**我们可以看到GET请求消息体为空,POST请求带有消息体**。
|
||||
|
||||
HTTP协议定义了很多与服务器交互的请求方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.
|
||||
@@ -120,6 +130,7 @@ Response包中的第一行叫做状态行,由HTTP协议版本号, 状态码
|
||||
|
||||

|
||||
|
||||
图3.6 访问一次网站的全部请求信息
|
||||
|
||||
### HTTP协议是无状态的和Connection: keep-alive的区别
|
||||
无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系。
|
||||
@@ -134,6 +145,8 @@ Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同
|
||||
|
||||

|
||||
|
||||
图3.7 一次请求的request和response
|
||||
|
||||
上面这张图我们可以了解到整个的通讯过程,同时细心的读者是否注意到了一点,一个URL请求但是左边栏里面为什么会有那么多的资源请求(这些都是静态文件,go对于静态文件有专门的处理方式)。
|
||||
|
||||
这个就是浏览器的一个功能,第一次请求url,服务器端返回的是html页面,然后浏览器开始渲染HTML:当解析到HTML DOM里面的图片连接,css脚本和js脚本的链接,浏览器就会自动发起一个请求静态资源的HTTP请求,获取相对应的静态资源,然后浏览器就会渲染出来,最终将所有资源整合、渲染,完整展现在我们面前的屏幕上。
|
||||
|
||||
Reference in New Issue
Block a user