1.工作过程:如下图所示描述了Web的工作原理。

(1) 用户打开计算机(客户机),启动浏览器程序,并在浏览器中指定一个URL(Uniform Resource Locator,统一资源定位器),浏览器便向该URL所指向的Web服务器发出请求。

(2) Web服务器接到浏览器的请求后,把URL转换成页面所在服务器上的文件路径名。

(3) 如果URL指向的是普通的HTML(Hyper Text Markup Language,超文本标记语言)文档,Web服务器直接将它送给浏览器。HTML文档中可能包含有ActiveX、VBScript、Java、JavaScript等编写的小应用程序(applet),服务器也将其随HTML一道传送到浏览器,在浏览器所在的机器上执行。

(4) 如果HTML文档中嵌有ASP或CGI(Common Gateway Interface,公共网关接口)程序,Web服务器就运行ASP或CGI程序,并将结果传送至浏览器。Web服务器运行CGI程序时还可能需要调用其他服务器。

(5) URL也可以指向VRML(Virtual Reality Modeling Language,虚拟现实建模语言)文档。只要浏览器中配置有VRML插件,或者客户机上已安装VRML浏览器,就可以接收Web服务器发送的VRML文档。

B/S体系结构的特点

(1) 由于Web支持底层的TCP/IP协议,使Web网与局域网都可以做到连接,从而彻底解决了异构系统的连接问题。

(2) 由于Web采用了“瘦客户端”,使系统的开放性得到很大的改善,系统对将要访问系统的用户数的限制有所放松。

(3) 系统的相对集中性使得系统的维护和扩展变得更加容易。比如数据库存储空间不够,可再加一个数据库服务器;系统要增加功能,可以新增—个应用服务器来运行新功能。

(4) 界面统一(全部为浏览器方式),操作相对简单。

(5) 业务规则和数据捕获的程序容易分发。

B/S体系结构的功能组成

浏览器

客户端浏览器的主要作用是向Web服务器发出请求,当接到Web服务器传送回来的数据以后,对这些数据进行解释和显示。浏览器以URL为统一的定位格式,使用超文本传输协议HTTP接收采用HTML语言编写的页面,其基本结构如下图所示:

用户通过键盘或鼠标发出请求,该请求由浏览器中的控制器接收、检查并分析用户输入,根据用户请求执行相应动作。如果用户请求可以在本机解决,例如浏览已存在本机的页面,则输出到HTTP解释器或其他解释器,解释后通过驱动程序送入显示器显示。如果用户请求不能在本机解决,则通过HTTP客户机或其他客户机及网络界面与远程服务器通信,由远程服务器解决用户请求,将用户需要的HTML文档送回,然后通过HTTP解释器或其他解释器,解释后通过驱动程序送入显示器显示。

Web服务器

Web服务器使用HTTP协议对客户机的请求给予应答。每一个Web服务器在Internet上都有一个惟一的地址,这个地址可以是一个域名(或对应的IP地址)。如果客户机提出一个合法的请求,那么Web服务器就会把请求的内容传送给客户机,例如:

http://www.microsoft.com/intl/cn/index.html

www.microsoft.com是Web服务器的域名,而/int1/cn/是服务器中文件的路径,这个请求的是要用http协议获取www.microsoft.com服务器中/intl/cn/目录下的index.html文件。Web服务器得到这个请求以后,会自动读取/intl/cn/目录下的index.html文件,然后将该文件以数据流的方式通过网络传送给请求者。

数据库服务器

在B/S体系结构中,数据库服务器除必要的硬件设备外,最主要的是相应的数据库管理系统的选择,因为大量的信息都存储在不同的数据库中,根据不同的开发环境和运行平台,应选择合适的数据库环境。
原文链接:https://blog.csdn.net/moshenglv/article/details/51863437

Web的工作原理(二)的更多相关文章

  1. web服务器工作原理

    Web服务器工作原理概述 转载自http://www.importnew.com/15020.html 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它 ...

  2. 【转载】Web应用工作原理

    问题描述:           Web应用工作原理   问题解决:          参考资料:http://blog.csdn.net/lcore/article/details/8964642   ...

  3. Java Web程序工作原理

    Web开发的最重要的基本功能是HTTP:Java Web开发的最重要的基本功是Servlet Specification.HTTP和Servlet Specitication对于Web Server和 ...

  4. Web程序工作原理

    1.Web程序工作原理 (1)Web一词的含义 Network:[计算机]电脑网络,网 Web:[计算机]万维网(World Wide Web),互联网(Internet) Web程序,顾名思义,即工 ...

  5. Web网站工作原理解析

    Web的工作原理   Web采用的是客户机--服务器架构(Client--Server model),如下图所示,其中客户端(Client)可以通过网络连接访问另一台计算机的资源或服务,而提供资源或服 ...

  6. 【转】web服务器工作原理

    一.静态网页的工作原理如下:A.用户在浏览器的地址栏输入要访问的地址并回车,触发这个浏览请求. B.浏览器将请求发送到Web服务器.C.Web服务器接受这个请求,并根据请求文件的后缀名判定是否为HTM ...

  7. Hadoop周边生态软件和简要工作原理(二)

    转自: http://www.it165.net/admin/html/201307/1532.html Sqoop: sqoop在hadoop生态系统中也是应用率比较高的软件,主要是用来做ETL工具 ...

  8. Android 基于Netty的消息推送方案之概念和工作原理(二)

    上一篇文章中我讲述了关于消息推送的方案以及一个基于Netty实现的一个简单的Hello World,为了更好的理解Hello World中的代码,今天我来讲解一下关于Netty中一些概念和工作原理的内 ...

  9. How Javascript works (Javascript工作原理) (二) 引擎,运行时,如何在 V8 引擎中书写最优代码的 5 条小技巧

    个人总结: 一个Javascript引擎由一个标准解释程序,或者即时编译器来实现. 解释器(Interpreter): 解释一行,执行一行. 编译器(Compiler): 全部编译成机器码,统一执行. ...

随机推荐

  1. 【NX二次开发】Block UI 分割线

    设置控件可见 this->separator0->GetProperties()->SetLogical("Show",true);

  2. Luat Inside | 多功能YAP物联网终端机,你不会还不知道吧?

    简洁高效是合宙产品的一个重要特点,合宙的工程师们用Demo取代繁杂的说明书,以便于开发者快速上手. 有没有可能把这个学习的过程变得更有趣,并且把技术入门难度进一步降低?作为一名Luat技术爱好者,我对 ...

  3. 『无为则无心』Python基础 — 3、搭建Python开发环境

    目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲 ...

  4. 题解 P3605 [USACO17JAN]Promotion Counting P

    分块\(yyds\) ----关于线段树合并的题我用分块过掉这件事 题目传送门 先说正解 正解当然是线段树合并等一类做法了 至于解析...出门右转题解区第一篇 (就是他让我看不懂,然后用分块打的\(Q ...

  5. 【dp】状压dp

    二进制的力量 状态压缩DP 愤怒的小鸟 第一次接触状态压缩DP是在NOIP2016的愤怒的小鸟,当时菜得连题目都没看懂,不过现在回过头来看还是挺简单的,那么我们再来看看这道题吧. 题意&数据范 ...

  6. SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...

  7. zookeeper使用教程

    Zookeeper 1.       Zookeeper概述 1.1 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.2 特点 1)Zookeeper: ...

  8. 4、git和gitlab的配置(2)

    4.10.使用 gitlib 模拟开发流程: 1.项目经理指定开发计划: project01 需求 开发者 完成日期 v1.0 首页 dev01 4.28 支付 dev02 4.30 2.rpm(项目 ...

  9. POJ 2084 Game of Connections 卡特兰数

    看了下大牛们的,原来这题是卡特兰数,顺便练练java.递归式子:h(0)=1,h(1)=1   h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) ( ...

  10. MySql:mysql修改密码及配置远程连接

    通过配置文件修改 mysql5.7  mysql库下面的user表没有password字段无法修改密码,5.7版本已经不再使用password来作为密码的字段了  而改成了authentication ...