Web程序访问流程

什么是Web应用程序? 

如果我们要谈论Web应用程序以及如何开发它们,那么我们就需要知道什么是Web应用程序,以及是什么东西使得它们与我们创建的其他应用程序不同。让我们看看一些Web应用程序的定义,以及这些定义的共同点。下面是从互联网上得到的三个定义:
       定义一:一个Web应用程序是作为单一实体管理的、逻辑上链接的Web页面的集合。换句话说,一个网站,可以有多个来自不同客户的Web应用。
       定义二:使用Internet技术开发的,符合下面一项或者多项的应用程序:
           (1)使用数据库(如Oracle或者SQL Server);
           (2)使用一种应用程序开发工具开发(如Oracle Internet Developer Suite或者Microsoft Visual Studio);
           (3)需要持续地运行服务器过程(如新闻组和聊天室);
           (4)从数据输入屏幕或者Web表单储存输入数据。
      定义三:在软件工程中,一个Web应用程序是一种经由Internet或Intranet、以Web方式访问的应用程序。它也是一个计算机软件应用程序,这个应用程序用基于浏览器的语言(如HTML、ASP、PHP、Perl、Python等等)编码,依赖于通用的Web浏览器来表现它的执行结果。

应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。 

    Web程序访问流程:

    浏览器发起访问--》DNS解析域名(通过网站名找到对应ip)--》服务器电脑--》通过端口找到服务软件--》结果返回浏览器

Web程序访问流程

    一、用户端访问服务器端的html文件(静态)

         1、通过本机配置好的DNS域名服务器地址寻找DNS服务器,将网站URL中web主机域名解析为web服务器所在的Linux操作系统(Apache通常与Linux操作系统结合使用)中对应的IP地址。
         2、通过HTTP协议(超文本传输协议)去链接上述IP地址的服务器系统,通过默认80端口请求apache服务器上对应的目录下的html文件。
         3、Apache服务器收到用户的访问请求后,在他的管理文档目录中找到并打开对应的html文件,将文件响应到客户端(用户)。
         4、浏览器收到内容响应后,接受并下载服务端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。

    动态网站访问流程与静态差不多,但是会多出几个内容:服务器端(PHP引擎)解析、数据库

Web程序访问流程

    二、用户端访问服务器端的php文件(动态)

         1、该步与上面访问html静态网页是一样的,通过DNS服务器解析出相应的Web服务器的IP地址。
         2、与上面访问html静态页面相似,不过最后请求的是Apache服务器上相应目录下的php文件。
         3、Apache服务器本身不能处理php动态语言脚本文件,就寻找并委托PHP应用服务器来处理(服务器端事先得安装PHP应用服务器),Apache服务器将用户请求访问的php文件交给PHP应用服务器。
         4、PHP应用服务器接收php文件,打开并解释php文件,最终翻译成html静态代码,再将html静态代码交还给Apache服务器,Apache服务器将接收到的html静态代码输出到客户端浏览器(即用户)。
         5、与上面访问html静态页面相同,浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。

    三、用户端访问服务器端的MySQL数据库(动态)

     如果用户需要对MySQL数据库中的数据进行操作,那么就需要在服务器端安装数据库管理软件MySQL服务器,用来存储和管理网站数据。由于 Apache服务器是无法连接和操作MySQL服务器,所以还需要安装php应用服务器,这样Apache服务器就委托php应用服务器去连接和操作数据库,在对数据库中的数据进行管理的时候,一般都需要用到结构化查询语句,即SQL语句。

         1、该步与上面访问php文件一样,通过DNS服务器解析出相应的Web服务器的IP地址。
         2、与上面访问php文件一样,请求访问Apache服务器上相应目录下的php文件。
         3、与上面访问php文件一样,PHP应用服务器接收Apache服务器的委托,收到相应的php文件。
         4、PHP应用服务器打开php文件,在php文件中通过对数据库连接的代码来连接本机或者网络上其他机器上的MySQL数据库,并在php程序中通过执行标准的SQL查询语句来获取数据库中的数据,再通过PHP应用服务器将数据生成html静态代码。
         5、浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。