博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache的工作原理
阅读量:4167 次
发布时间:2019-05-26

本文共 1446 字,大约阅读时间需要 4 分钟。

6.1.3  Apache的工作原理

Web系统是客户端/服务器式的,所以应该有服务器程序和客户端程序两部分。常用的服务器程序是Apache;常用的客户端程序是浏览器(如IE、Netscape、Mozilla)。我们可以在浏览器的地址栏内输入统一资源定位地址(URL)来访问Web页面。Web最基本的概念是超文本(Hypertext)。它使得文本不再是传统的书页式文本,而是可以在阅读过程中从一个页面位置跳转到另一个页面位置。用来书写Web页面的语言称为超文本标记语言,即HTML。WWW服务遵从HTTP协议,默认的TCP/IP端口是80,客户端与服务器的通信过程简述如下:
(1)客户端(浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。
(2)Web服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。
(3)断开与远端Web服务器的连接。
下面是一个客户端发送给Web服务器请求的数据包的内容:

GET /engineer/ideal/list.htm HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */* Referer: Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Host:  Connection: Keep-Alive

从代码中可以看到,在客户端的请求里包含了很多有用的信息,如客户端类型等。Web服务器会将请求的Web页内容发送返回给客户端。HTTP/1.1说明:HTTP/1.1(超文本链接协议1.1版本)是HTTP协议的最新版本。HTTP协议是运行在TCP/IP协议组上的万维网应用协议。HTTP/1.1提供了比前一版本更快的访问网站速度,同时针对网络资源进行优化,降低了网络流量。HTTP/1.1由互联网工程任务组开发。现在大部分服务器和网站都支持HTTP/1.1协议。

下面是一些HTTP/1.1能够加快网页访问速度的原因。
(1)以往的HTTP协议每次访问应用程序时,都会进行创立及撤销链接的步骤。HTTP/1.1在首次访问网站时建立持久链接,将多个请求批量或通过管道发送到输出缓冲区内。TCP协议允许将多个来自IP层的数据包请求或回复命令集中到一个TCP段中。因此减少了反复建立链接所需的时间,同时由于没有了不必要的申请链接数据包,也降低了网络流量。由于将命令通过管道输送,大大提高了TCP段的效率。总之,网络流量降低了,性能提高了。
(2)当支持HTTP/1.1的浏览器发现网页是未压缩网页时,会将网页进行压缩后进行传输,这样可以节约更多流量空间,不过由于网页中的图片文件一般都已经被压缩过,因此,这种压缩对图片多的网页不太有效。除持久链接及其他改进后的性能之外,HTTP/1.1还允许多个域名共享同一IP地址。这简化了网络服务器对虚拟主机数目管理的处理量。

转载地址:http://sjgxi.baihongyu.com/

你可能感兴趣的文章
python列表常见方法
查看>>
python打印列表中指定元素的所有下标(5种方法)
查看>>
python 字典常见方法
查看>>
python字典复制(浅拷贝and深拷贝)
查看>>
python set集合的特点,功能and常见方法
查看>>
python set集合运算(交集,并集,差集,对称差集)
查看>>
python字符串replace()方法
查看>>
python替换文件中的指定内容
查看>>
linux系统下python tab键补全(2步搞定)
查看>>
linux locate 命令使用示例
查看>>
eclipse PyDev 字符集编码设置的3种方法
查看>>
eclipse字体大小设置
查看>>
python __init__.py __name__ __doc__ __file__ argv[0] 浅析
查看>>
Python 命名空间和LEGB规则
查看>>
python 函数的嵌套定义 and 函数的返回值是函数
查看>>
Python 内置函数 locals() 和globals()
查看>>
Python repr() 函数和str() 函数
查看>>
cmd命令里的路径包含空格 的解决方法
查看>>
linux命令执行后的 返回值与错误代码
查看>>
python os.system(command)函数的返回值 与 linux命令返回值的关系
查看>>