修改了一下语句

This commit is contained in:
astaxie
2012-09-05 09:29:28 +08:00
parent 3e1848a68f
commit 7bee147d97

14
3.1.md
View File

@@ -1,8 +1,8 @@
#3.1 Web工作方式
我们平时浏览网页的时候,都是怎么样的一个过程呢?打开浏览器,输入网,然后就出来了内容。那么这个底层到底做了一些什么东西
我们平时浏览网页的时候,打开浏览器,输入网址,按下回车键,然后就出来了内容。在这个看似简单的行为背后,到底隐藏了些什么
这个过程技术上其实可以这样来描述浏览器是一个客户端然后URL定位服务器的位置(URL域名通过DNS解析回来服务器所在的IP),然后底层通过http协议与服务器之间进行通信
上面这个普通的浏览过程底层其实是这样做的浏览器是一个客户端当你输入URL的时候首先浏览器会去请求DNS服务器通过DNS获取相应的域名对应的IP然后通过IP和服务器建立socket连接发送http请求信息服务器接收到请求信息之后定位请求的资源(如果是动态语言例如php、python、ruby之类的)那么服务器执行相应的逻辑之后返回http信息客户端接收到http信息开始渲染断开和服务器的socket链接
![](images/3.1.web2.png?raw=true)
@@ -10,20 +10,20 @@
Web服务器的工作原理简单的可以归纳为
- 客户机连接服务器,通过socket建立连接
- 客户机通过socket建立到服务器的连接
- 客户端向服务器发送请求http协议包,请求转化成服务器对应的文档
- 服务器向客户机发送应答http协议包请求的如果包含有动态语言的部分那么动态语言把相应的数据结果返回给客户端
- 客户机与服务器断开。客户端解释HTML文档在客户端屏幕上显示结果。
一个简单的事务处理事件就是这样实现的,看起来不简单,做起来其实是挺简单的,需要注意的是客户机与服务器直接的通信是非连接的,也就是当服务器发送了应答后就与客户机断开连接,等待下一次请求。
一个简单的事务处理事件就是这样实现的,看起来很复杂,做起来其实是挺简单的,需要注意的是客户机与服务器之间的通信是非连接的,也就是当服务器发送了应答后就与客户机断开连接,等待下一次请求。
##HTTP协议
HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收数据的协议。它是一个请求、响应协议--客户端发出一个请求服务器响应这个请求。HTTP运用可靠的TCP连接通常用TCP的80端口。
HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收数据的协议。它是一个请求、响应协议--客户端发出一个请求服务器响应这个请求。HTTP运用可靠的TCP连接通常用TCP的80端口。
在HTTP中客户端总是通过建立一个连接与发送一个HTTP请求来发起一个事务。服务器不能主动去与客户端联系也不能给客户端发出一个回调连接。客户端与服务器端都可以提前中断一个连接。例如当用一个浏览器下载一个文件时你可以通过点击“停止”键来中断文件的下载关闭与服务器的HTTP连接。http协议使Web服务器和浏览器可以通过Web交换数据。它是一种请求/响应协议即服务器等待并响应客户方请求。HTTP不维护与客户端的连接它使用可靠的TCP连接通常采用TCP的80端口。
因为HTTP协议是基于TCP协议之上因此TCP攻击一样会影响HTTP的通讯例如比较常见的一些攻击SYN Flood是当前最流行的DoS拒绝服务攻击与DdoS分布式拒绝服务攻击的方式之一这是一种利用TCP协议缺陷发送大量伪造的TCP连接请求从而使得被攻击方资源耗尽CPU满负荷或内存不足的攻击方式。
因为HTTP协议是建立在TCP协议之上因此TCP攻击一样会影响HTTP的通讯例如比较常见的一些攻击SYN Flood是当前最流行的DoS拒绝服务攻击与DdoS分布式拒绝服务攻击的方式之一这是一种利用TCP协议缺陷发送大量伪造的TCP连接请求从而使得被攻击方资源耗尽CPU满负荷或内存不足的攻击方式。
##HTTP请求信息(浏览器信息)
- 请求行GET/POST(流的组织(请求)方式) URL(地址+目录) 版本号
@@ -52,7 +52,7 @@ HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收
这个就是浏览器的功能第一次请求url服务器端返回的是html页面然后浏览器开始渲染html当解析到src里面的img资源、css资源、js资源浏览器就会自动发起http请求把需要的资源从服务器请求回来然后浏览器就会宣布渲染出来这样就是完整展现在我们面前的一个网页了。
所以我们做的网页优化方面有一项是减少http请求次数就是把尽量多的css和js合并在一起尽量做到少的http请求。
>网页优化方面有一项是减少http请求次数就是把尽量多的css和js合并在一起尽量做到少的http请求。
## links
* [目录](<preface.md>)