WEB应用程序及IIS WEB 服务器介绍

原创 2006年06月08日 12:25:00
I.         了解 Web 应用程序
1.      概述
Web 应用程序是一个包含多个页的 Web 站点,这些页可能是静态的html网页,也可能是动态的网页(如:ASP.NETJSPPHP等),所有这些Web页均存储在 Web 服务器上,用户通过这些Web页与网站进行交互,从而获得自己需要的各种信息和服务。
 
实现一个Web站点,通常有多种技术方案可供选择,最常见的有ASPASP.NETPHPJSP四种技术方案。ASP ASP.NETPHPJSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来处理业务逻辑(比如查询数据库等)。ASPASP.NETPHPJSP都提供在 HTML代码中混合某种程序代码,用户通过浏览器浏览网页时,Web服务器会调用对应的应用程序服务器执行其中的程序代码,(注:应用程序服务器其实就是一个程序,对ASPPHP来说它是一个语言引擎用于解释执行其中的代码,对JSP来说,它是一个JAVA虚拟机,JSP程序在第一次执行的时候会编译成一种字节码,执行的时候由JAVA虚拟机解释执行被编译好的字节码,ASP.NET则不是那么简单,ASP.NET程序编译好以后其实和一个单机版的.NET程序没什么不同,都需要一个叫.NET Framework东东做支持,这个家伙里面包含了很多的东西,ASP.NET程序在编译的时候会编译成一种中间语言,然后在第一次运行的时候由.NET Framework里提供的即时编译器编译成CPU可以执行的二进制代码,并缓存在磁盘上,所以这四种技术里面,只有asp.net程序是真正编译执行的,其他的都是解释执行)最后生成一个标准的html文件发回给客户端的浏览器。ASP ASP.NETPHPJSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.      各个方案的对比

各个方案的对比情况参见下表:(有些说法是我自己的观点,肯定不权威啦,但是也不需要深究,了解一下就好,哪个搞好了,都可以吃饭呀)
  方案
属性
ASP
ASP.NET
JSP
PHP
描述信息
ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。
 
ASP.NET是ASP 的后继版本,在先前的文档中被称为ASP+, ASP.NET和它的前期版本都是构建新一代动态网站和基于网络 特别是Internet 的分布式应用的技术。 ASP.NET为网站设计人员和网络程序员提供了更简单快捷的开发方法 ASP.NET向前兼容ASP 运行在.NET Platform上 以前的ASP脚本几乎不经修改就可以在.NET Platform上运行 从而保护了先前的投资
  JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。    
 
  PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。    
最常见的
配置环境
Windows 200X server OS
IIS6.0 Web服务器
SQL Server 数据库
Windows 200X server OS
IIS6.0 Web服务器
.NET Framework 1.1
SQL Server 数据库
Unix或Linux, windows
Apache Tomcat Web服务器
JDK (Java Development Kit)
Oracle数据库
Linux
Apache Web服务器
MySQL数据库
服务器端
代码语言
VB Sctipt或JScript
C#, VB.NET, Jscript.NET
JAVA
PHP(语法和C差不多)
优点
1.使用脚本语言VB Sctipt或JScript易学易用
2.适合中小企业建立自己的Web应用系统
3.投资费用适中
易学易用,适合中小企业建立自己的Web应用系统
投资费用适中
而且asp.net可以作为掌握.net的一块敲门砖,容易掌握
可以部署在多种平台上,适合做大型的商业网站
功能强大,在java的世界里,java一种语言就可以打天下了,各种程序都可以用java开发
投资费用最低,从操作系统到数据库都是免费的,很多政府部门的电子政务平台是用这个搭建的
缺点
只能部署在windows平台上,而且程序代码和HTML代码都写在一个文件里,显的凌乱,而且不利于安全,也没有办法隐藏源代码ASP,本身的功能有限,必须通过ASP+COM的组合来扩充
只能部署在windows平台上
现在.NET程序员很多,想拿高薪就必须要是高手才行.不象c++写上两三年的工资都能拿到5000
投资费用非常昂贵, 动辄上百万,甚至更多,中小企业往往承受不了
很复杂,不容易上手
java程序员也很多,高手才能拿高薪
不是太容易上手,首先环境搭建起来就比较麻烦,而且应用的范围也比较小,还有一点就是PHP只能用来做web程序,没有办法扩充到其他方面,而且没有大公司的支持,基本上没有技术支持
 

 
这里呢,咱们只讨论微软的方案,而且重点讨论ASP.NET,虽然现在Intenet上还有大量的ASP网站,主要的原因是这些网站在开发创建的时候.NET还不够成熟,这里的成熟不仅仅指技术方面的,还有开发人员方面的因素,一种技术方案能够在市场上大力的推广,除了技术方案本身的先进性和合理性以外,还必须有一大批优秀的深谙其道的程序员。现在,.NET不管是技术上,还是开发人员方面,都已经非常成熟了。如果新开发一个Web站点,相信会有95%(是指在ASPASP.NET二者里选择)以上的人会选择ASP.NET。从发展阶段上看,ASP.NET是从ASP发展来的(实际在技术实现上ASP.NETASP是完全不同的两回事,这个以后谈.NET基础的时候在详细的讨论),所以简单了解一下ASP,有助于对动态网页的理解,也有助于对ASP.NET的理解。
 
II.      Web 应用程序如何工作
Web 应用程序是一组静态和动态 Web 页的集合。静态 Web 页是指当Web服务器接到用户请求时内容不会发生更改的页,Web 服务器直接将该页发送到请求 Web 浏览器,而不对其做任何处理。相反,在将动态 Web 页发送到请求浏览器之前,服务器将对该页处理,执行嵌在网页里的在服务器端运行的代码,从而动态的生成一个html网页,发送给客户端浏览器。
 
首先,我们先了解一下一个完整的Web应用程序系统的构成。我们每天都会使用Web浏览器(如:IE)上网浏览大量的信息,比如我通过IE浏览器发出一个浏览美女(嘿嘿,不要笑话我啊^_^)的申请,那么不久就会有大量的美女图片发送的我的IE浏览器里,而不是汽车信息,那么到底是谁在后台为我们提供这些操作呢,这个不辞劳苦任劳任怨可以连续N*24小时工作的伟大的幕后者就是Web服务器,具体到微软的产品就是IIS了。还是画个图吧:
 
1.      处理静态 Web 页
一般的 Web 站点由一组相关的 HTML 页和文件组成,这些页和文件驻留在运行 Web 服务器的计算机上。
Web 服务器是响应来自 Web 浏览器的请求以提供 Web 页的软件。当用户单击 Web 页上的某个链接、在浏览器中选择一个书签、或在浏览器的“地址”文本框中输入一个 URL 并单击“转到”时,便生成一个页请求。
常规 Web 页的最终内容由网页设计人员确定,当接到请求时,内容不发生更改。这里有一个示例:
<html>
<head>
<title>Call Department</title>
</head>
<body>
<strong>Call Department</strong><br>
Talk to someone in Sales.
</body>
</html>
该页的每一行 HTML 代码都是在将页放置到服务器之前由设计人员编写的。因为 HTML 在放置到服务器后不发生更改,所以这种页称为静态页。
备注: 严格来说,“静态”页可能不是完全静态的。例如,一个鼠标经过图像或一个 Flash 影片可以使静态页活动起来。但是,本帮助系统所说的静态页是在发送到浏览器时不进行修改的页。
Web 服务器接收到对静态页的请求时,服务器将读取该请求,查找该页,然后将其发送到请求浏览器,如下图所示: 
至于 Web 应用程序,当用户请求页时,代码的某些行尚未确定。必须先由某种机制确定这些行才能将该页发送到浏览器。这种机制将在下一节中进行讨论。
2.      处理动态Web页
Web 服务器接收到对静态 Web 页(就是html页)的请求时,服务器直接将该页发送到请求浏览器,而不进行进一步的处理。当 Web 服务器(比如:IIS)接收到对动态页(这里以asp页做例子吧顺便了解一下,呵呵!)的请求时,它将作出不同的反应:它将该页传递给一个负责完成页面的特殊软件扩展。这个特殊软件叫做应用程序服务器。
应用程序服务器读取页上的代码,并解释执行这些代码,然后将代码从页上删除。所得的结果将是一个静态的html页,应用程序服务器将该页传递回 Web 服务器,然后 Web 服务器将该页发送到请求浏览器。当该页到达时,浏览器得到的全部内容都是纯 HTML。
一个asp动态页的例子:
<%@LANGUAGE="JSCRIPT"%>
<html>
<head>
<title>一个ASP页例子</title>
</head>
<script language="javascript">
//这里的代码是客户端执行的javascript代码
function Hello() 
{
    alert("Hello,world!");
}
</script>
<body onload="Hello()">
<%
    Response.Write("Hello,world!");//<% %>中间的代码是在服务器端执行的javascript代码
%>
</body>
</html>
此图是流程的视图:
 
3.      访问数据库
应用程序服务器使您可以使用服务器端的资源,例如数据库。例如,动态页可以指示应用程序服务器从数据库中提取数据并将其插入页的 HTML 中。
从数据库中提取数据的指令叫做数据库查询。查询是由名为 SQL(结构化查询语言)的数据库语言所表示的搜索条件组成的。SQL 查询被写入页的服务器端脚本或标签中。
应用程序服务器不能直接与数据库进行通信,因为数据库的专用格式所呈现的数据无法解密,这类似于在“记事本”中打开的 Word 文档无法解密。应用程序服务器只能通过数据库驱动程序作为媒介才能进行通信。数据库驱动程序是在应用程序服务器和数据库之间充当翻译程序的软件。 (asp动态网页是通过微软提供的一个组件ado来访问数据库的)
在驱动程序建立通信之后,将对数据库执行查询并创建一个记录集。记录集是从数据库的一个或多个表中提取的数据子集。记录集将返回给应用程序服务器,而数据将应用到动态页中。
这是一个用 SQL 编写的简单的数据库查询:
SELECT lastname, firstname, fitpoints
FROM employees
该语句将创建一个三列的记录集,并用包含数据库中所有员工的姓、名和健身积分的行填充该记录集。
这是一个对数据库进行查询并将数据返回给浏览器的过程图解:
 
 
 
只要数据库有适当的数据库驱动程序,您的Web 应用程序几乎可以访问任何数据库。
如果您计划建立小型低成本的应用程序,则可以使用基于文件的数据库,例如用 Microsoft Access 创建的数据库。
如果您计划建立稳定的、对业务至关重要的应用程序,则可以使用基于服务器的数据库,例如用 Microsoft SQL Server、Oracle 9i 或 MySQL 创建的数据库。
如果您的数据库位于 Web 服务器之外的系统上,则应确保两个系统间有快速连接,以便您的 Web 应用程序可以快速有效地工作。 (这段话的意思就是说数据库安装在一台机器上,Web 应用程序安装在另外一台机器上,那么这两台机器之间要能快速的交换数据,这样web 应用程序才能有较高的性能,否则就会慢死了)
 
III.    IIS WEB服务器
1.      安装 IIS
默认情况下,不会在 Windows XP Professional 上安装 Internet 信息服务。仅当以前版本的 Windows 上安装了 PWS 时,才会默认安装 IIS 5.1。可以通过控制面板中的添加或删除程序应用程序删除 IIS 或选择附加组件。
 
安装 IIS、添加组件或删除组件
1.        单击开始,单击控制面板,双击添加或删除程序启动添加或删除程序应用程序。
2.        添加或删除程序对话框左侧的列中,单击添加/删除 Windows 组件
3.        出现“Windows 组件向导后,单击下一步
4.        “Windows 组件列表中选中“Internet 信息服务
5.        单击下一步,然后根据指导进行操作。
 
2.      创建虚拟目录
如果网站包含的某些文件不在主目录中或在其他计算机上,则必须创建虚拟目录将这些文件包含到网站中。要使用其他计算机上的目录,必须指定此目录的通用命名约定 (UNC) 名称,并提供具有访问权限的用户名和密码。
²      创建虚拟目录
1.        开始菜单,选择设置,然后选择控制面板
2.        打开管理工具
3.        打开“Internet 服务管理器
4.        选择要添加目录的网站或 FTP 站点。
5.        单击操作菜单,指向新建,然后单击虚拟目录
6.        使用虚拟目录创建向导完成此任务。
注意   如果使用 NTFS,也可以用鼠标右键单击 Windows 资源管理器中的某个目录,单击共享,然后选择“Web 共享属性页来创建虚拟目录。
²      删除虚拟目录
1.        开始菜单,选择设置,然后选择控制面板
2.        打开管理工具
3.        打开“Internet 服务管理器
4.        选择要删除的虚拟目录。
5.        单击操作菜单,然后单击删除。删除虚拟目录不会删除相应的物理目录或文件。
 
IISwindows平台上的web服务器,现在最新的版本是IIS6.0,安装以后在IE浏览器里键入:http://localhost/iishelp可以看到很详细的文档。
 
3.      一个创建asp web站点的例子
1.        C盘上创建一个文件夹asp_web_site
2.        然后用记事本创建一个文本文件,并另存为test.asp。文件内容如下:
<%@LANGUAGE="JSCRIPT"%>
<html>
<head>
<title>一个ASP页例子</title>
</head>
<script language="javascript">
function Hello() 
{
    alert("Hello,world!");
}
</script>
<body onload="Hello()">
<%
    Response.Write("Hello,world!");
%>
</body>
</html>
 
3.        用上面的方法创建一个虚拟目录test_asp,并将路径指向C:/ asp_web_site
 
 
 
  剩下的直接选择默认的选项就可以了,简单吧^_^
 
4.        IE浏览器地址栏键入:http://localhost/test_asp/test.asp就可以看到网页了
 

Silverlight Web应用程序与 WCF服务 在 IIS6上 部署问题总结

安装.net framework 4,Silverlight sdk 4,Silverlight tools等软件包后,如果你的WCF RIA应用还不能正常运行,则要检查以下问题 1. asp....

如何把MVC4 Web应用程序发布到IIS

本例采用的是visual studio 2012 默认的ASP.NET MVC4 Web应用程序。IIS为windows 8.1自带的默认IIS8 如不勾选ASP.NET 4.5会出现莫名其妙的...
  • natahew
  • natahew
  • 2015年04月28日 14:10
  • 921

windows 2008环境下利用IIS7.5部署web应用程序

广大网友可能在用IIS7.5部署web应用程序的时候,遇到了很多大大小小的问题。笔者就自己遇到的问题及解决方式罗列出来,供我们大家一起讨论: 1:我们用到的.net fx框架在调用数据库时,可能对6...

Web应用程序与Web网站及部署在IIS中

在Visual Studio可以创建 Web 应用程序项目或网站项目。通过选择 新建项目 或 打开项目 创建或打开一个 Web 应用程序项目在Visual Studio 文件 菜单。 通过选择 新建...

VS2012[Web应用程序项目***已配置为使用IIS。无法访问IIS元数据库]

问题1:从git上下载了新的项目,整备熟悉一下为后续开发做整备。无赖在打开项目时出现web项目加载失败的问题。使用手动加载弹了如下提示框“ Web应用程序项目***已配置为使用IIS。无法访问IIS元...
  • mymhj
  • mymhj
  • 2014年06月11日 11:41
  • 19973

通过Nginx反向代理管理服务器上的多个web应用程序

续接上篇初识Nginx,本篇分享一下Nginx常用功能点之一的反向代理的应用。应用场景为:管理服务器上的陆陆续续发布的各类web应用程序。...

Web应用程序:开发,部署到Tomcat服务器下运行

Web应用程序:开发,部署到Tomcat服务器下运行 1)在Eclipse下新建一个Java Project 2)在项目下创建如下目录: 下面是我创建的项目结构: web.xml文件可以把a...

Web应用程序中的脚本—客户端和服务器端

动态网页开发技术按照执行的位置不同,分为客户端和服务器端,如下图:     l  那么什么是客户端脚本,什么又是服务器端脚本?       ²  客户端脚本       客户端脚本:无论在牛腩...

Web应用程序中的服务器错误 (<authentication mode="Forms">)

今天把做的一个网站项目导入VS后,运行出现下面错误,然后就开始各种改,最后终于好了。。。     错误信息如下:          我百度了一下,解决的主要方案如下:     1.在IIS里,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WEB应用程序及IIS WEB 服务器介绍
举报原因:
原因补充:

(最多只允许输入30个字)