`
colenxu
  • 浏览: 1688 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

PHP Apache 的工作原理

    博客分类:
  • php
阅读更多
PHP的工作原理
                                     
PHP的所有应用程序都是通过WEB服务器(如IIS或Apache)和PHP引擎程序解释执行完成的,工作过程:

(1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送化支持PHP的WEB服务器。

(2)WEB服务器接受这个请求,并根据其后缀进行判断如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。

(3)PHP引擎程序将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。

(4)PHP引擎将生成HTML页面返回给WEB服务器。WEB服务器再将HTML页面返回给客户端浏览器。

简言之:apache是WEB服务器,它可以解析php语言。


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: http://www.linuxar.com.cn/engineer/ideal/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: www.linuxar.com.cn
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地址。这简化了网络服务器对虚拟主机数目管理的处理量。
分享到:
评论

相关推荐

    Apache PHP利用HTTP缓存协议原理解析及应用

    Apache PHP利用HTTP缓存协议原理解析及应用

    Apache工作机制分析

    apache运行机制基础分析 apache+php+mysql+zend+phpmyadmin安装配置 虚拟主机与虚拟目录

    Apache环境下PHP利用HTTP缓存协议原理解析及应用分析

    对于静态页面还有Etag。 一、先来看第一种情况:apache 静态页面 apache发送给客户端的静态页面一般包含Last-Modified和Etag,这...二、PHP等动态页面 由于php是动态生成的,它的内容是不能根据php程序的时间来确定最后

    WAMP(windows+apache+mysql+php)安装与配置[文].pdf

    WAMP(windows+apache+mysql+php)安装与配置[文].pdf

    Apache简介及安全配置方案

    0×02 Apache运行原理介绍 Apache是基于模块化设计的,各个模块在系统启动的时候按需载入。Apache对于php的解析,就是通过众多Module中的php Module来完成的。 所以,php加载成为了apache的一个模块,可以把apache...

    PHP100视频教程全集112集BT种子【PHP经典】

    PHP100视频教程13:PHP+MYSQL分页原理 PHP100视频教程14:PHP上传原理及应用 PHP100视频教程15:PHP生成HTML文件原理 PHP100视频教程16:PHP小偷程序原理和实例 PHP100视频教程17:PHP面向对象开发的学习(一) ...

    php 简明教程.zip

    1.Web程序工作原理 ... 6 2.PHP简介 .... 9 第二节 PHP的开发环境的搭建 ... 9 1.程序编写,软件开发工具软件的选用 .. 9 2.服务器软件的安装和配置 10 第三节 实验一 PHP开发环境的搭建 . 11 0.实验目的 ... 11 1....

    Apache入门

    网络基本概念 PHP网页工作原理 phpStudy集成环境安装 全局配置参数 虚拟主机配置 目录权限配置

    PHP底层运行机制与工作原理详解

    PHP底层工作原理 图1 php结构 从图上可以看出,php从下到上是一个4层体系 ①Zend引擎 Zend整体用纯c实现,是php的内核部分,它将php代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的...

    详解nginx+php执行请求的工作原理

    主要介绍了详解nginx+php执行请求的工作原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    使用PHP生成条形码 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PH

    使用PHP生成条形码 ...1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。 二、主要技术 本实验主要使用GD库图片函数和条形码制作原理实现快速生成条形码。

    PHP基础教程-推荐教

    1.Web程序工作原理 6 2.PHP简介 9 第二节 PHP的开发环境的搭建 9 1.程序编写,软件开发工具软件的选用 9 2.服务器软件的安装和配置 10 第三节 实验一 PHP开发环境的搭建 11 0.实验目的 11 1.实验准备 11 2.PHP的...

    PHP基础教程-推荐

    1.Web程序工作原理 6 2.PHP简介 9 第二节 PHP的开发环境的搭建 9 1.程序编写,软件开发工具软件的选用 9 2.服务器软件的安装和配置 10 第三节 实验一 PHP开发环境的搭建 11 0.实验目的 11 1.实验准备 12 2.PHP的安装...

    PHP与MYSQL权威指南

    , 全书分为五个部分:第一部分首先介绍了PHP最常用的服务器Apache的工作原理和使用方法,然后逐步介绍了PHP与MySQL开发环境在Windows和Linux系统下的搭建;第二部分系统地讲解了PHP的语法特性,第三部分详细地阐述了...

    php课程(共100多节)

    13:PHP+MYSQL分页原理 14:PHP上传原理及应用 15:PHP生成HTML文件原理 16:PHP小偷程序原理和实例 17:PHP面向对象开发的学习(一) 18:PHP面向对象开发的学习(二) 19:PHP面向对象开发的学习(三) 20:PHP...

    缺陷管理系统。Apache+PHP+MySQL

    缺陷管理系统,Apache+PHP+MySQL。可以做毕业设计和学习用。 毕业设计成品列表: ASP+ACCESS企业公司网站 ASP.NET+SQL2000销售管理系统 ASP+ACCESS网上考试系统 ASP.NET+ACCESS校友录毕业设计 ASP+ACCESS在线考试...

    Windows下php5+apache+mysql5 手工搭建笔记

    这里我就不说那些太概念的东西了(其实我也说不出来,哈哈),但是基本的原理程序员是要知道的,例如网站基本运行原理,php运行需要php的环境,java,DotNet同样需要自己的运行环境,那么php的运行环境就是php的,...

    php+mysql学生成绩信息管理系统(源码+数据库)

    本文首先介绍了PHP技术的工作原理、工作过程及其运行环境和PHP文件的编程特点,以及如何较好地配置PHP的需求环境,既使大家对PHP有更好的了解,同时也有利于更好地使用PHP技术。其次,介绍了教材管理系统,MYSQL数据库,...

    php中的ini配置原理详解

    此时如果无法重启apache或者nginx等,那么就只能显式的在php代码中调用ini_set接口。ini_set是php向我们提供的一个动态修改配置的函数,需要注意的是,利用ini_set所设置的配置与ini文件中设置的配置,其生效的时间...

Global site tag (gtag.js) - Google Analytics