12Web服务器与Web请求.docVIP

  • 2
  • 0
  • 约8.69千字
  • 约 8页
  • 2017-08-26 发布于天津
  • 举报
12Web服务器与Web请求.doc

第Ⅰ部分 基础篇或许不是每一本入门的书都会讲基础,或许也不喜欢看枯燥的基础,但是笔者认为对于任何一门技术来说,打好基础是至关重要的。如果没有任何Web开发的经验,还是建议在理解了这些基础知识后再开始尝试编程。 我们知道,技术(无论是软件还是硬件)的发展是很快的,软件一年出一新版本,硬件一年出一新代号,对于这样一个高速发展的行业,很多年龄偏大的爱好者往往会对编程望而却步。但是仔细分析可以发现,软件硬件所谓的一年一新往往不是本质上的变化。举一个Web开发的例子来说,微软的Web开发技术从ASP到ASP.NET 1.1一直到现在的ASP.NET 2.0,都需要用到数据库、网络、客户端脚本的知识。从近期的发展来看,Web编程的基础知识对于今后再学习任何一门其Web编程技术来说都是适用的。 第章 本章将首先介绍浏览器/服务器模型以及这个模型中的重要角色服务器。在了解了Web编程硬件体系后,读者将了解Web编程软件技术上的发展。最后,我们会说到本书出现最多的那个关键词ASP.NET。 1.1 浏览器/服务器模型 .1.1 客户端/服务器(C/S)模型的问题 浏览器/服务器模型通常称作B/S模型。B是Browser(浏览器)的缩写,而S是Server(服务器)的缩写。和B/S模型相对应,还有一种叫C/S模型客户端/服务器模型,这里的C是Client的缩写,S是Server的缩写。 在说B/S以前,首先笔者想谈谈C/S。在网络体系还不是很发达的时候,应用软件大多是基于C/S的。大家可能会问,通常我们机器上安装的软件都是可以单机使用的,并没有S(服务器)的参与。这里所说的应用软件是指企业、各行业使用的一些复杂交互的系统,比如说进销存系统等。这些系统都不是一个人在使用,而且所有人读取的数据都需要是一致的。对于这样的应用,每一个客户的上都需要安装一个软件(客户端)来和服务器通信,由此引来了很多不便。举例来说: 首先,当我们需要在企业内部使用一个员工管理系统,网管需要为每一位员工的上都安装这个软件。当系统升级后,网管再次需要为每一台升级软件。而且,软件对于客户机的软件平台也有一定要求,如我们的软件是基于Windows平台的,那么我们需要确保软件所在的客户机的操作系统也是Windows,有时候软件使用了很多DLL文件,如果客户机上不存在这些文件会导致程序不能启动,由此带来的维护成本比较大。 其次,如果软件的设计不是很合理还会大量占用客户机的内存,如果软件中还包含了大量的计算工作,就会占用大量CPU资源,如果客户机的配置不能达到软件的最低需求的话,甚至还不能正常使用软件,由此带来的硬件成本大了。 .1.2 浏览器/服务器(B/S)模型的优劣 B/S模型的出现很好地解决了以上几个问题。在这种模型下,客户端就是浏览器,只要客户机上安装了浏览器就能使用系统,对于平台基本没有限制,部署上的成本也几乎为零。浏览器几乎不执行任何的运算操作,它仅仅负责解析和呈现接收到的HTML代码。系统的升级仅仅是在服务器端的,对于客户端我们不需要做任何的改变。基于这些优势,大量商业系统开始转变成B/S模型,不过不得不说,B/S模型也是存在一定缺点的。正因为浏览器只负责解析HTML代码(有的时候也会有一部分脚本代码),所以大量的业务逻辑运算都会集中在服务器端,如果客户群数量很大的话,对于服务器的压力就很大了。另外,由于客户端是通过浏览器来表现的。用户每一次的操作都会提交到服务器端来处理,处理完成后再返回HTML到浏览器。时间的开销比较大,也不能做到实时响应。随着技术的发展,也有了不少解决方案,本书的后面会提到。 1.2 Web服务器Web服务器从定义上说是在网络中为实现信息发布、资料查询、数据处理等诸多应用而搭建的服务器。那么Web服务器是怎么样提供服务的呢?通常,一次页面的请求要经历如下几步用户使用浏览器请求某一地址 负责这个地址的Web服务器定位到某文件 Web服务器解析文件并返回静态HTML代码 可能这样说有点过于理论化了,不要紧,在后续章节中我们还会演示这一过程。从这个请求过程中我们可以得出以下结论只能是浏览器先请求,Web服务器才能出响应,要想让Web服务器主动联系浏览器并向浏览器发送数据是不可能的。因此,常见的网络聊天室中的实时聊天信息并不是服务器向浏览器主动发数据形成的。 浏览器解析的始终是静态代码,所谓静态代码就是不包含任何动态语言(比如ASP.NET)的代码。静态代码通常是由HTML、CSS和客户端脚本(例如JavaScript)组成。因此,读者在浏览网站的时候,看到的提示信息框等都是浏览器解析客户端脚本的结果。和C/S模式的系统不同,要想在B/S模式上的系统实现警告框、确认框的效果,只能通过向浏览器输出客户端脚本实现。反之,使用ASP.NET执行类似Me

文档评论(0)

1亿VIP精品文档

相关文档