Web Server 笔记

在IE中键入“http://news.sina.com.cn/c/2013-02-28/032726379565.shtml”发生了什么

1----

     Sina Web Server Program:
               打开socket,绑定80端口,等待连接(Listen)


2----

     IE:
              输入http://news.sina.com.cn/c/2013-02-28/032726379565.shtml
              打开socket, 通过DNS服务器查询news.sina.com.cn对应的IP地址,根据http知道端口是80,
              所以尝试连接该IP地址和80端口的Socket,

     Sina Web Server Program:
             收到连接(accept)后,起进程(线程)处理该连接上的通信。



3----

     IE:
            连接成功后,通过Socket send(“get /c/2013-02-28/032726379565.shtml ”)


     Sina Web Server Program:
           通过Socket read收到IE发送的“get /c/2013-02-28/032726379565.shtml” 
                    方法1. 简单情况找到对应的网页,
                    方法2. 实时生成网页 (CGI程序)“get /c/2013-02-28/stockPrice.aspx &China&Shanghai”
          读取网页内容放到一个数据包中,然后通过Socket send给IE


4----

     IE:
          通过Socket read读取到含网页内容的数据包,显示网页内容


服务器:
1. Web Server程序

Apache,Tomcat,IIS (microsoft), NginX


Internet Information Services(IIS,互联网信息服务),是由 微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行,但在Windows XP Home版本上并没有IIS。

功能作用

在同一时间内允许打开的网站页面数,打开一个页面占一个iis,打开一个站内框架页面占2到3个iis;若图片等被盗链,在其它网站打开本站图片同样占一个iis。假若设置 参数为50个iis,则这个站允许同时有50个页面被打开。但要在同一时间(极短的时间)有50个页面被打开,需要50个人同时操作,这个概率还是比较低的。所以,100个iis支持日ip1000(同时访问网站人数必定远低于1000人)以上都不是很大问题,除非网站被盗链或框架引发其它消耗。

Web服务器建立

一、建立第一个Web站点
比如本机的IP地址为192.168.0.1,自己的网页放在D:\Wy 目录下,网页的首页文件名为Index.htm,现在想根据这些建立好自己的Web 服务器
对于此Web站点,我们可以用现有的“默认Web站点”来做相应的修改后,就可以轻松实现。请先在“默认Web站点”上单击右键,选“属性”,以进入名为“默认Web站点属性”设置界面。
1.修改绑定的IP地址:转到“Web站点”窗口,再在“IP地址”后的下拉菜单中选择所需用到的本机IP地址“192.168.0.1”。
2.修改主 目录:转到“主目录”窗口,再在“ 本地路径”输入(或用“浏览”按钮选择)好自己网页所在的“D:\Wy”目录。
3.添加首页文件名:转到“文档”窗口,再按“添加”按钮,根据提示在“默认文档名”后输入自己网页的首页文件名“Index.htm”。
4.添加 虚拟目录:比如你的主目录在“D:\Wy”下,而你想输入“192.168.0.1/test”的格式就可调出“E:\All”中的网页文件,这里面的“test”就是虚拟目录。请在“默认Web站点”上单击右键,选“新建→ 虚拟目录”,依次在“别名”处输入“test”,在“目录”处输入“E:\All”后再按提示操作即可添加成功。
5.效果的测试:打开 IE浏览器,在 地址栏输入“192.168.0.1”之后再按 回车键,此时就能够调出你自己网页的首页,则说明设置成功!
注:具体不同的电脑会有不同的选项名称,但大体上还是可以找到了(多试一下)。
二、添加更多的Web站点
1.多个IP对应多个Web站点
如果本机已绑定了多个IP地址,想利用不同的IP地址得出不同的Web页面,则只需在“默认Web站点”处单击右键,选“新建→站点”,然后根据提示在“说明”处输入任意用于说明它的内容(比如为“我的第二个Web站点”)、在“输入Web站点使用的IP地址”的下拉菜单处选中需给它绑定的IP地址即可;当建立好此Web站点之后,再按上步的方法进行相应设置。
2.一个IP地址对应多个Web站点
当按上步的方法建立好所有的Web站点后,对于做 虚拟主机,可以通过给各Web站点设不同的 端口号来实现,比如给一个Web站点设为80,一个设为81,一个设为82……,则对于端口号是80的Web站点,访问格式仍然直接是IP地址就可以了,而对于绑定其他端口号的Web站点,访问时必须在IP地址后面加上相应的端口号,也即使用如 “http://192.168.0.1:81” 的格式。
很显然,改了 端口号之后使用起来就麻烦些。如果你已在 DNS服务器中将所有你需要的域名都已经映射到了此惟一的IP地址,则用设不同“ 主机头名”的方法,可以让你直接用域名来完成对不同Web站点的访问。
比如你本机只有一个IP地址为192.168.0.1,你已经建立(或设置)好了两个Web站点,一个是“默认Web站点”,一个是“我的第二个Web站点”,现在你想输入“www.enanshan. com”可直接访问前者,输入“www.popunet. com”可直接访问后者。其操作步骤如下:
(1)请确保已先在DNS 服务器中将你这两个域名都已映射到了那个IP地址上;并确保所有的Web站点的 端口号均保持为80这个默认值。
(2)再依次选“默认Web站点→右键→属性→Web站点”,单击“IP地址”右侧的“高级”按钮,在“此站点有多个标识下”双击已有的那个IP地址(或单击选中它后再按“编辑”按钮),然后在“ 主机头名”下输入“www.enanshan. com”再按“确定” 按钮保存退出。
(3)接着按上步同样的方法为“我的第二个Web站点”设好新的主机头名为“www.popunet.c o m”即可。
(4)最后,打开你的IE 浏览器,在 地址栏输入不同的网址,就可以调出不同Web站点的内容了。
3.多个域名对应同个Web站点
只需先将某个IP地址绑定到Web站点上,再在DNS 服务器中,将所需域名全部映射向的这个IP地址上,则在 浏览器中输入任何一个域名,都会直接得到所设置好的那个网站的内容。
注意的问题
1.iis安全设置之 安装系统 补丁。对于 服务器来说就特别重要,因为安全 补丁关乎到系统安全,而 微软网站经常发布最新的系统安全补丁,可以用系统自带的windows update程序随时更新。
2.iis安全设置之FTP 目录的设定。FTP 目录没有设置也容易被别人攻击,一般的就是将主目录指定到逻辑盘。为了安全,要对每个 目录按不同的用户设置不同的访问权限,然后关闭一些不需要的服务,这样可以对不良人士利用IIS 溢出漏洞访问到系统盘作个第一级防护。
3.iis安全设置之 端口设置。IIS有默认的 端口设置,只要稍有计算机知识的人都会记得这些端口的,要破解的话就十分的方便,所以尽量不要使用21这个默认 端口号,并启用日志,以便FTP服务出现异常时检查。

远程管理

1.在“管理Web站点”上单击右键,选“属性”,再进入“Web站点”窗口,选择好“IP地址”。
2.转到“ 目录安全性”窗口,单击“IP地址及域名限制”下的“编辑”按钮,点选中“授权访问”以能接受 客户端从本机之外的地方对IIS进行管理;最后单击“确定”按钮。
3.则在任意计算机的 浏览器中输入如“http://192.168.0.1:80”(80为其 端口号)的格式后,将会出现一个密码询问窗口,输入 管理员帐号名(Administrator)和相应密码之后就可登录成功,现在就可以在浏览器中对IIS进行远程管理了!在这里可以管理的范围主要包括对Web站点和FTP站点进行的新建、修改、启动、停止和删除等操作。

FTP服务器

一、建立你的FTP站点
第一个FTP站点(即“默认FTP站点”)的设置方法和更多FTP站点的建立方法请参照前文Web 服务器中相关操作执行。需要注意的是,如果你要用一个IP地址对应多个不同的FTP 服务器,则只能用使用不同的 端口号的方法来实现,而不支持“ 主机头名”的做法。
对于已建立好的FTP 服务器,在 浏览器中访问将使用如“ftp://192.168.0.1”或是“ftp://192.168.0.1:22的格式”;除了匿名访问用户(Anonymous)外,IIS中的FTP将使用Windows 2000自带的用户库(可在“开始→程序→管理工具→ 计算机管理”中找到“用户”一项来进行用户库的管理)。 最后,关键一步还有就是将你的电脑变为网络中的一台 服务器,所以你要在你的电脑中装上一个合适的代理服务器 软件并运行。
二、本部分常见问题解答
Q:如何修改FTP 服务器登录成功或退出时的系统提示信息?
A:在相应的FTP站点上单击右键,选“属性”,再转到“消息”窗口,在“欢迎”处输入登录成功之后的欢迎信息,在“退出”处输入用户退出时的欢送信息即可。
Q:为什么我的FTP 服务器建立成功之后,除了 管理员Administrator)和匿名用户( Anonymous)之外,普通用户都不能在本机上登录;可在其他计算机上却能够正常使用。这是为什么?
A:因为默认的,普通用户不具有在本机登录的权限。如果要修改,请进入“开始→程序→管理工具→本地安全策略”中选择“左边 框架→本地策略→ 用户权利指派”,再在右边框架中双击“在本地登录”项,然后将所需的普通用户添加到它的列表中去就行了

SMTP服务器

建立IIS下的SMTP 服务器的,只需在IIS管理器中让“默认SMTP虚拟服务器”处于已启动状态就行了;此外一般不用再做其他任何设置。
如果想要用自己的SMTP 服务器发信,只需将你 E-mail客户端 软件设置中“发送邮件服务器(SMTP)”项中填入“localhost”,则不管你的IP地址如何变化,它都能正常工作, 。
IIS版本对应的windows版本信息
2000 iis版本是5.0
xp 版本是5.1
2003版本是6.0
2008版本是7.0

编辑本段状态解释

当用户试图通过 HTTP 或 文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的 服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。该 状态代码记录在 IIS 日志中,同时也可能在 Web 浏览器或 FTP 客户端显示。 状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因
HTTP
1xx - 信息提示
这些 状态代码表示临时的响应。 客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 · 100 - 继续。
· 101 - 切换协议。
2xx - 成功
这类 状态代码表明 服务器成功地接受了客户端请求。 · 200 - 确定。客户端请求已成功。
· 201 - 已创建。
· 202 - 已接受。
· 203 - 非权威性信息。
· 204 - 无内容。
· 205 - 重置内容。
· 206 - 部分内容。
3xx - 重定向
客户端 浏览器必须采取更多操作来实现请求。例如, 浏览器可能不得不请求 服务器上的不同的页面,或通过 代理服务器重复该请求。 · 302 - 对象已移动。
· 304 - 未修改。
· 307 - 临时重定向。
4xx - 客户端错误
发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的 身份验证信息。 · 400 - 错误的请求。
· 401 - 访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的 错误代码浏览器中显示,但不在 IIS 日志中显示: · 401.1 - 登录失败。
· 401.2 - 服务器配置导致登录失败。
· 401.3 - 由于 ACL 对资源的限制而未获得授权。
· 401.4 - 筛选器授权失败。
· 401.5 - ISAPI/CGI 应用程序授权失败。
· 401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。
· 403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: · 403.1 - 执行访问被禁止。
· 403.2 - 读访问被禁止。
· 403.3 - 写访问被禁止。
· 403.4 - 要求 SSL。
· 403.5 - 要求 SSL 128。
· 403.6 - IP 地址被拒绝。
· 403.7 - 要求客户端证书。
· 403.8 - 站点访问被拒绝。
· 403.9 - 用户数过多。
· 403.10 - 配置无效。
· 403.11 - 密码更改。
· 403.12 - 拒绝访问映射表。
· 403.13 - 客户端证书被吊销。
· 403.14 - 拒绝 目录列表。
· 403.15 - 超出客户端访问许可。
· 403.16 - 客户端证书不受信任或无效。
· 403.17 - 客户端证书已过期或尚未生效。
· 403.18 - 在当前的 应用程序池中不能执行所请求的 URL。这个 错误代码为 IIS 6.0 所专用。
· 403.19 - 不能为这个 应用程序池中的客户端执行 CGI。这个 错误代码为 IIS 6.0 所专用。
· 403.20 - Passport 登录失败。这个错误代码为 IIS 6.0 所专用。
· 404 - 未找到。 · 404.0 -(无) – 没有找到文件或 目录
· 404.1 - 无法在所请求的 端口上访问 Web 站点。
· 404.2 - Web 服务扩展锁定策略阻止本请求。
· 404.3 - MIME 映射策略阻止本请求。
· 405 - 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)
· 406 - 客户端 浏览器不接受所请求页面的 MIME 类型。
· 407 - 要求进行代理 身份验证
· 412 - 前提条件失败。
· 413 – 请求实体太大。
· 414 - 请求 URI 太长。
· 415 – 不支持的媒体类型。
· 416 – 所请求的范围无法满足。
· 417 – 执行失败。
· 423 – 锁定的错误。
5xx - 服务器错误
服务器由于遇到错误而不能完成该请求。 · 500 - 内部 服务器错误。 · 500.12 - 应用程序正忙于在 Web 服务器上重新启动。
· 500.13 - Web 服务器太忙。
· 500.15 - 不允许直接请求 Global.asa
· 500.16 – UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。
· 500.18 – URL 授权存储不能打开。这个错误代码为 IIS 6.0 所专用。
· 500.100 - 内部 ASP 错误。
· 501 - 页眉值指定了未实现的配置。
· 502 - Web 服务器用作 网关或代理服务器时收到了无效响应。 · 502.1 - CGI 应用程序超时。
· 502.2 - CGI 应用程序出错。application.
· 503 - 服务不可用。这个错误代码为 IIS 6.0 所专用。
· 504 - 网关超时。
· 505 - HTTP 版本不受支持。
常见的 HTTP 状态代码及其原因
· 200 - 成功。 此 状态代码表示 IIS 已成功处理请求。
· 304 - 未修改。 客户端请求的文档已在其 缓存中,文档自缓存以来尚未被修改过。 客户端使用文档的 缓存副本,而不从 服务器下载文档。
· 401.1 - 登录失败。 登录尝试不成功,可能因为用户名或密码无效。
· 401.3 - 由于 ACL 对资源的限制而未获得授权。 这表示存在 NTFS 权限问题。即使您对试图访问的文件具备相应的权限,也可能发生此错误。例如,如果 IUSR 帐户无权访问 C:\Winnt\System32\Inetsrv 目录,您会看到这个错误。
· 403.1 - 执行访问被禁止。 下面是导致此 错误信息的两个常见原因: · 您没有足够的执行许可。例如,如果试图访问的 ASP 页所在的 目录权限设为“无”,或者,试图执行的 CGI 脚本所在的 目录权限为“只允许脚本”,将出现此 错误信息。若要修改执行权限,请在 Microsoft 管理控制台 (MMC) 中右击 目录,然后依次单击属性和目录选项卡,确保为试图访问的内容设置适当的执行权限。
· 您没有将试图执行的文件类型的脚本映射设置为识别所使用的谓词(例如,GET 或 POST)。若要验证这一点,请在 MMC 中右击 目录,依次单击属性、目录选项卡和配置,然后验证相应文件类型的脚本映射是否设置为允许所使用的谓词。
· 403.2 - 读访问被禁止。验证是否已将 IIS 设置为允许对 目录进行读访问。另外,如果您正在使用默认文件,请验证该文件是否存在。
· 403.3 - 写访问被禁止。 验证 IIS 权限和 NTFS 权限是否已设置以便向该 目录授予写访问权。
· 403.4 - 要求 SSL。禁用要求安全通道选项,或使用 HTTPS 代替 HTTP 来访问该页面。
· 403.5 - 要求 SSL 128。禁用要求 128 位加密选项,或使用支持 128 位加密的 浏览器以查看该页面。
· 403.6 - IP 地址被拒绝。您已把您的 服务器配置为拒绝访问您目前的 IP 地址。
· 403.7 - 要求客户端证书。您已把您的 服务器配置为要求客户端 身份验证证书,但您未安装有效的客户端证书。
· 403.8 - 站点访问被拒绝。您已为您用来访问 服务器的域设置了域名限制。
· 403.9 - 用户数过多。与该服务器连接的 用户数量超过了您设置的连接限制。
注意:Microsoft Windows 2000 PRofessional 和 Microsoft Windows XP PRofessional 自动设置了在 IIS 上最多 10 个连接的限制。您无法更改此限制。
· 403.12 - 拒绝访问映射表。 您要访问的页面要求提供客户端证书,但映射到您的客户端证书的用户 ID 已被拒绝访问该文件。
· 404 - 未找到。 发生此错误的原因是您试图访问的文件已被移走或删除。如果在安装 URLScan 工具之后,试图访问带有有限扩展名的文件,也会发生此错误。这种情况下,该请求的日志文件项中将出现“Rejected by URLScan”的字样。
· 500 - 内部服务器错误。 很多 服务器端的错误都可能导致该 错误信息事件查看器日志包含更详细的错误原因。此外,您可以禁用友好 HTTP 错误信息以便收到详细的错误说明。
· 500.12 - 应用程序正在重新启动。 这表示您在 IIS 重新启动应用程序的过程中试图加载 ASP 页。刷新页面后,此信息即会消失。如果刷新页面后,此信息再次出现,可能是 防病毒 软件正在扫描 Global.asa 文件。
· 500-100.ASP - ASP 错误。 如果试图加载的 ASP 页中含有 错误代码,将出现此错误信息。若要获得更确切的 错误信息,请禁用友好 HTTP 错误信息。默认情况下,只会在默认 Web 站点上启用此 错误信息
· 502 - 网关错误。 如果试图运行的 CGI 脚本不返回有效的 HTTP 标头集,将出现此错误信息。

编辑本段产品分析

通过IIS 5.1和IIS 6.0对比来分析。
已对 IIS 6.0 进行了重新设计以便利用基本 Windows 内核 HTTP.sys。这使其具有内置的响应和请求缓存和队列功能,并能够将应用程序进程请求直接 路由到工作进程,从而改善可靠性和性能。 IIS 6.0 引入了两种用于配置应用程序环境的操作模式:工作进程 隔离模式和 IIS 5.0 隔离模式。在安装 IIS 6.0 时默认的隔离模式取决于您执行的是全新安装还是升级。 在全新安装 IIS 6.0 之后,IIS 以工作进程隔离模式运行。
在从较低版本的 IIS 6.0 升级之后,隔离模式与以前安装的 IIS 6.0 版本所配置的相同。
在从 IIS 5.0 或 IIS 4.0 升级之后,在默认情况下,IIS 6.0 以 IIS 5.0 隔离模式运行,这样可保持与现有应用程序的兼容性。
有关从一种隔离 模式切换到另一种隔离模式的信息,请参阅配置隔离模式。
IIS 5.0
IIS 5.1
IIS 6.0
平台
Windows 2000
Windows XP Professional
Windows Server 2003 家族
体系结构
32 位
32 位和 64 位
32 位和 64 位
应用程序进程模型
TCP/IP 内核
DLLhost.exe(处于中等或高应用程序隔离模式下的多个 DLL 主机)
TCP/IP 内核
DLLhost.exe(处于中等或高应用程序隔离模式下的多个 DLL 主机)
HTTP.sys 内核
当 IIS 以 IIS 5.0 隔离模式运行时:Inetinfo.exe(对于进程内应用程序)或 DLLhost.exe(对于进程外应用程序) 当 IIS 以工作进程隔离模式运行时:W3wp.exe(多工作进程)
配置数据库配置
二进制
二进制
XML
安全性
Windows 身份验证
SSL Kerberos
Windows 身份验证
SSL Kerberos 安全向导
Windows 身份验证
SSL Kerberos 安全向导 Passport 支持
远程管理
HTMLA
无 HTMLA
终端服务
远程管理工具 (HTML)
终端服务
群集支持
IIS 群集
Windows 支持
Windows 支持
WWW 服务
Windows 9x 上的个人 Web 管理器
Windows 2000 上的 IIS
(可选)Windows XP Professional 上的 IIS
Windows
IIS 5.0 隔离模式按照与 IIS 5.0 中的 进程管理相似的方式管理应用程序进程:所有的进程内应用程序都在 Inetinfo.exe 内运行,进程外应用程序在单独的 DLL 宿主中运行。一些现有应用程序可能无法 并发运行或将会话状态与应用程序分开存储。因此,在 IIS 5.0 隔离模式中运行进程可以确保与大多数现有应用程序的兼容性。
IIS 6.0 的配置数据库以 XML 文件形式存储,而不是以早期版本中的二进制格式存储。位置仍在原处,但是操作方式(更新、 回滚、还原和扩展)已发生了变化。有两个重要文件,并非一个:MetaBase.xml 和 MBSchema.xml。 有关 IIS 配置数据库的详细信息,请参阅关于配置数据库。 管理
在 IIS 4.0 中,应用程序既可以在与 Internet 服务相同的进程中运行,也可以在单独的进程中运行。在 IIS 5.0 和 5.1 中,应用程序现在可以分为若干汇集的进程以增强性能并提高可伸缩性。 详细信息,请参阅关于应用程序。在 IIS 6.0 工作进程隔离模式中,可将应用程序组合到任意数量的 应用程序池中。
“应用程序映射”属性页包含一个 超文本 传输协议 (HTTP) 动作列表,它们可由映射到特定文件类型的应用程序进行处理。该动作列表与 IIS 4.0 有一处不同。在 IIS 4.0 中,列表中包含“已排除”或未被处理的动作。这个改变是为了适应新的 HTTP 动作,以便将其添加到协议中。 有关应用程序映射的详细信息,请参阅设置应用程序映射。
群集不是 IIS 6.0 的功能(不支持 IISsynche.exe)。群集是 Windows Server 2003 家族的功能。有关 Windows 群集 (MSCS) 的信息,请参阅 Windows Server 2003 家族的帮助。
与 IIS 4.0 相比,IIS 5.0 中自定义错误文件的位置已经改变。
在早期版本的 IIS 中,可以从编译的 C++ 应用程序使用管理基本对象 (ABO) 或者从 C++ 或 脚本文件使用 Active Directory 服务界面 (ADSI) 以编程方式管理 IIS。IIS 6.0 包括了 Windows 管理规范 (WMI) 提供程序,WMI 这一技术允许 管理员以编程方式控制所有服务和应用程序。详细信息,请参阅使用 IIS WMI 提供程序。有关新的 ADSI 方法的信息,请参阅 IIS 6.0 中的配置数据库更改。 Active Server Pages
从 IIS 6.0 开始,Microsoft Active Server Pages (ASP) 可以与 Microsoft ASP.N E T 一起使用。有关配置 IIS 以运行 ASP.N E T 应用程序的信息,请参阅 ASP.N E T。有关 IIS 6.0 中 ASP 功能更改的信息,请参阅 ASP 中的重要更改。 ASP 挂起检测
当 IIS 网站繁忙时,可能会出现这种情况:已经产生了最大数量的 ASP 线程,而一些 ASP 线程却挂起,这会导致性能降低。IIS 6.0 能够通过回收作为 ASP ISAPI 扩展 (ASP.dll) 的特定实例宿主的工作进程来解决线程挂起问题。当 ASP 线程在 IIS 6.0 中挂起时,ASP.dll 调用 ISAPI 服务器支持函数 HSE_REQ_REPORT_UNHEALTHY,WWW 服务回收作为 ASP.dll 宿主的工作进程,并在事件日志中创建一个项目。 有关 ISAPI 服务器支持函数的详细信息,请参阅 MSDN® Online 上 ISAPI 扩展参考中的 ServerSupportFunction。 安全性
IIS 6.0 中的一个最重要的变动涉及 Web 服务器安全性。为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将 IIS 安装在 Microsoft Windows Server 2003 家族的成员上。 要点 为了更好地预防恶意用户和攻击者的攻击,没有将 IIS 默认安装到 Microsoft® Windows® Server 2003 家族的成员上。而且,当您最初安装 IIS 时,该服务在高度安全和“锁定”的模式下安装。在默认情况下,IIS 只为 静态内容提供服务 - 即,ASP、ASP.N E T、 服务器端包含、WebDAV 发布和 FrontPage® Server Extensions 等功能只有在启用时才工作。如果安装 IIS 之后未启用该功能,则 IIS 返回一个 404 错误。您可以为动态内容提供服务,并通过 IIS 管理器中的 Web 服务扩展节点启用这些功能。同样,如果应用程序扩展未在 IIS 中进行映射,则 IIS 返回一个 404 错误。要映射扩展,请参阅设置应用程序映射。有关如何排解 404 错误(包括 404.2 和 404.3)、与 IIS 6.0 的新安装相关的问题或从低版本的 IIS 进行升级的详细信息,请参阅疑难解答。 通过 Web 服务器证书向导和 CTL 向导,您可以同步 Web 和 NTFS 的安全设置、获得并安装服务器证书以及创建和修改证书信任列表。还可以选择一个 加密服务提供程序 (CSP) 以使用证书加密数据。 IIS 6.0 中的其他安全性变动包括下列内容: 在升级版本上禁用:除非满足下列条件之一,否则在 Windows Server 2003 家族的升级版本上禁用万维网发布服务(WWW 服务):开始升级过程之前,您已在 Windows 2000 Server 上运行了 IIS 锁定向导。IIS 锁定向导通过禁用不必要的功能来减少攻击面,并且它允许您确定为站点启用哪些功能。IIS Lockdown Tool 中提供了 IIS 锁定向导。 [1]
为了限制分配给 ASP 页的内存量,IIS 已经将 AspScriptFileCacheSize 的默认值设置为 250 个 ASP 页,并将 AspScriptEngineCacheMax 的默认值设置为 125 个 脚本引擎。在具有一组大量经常请求的 ASP 页的站点上,可以将 ASPScriptFileCacheSize 设置得更高一些。因为 ASP 页的编译比从 缓存中检索页要慢很多,所以这会改善性能。在只具有少量经常请求的 ASP 页的站点上,可通过将该数字设置得小一些来节省内存。 IIS 工具组件Windows NT Server 的协作 数据对象 (CDONTS):CDONTS 已从 Windows Server 2003 家族中删除。如果 Web 应用程序使用 CDONTS,则可以将它们转换为 Microsoft 协作 数据对象 (CDO)。CDONTS 中的大多数方法在 CDO 中都有相匹配的方法,但是名称可能不同。有关平台 软件开发工具包 (PSDK) 中 CDO 的参考资料,请参阅 MSDN Online 上的 Overview of CDO。
未安装 IIS 工具组件:Ad Rotator、Browser Capabilities、Content Linker、Content Rotator、Counters、Logging Utility、My Info、Page Counter、Status 和工具不随 IIS 6.0 一起安装。但是,如果您的 Web 服务器是从低版本的 IIS 升级的,则这些工具组件不会被删除。您可以从 IIS 6.0 资源工具包中获取工具组件 DLL 文件的副本。64 位 Windows Server 2003 家族上的 IIS在 64 位 Windows Server 2003 家族的 操作系统上,IIS 作为 64 位应用程序运行。这意味着不能从 64 位 Windows Server 2003 家族的操作系统上的 IIS 调用 32 位应用程序。例如,Jet 数据库引擎将不能转换为 64 位应用程序,因此,不能使用 ActiveX® 数据对象 (ADO) 从 ASP 页打开 Microsoft Access 数据库。但是,仍可以使用 ADO 访问其他驱动程序,如 SQL 和 Exchange。



2. CGI程序


CGI代表Common Gateway Interface(通用网关界面),它使在网络服务器下运行外部分应用程序(或网关)成为可能。CGI-BIN 目录是存放CGI脚本的地方。这些脚本使WWW服务器和浏览器能运行外部程序,而无需启动另一个原因程序。 

它是运行在Web服务器上的一个程序,并由来自于浏览者的输人触发。CGI是在HTTP服务器下运行外部程序(或网关)的一个接口,它能让网络用户访问远程系统上的使用类型程序,就好像他们在实际使用那些远程计算机一样。 

CGI能够让浏览者与服务器进行交互,如果你曾经遇到过在网络上填表或者进行搜索,就很有可能就是用的CGI。 

尽管CGI易于使用,但是当大批人同时使用一个CGI应用程序是会反应较慢,网络服务器 速度也会受到很大 影响。CGI应用程序的优点是可以独立运行。 

CGI应用程序可以由大多数的编程语言编写,如Perl(Practical Extraction and Report Language)、C\C++、Java 和Visual Basic等。不过对于那些没有太多编程经验的网页制作人来说,实在是一个不小的难题。 

CGI应用程序的工作原理: 

1.浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。 

2.服务器收发到请求。 

3.服务器执行指定所CGI应用程序。 

4.CGI应用程序执行所需要的操作,通常是基于浏览者输人的内容。 

5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。 

6.网络服务器把结果返回到浏览器中。 

有关CGI应用程序要注意的是: 

CGI应用程序运行在浏览器可以请求的服务器系统上,执行时需要使用服务器CPU时间和内存。如果有成千上万的这种程序会同时运行,那会对服务器系统提出极高的要求。你要慎重考虑这个问题,以防止服务器系统崩溃。 

不完善的CGI应用程序可能成为别人非法进人服务器系统的通道,有可能导致重要的资料被删除或外泄。 

CGI应用程序主要的用途有以下几种: 

根据浏览者填写的HTML表单发送定制的答复。 

创建可单击的图像缩小图。 

创建一个浏览者可以搜索内容的数据库。 

提供服务器与数据库的接口,并把结果转换成HTML文档。 

制作动态HTML文挡。 

如果一个CGI脚本可以在每台计算机上做同样的事情;编写脚本就会变的很容易。不幸的是,CGI脚本依赖于服务器的操作系统,因此,对于非UNIX服务器来说,Prl(UNIX下编写脚本的一个常用工具)脚本毫无用处。所以,你必须定制安装你的CGI脚本。 

大多数服务器都提供CGI-BIN目录,但是这还不够。因为你应该拥有自己的CGI-BIN。这样,你就能运行自己的脚本(而不是让自己的系统去适应已存在于系统上的脚本)。因此,你的提供商应安装CGI-BIN,且能够帮助你编写脚本 




JSP

/c/2013-02-28/stockPrice.jsp


JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种 动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的 网页HTML文件(*.htm,*. html)中插入Java 程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他 操作系统上运行。

为了快速方便地进行 动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。
1.将内容的生成和显示进行分离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

2.可重用组件

绝大多数JSP页面依赖于可重用的、跨平台的 组件(JavaBeans或者Enterprise JavaBeans组件)来执行 应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的 组件,或者使得这些组件为更多的使用者和客户团体所使用。基于 组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

3.采用标识

Web页面开发人员不会都是熟悉 脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行 动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans 组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

4.适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java 字节码都是标准的与平台无关的。

5.数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。
此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

JSP与ASP的比较

JSP(Java Server Page)与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:
1. Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。
2. 平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其它平台上。
3. 组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
4. 脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。
5. 安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。
6. 与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用Data Active Objects。
7. 用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值