怎么用JSP制作动态网页,需要安装什么软件?
2018年9月计算机三级网络技术知识:WWW服务
WWW服务
1WWW的基本概念
WWW(world Wide Web)服务也称为Web服务,是TCP/IP互联网上一个完全分布式的信息系统。
(1)WWW服务系统
WWW服务采用客户机/服务器模式,以超文本标记语言(HTML)与超文本传输协议(HTTP)为基础,为用户提供界面一致的信息浏览系统。
在WWW服务系统中,信息以页面的形式存储在服务器中,页面采用超文本的方式组织信息,通过链接对信息进行链接,相互链接的页面可以在同一主机上,也可以在不同的主机上,页面之间的链接信息由统一资源定位符(URL)维持,用户通过客户端应用程序(浏览器)向WWW服务器发出请求,服务器根据客户请求将内容保存在服务器的某个页面返回给客户端。
(2)WWW服务器
WWW服务器上保存着大量的Web页面,而且在TCP的80端口侦听来自WWW浏览器的连接请求。
(3)WWW浏览器
WWW的客户机程序称为WWW浏览器,用来浏览服务器中的Web页面的软件。
WWW浏览器负责接收用户的请求,并利用 HTTP协议将用户的请求传送给WWW服务器,在服务器请求的页面送回到浏览器后,浏览器再将页面进行解释,显示在用户的屏幕上。
浏览器的结构由一个控制单元、一系列客户机单元和解释单元构成,控制单元是浏览器的中心,它协调和管理客户单元和解释单元。客户单元接收用户的键盘输入或鼠标输入,并调用其他单元完成用户的指令。
(4)页面地址和URL
统一资源定位符(URL)。一般由3部分组成:协议类型、主机名和路径及文件名。
2Www系统的传输协议
超文本传输协议(HTTP)是WWW客户机与 WWW服务器之间的传输协议是一种面向对象的协议。
3WWW系统的页面表示方式
页面是一种结构化文档,采用超文本标记语言(HTML)书写而成。
HTML是一个简单的标记语言,用来描述 Web文档的结构。
4WWW的安全性
(1)浏览器的安全特性
①保护自己的计算机:浏览器通常将Internet世界划分成几个区域(Internet域、本地Intranet区域、可信站点区域、受限站点区域),并将要访问的Web站点按其可信度分配到不同的区域。
②验证站点的真实性:在浏览站点前要求 Web站点将其从CA安全认证中心申请的数字证书发送过来,通过CA证书,确认Web站点的真实性。
③避免他人假冒自己的身份在Internet中活动:用户从CA安全认证中心申请自己的证书,并装入浏览器,利用此证书在Internet上表明自己的身份。
④交互敏感信息时避免第三方偷看或篡改:使用安全通道访问Web站点,以避免第三方偷看或篡改。安全通道使用安全套接层(Secure Sockets Layer,SSL)技术。
(2)Web服务器的安全性
①Web站点的访问控制级别。
Web站点的访问控制通常可以按不同的级别进行。对于Web站点用IIS来建设,并且Web站点的内容位于NTFS分区时,则有4种方法限制用户访问Web站点中的资源:IP地址限制、用户验证、Web权限、NTFS限制。
②Web站点与浏览器的安全通信。借助安全套接层(SSL)完成。
企业在选择www服务器硬件时要考虑的因素如下:
影响www服务器性能的因素有多个方面,下面我将一一列举并详细解释:
1 硬件性能:服务器硬件的性能直接影响其处理和响应请求的能力。例如,处理器的速度、内存的大小、磁盘的读写速度等都会影响服务器的性能。
2 系统资源使用率:服务器的CPU、内存、磁盘I/O、网络带宽等资源的使用率都会影响服务器的性能。如果资源使用率过高,服务器可能无法及时处理新的请求,导致性能下降。
3 软件配置:服务器的软件配置,如操作系统的选择、Web服务器和应用程序服务器的配置等,也会影响性能。例如,使用不适合的Web服务器(如Nginx)和应用程序服务器(如PHP-FPM)组合可能会导致性能问题。
4 数据库性能:如果服务器运行数据库应用,数据库的性能也会影响服务器的性能。例如,数据库的大小、查询的复杂性、连接的数量等都会影响数据库的性能。
5 负载均衡和缓存:使用负载均衡技术(如轮询、最少连接数等)和适当的缓存策略可以有效地分担服务器的负载,提高性能。
6 安全性和漏洞:服务器的安全性和漏洞管理也会影响性能。例如,恶意流量、拒绝服务攻击(DDoS)等都会占用服务器资源,从而影响服务器的性能。
正是由于WWW的普及才使得Internet能够飞速发展,Internet的飞速发展又使得诸如网上拍卖、网上商场、网上炒股、信息管理、数据库操作等基于WWW的应用层出不穷。与此同时,诸如Web页面被非法篡改、信用卡号被盗、Web服务器上机密信息泄漏、客户端被恶意页面攻击等WWW安全问题也越来越受到人们的关注。在某种程度上,安全问题已经限制了某些WWW应用。本文分析了Web应用面临的各种安全威胁,根据容易遭受的的各种攻击方法,给出了相应的安全对策。本文重点讨论的是Web应用所特有的安全威胁,诸如病毒防治、操作系统漏洞攻击、底层网络协议漏洞攻击,都不在本文讨论范围之内。 1 WWW应用面临的安全威胁 11 客户端与服务器之间传输的数据被非法截获窃取 通常WWW服务器与浏览器之间的通信是以明文传输的,数据流经过的任何节点如WWW代理服务器、ISP都可以看到传输的内容。没有理由相信他们是可靠的,因而对于如口令、密钥及其他敏感信息在网络中传输时一定要利用密码技术以密文形式传输以防泄密。目前,大多数WWW服务器与浏览器都支持RC2、RC4、DES、3DES等密码算法。
12 服务器端的安全问题 WWW服务器端的安全问题向来是管理员与软件提供商头痛的问题,这些问题一方面是由于服务器端操作系统的安全漏洞造成的,而另一方面是由于WWW服务软件本身存在问题,系统管理员所能做的就是积极关注所使用软件的相关漏洞报告,先于黑客了解到有关安全漏洞并采取补救措施,这样就能够有效地防止黑客利用软件漏洞进行攻击。服务器端的错误配置是WWW服务器端遭受安全攻击的又一原因。有时并不是因为管理员的业务水平低,造成错误配置。错误配置的原因是因为WWW服务器软件的维护配置文档太复杂太庞大,甚至凌乱,有时即使是WWW服务软件提供商也不能提供一种合理的安全配置。 WWW服务器端安全威胁的另一来源就是服务器端的CGI(公共网关接口)程序的漏洞。CGI给WWW页面带来了活力的同时,也成为WWW服务器的一个潜在危险。几乎所有的CGI漏洞均来自于用户的交互,别有用心的客户端可以精心设计自己的数据录入方式、数据内容,然后调用服务器端的CGI程序进行恶意攻击。 13 客户端安全问题 (1)客户端随意从WWW站点下载应用程序在本地运行 在WWW站点上有许多免费应用程序可供下载,免费应用程序是WWW站点吸引客户浏览的一个重要手段。通过从WWW站点下载免费的各种应用程序,客户端既可以节省资金也可以提高工作效率,这正是WWW站点提供免费应用程序的初衷。然而,在这种高效与经济诱惑的背后却可能隐藏着灾难与杀机。一般来说,WWW站点提供的免费应用程序特别是一些小的工具程序都没有程序发布者的真实信息,很难保障程序中没有病毒,诸如木马或其它破坏客户端系统的恶意代码。 如果客户端主机下载并执行了含有恶意代码的应用程序,其后果不堪设想。不下载使用来源不明的应用程序是保证WWW客户端安全的基本要求,然而有些应用程序是需要通过从WWW站点下载执行的,如一些应用程序的升级、补丁,以及浏览器的外部阅读器、插件等。如何保证这类程序没有被非法替换或篡改,让下载者能够确认程序来源的真实性,确认程序内容的完整性,是代码签名技术主要解决的问题。 代码签名技术的主要思想是让软件的发布者在认证机构注册,由认证机构为其签发公钥证书。当软件发布者开发好新的应用程序准备在WWW站点上供他人下载时,它使用自己的私钥对应用程序进行数字签名。然后将自己的公钥证书、自己对程序的数字签名,与应用程序一同公布在WWW站点,供使用者下载。下载者下载之后,通过使用公钥证书中的公钥验证数字签名的有效性,如果验证通过则可以确信软件发布者的真实身份。 目前,代码签名技术并未在Internet中得到广泛应用,但是随着Internet安全问题特别是WWW客户端安全问题的日益突出,代码签名技术最终将会得到业界的认可。 有人提出,让下载的身份不明的应用程序的执行权限限定在特定范围,限制可疑程序的运行权限。这种想法仍旧处于探讨阶段,目前没有哪一个操作系统能够满足这一需求。 (2)JavaScript与Java Applet的威胁 JavaScript是现在流行的脚本语言,其代码驻留在HTML文件中。Netscape Navigator 和Microsoft Explore 都支持JavaScript。JavaScript代码常常用于操纵浏览器,利用JavaScript可以生成一个新的窗口,填写表单中的数据,跳转到另一个URL地址,本地处理图像,改变HTML的内容等。如通过在HTML文件中嵌入JavaScript,可以控制浏览器的可视原件是否显示,也可以控制浏览器状态栏中显示的信息。从理论上讲,JavaScript是安全的,因为JavaScript没有访问客户端文件系统的方法,同时也没有到其他计算机网络系统的连接方法。但是利用JavaScript对客户端攻击的成功攻击案例已经很多。最简单的攻击就是使用JavaScript来耗尽客户端资源使客户端瘫痪不得不重新启动,这种攻击没有什么意义只是恶作剧而已。但是有些恶意页面利用JavaScript可以收集客户端信息,伪造虚假页面让客户端上当。 在HTML文件中嵌入Java Applet可以使WWW服务器发挥更强大的功能,Java Applet 运行在浏览器中的Java虚拟机(JVM)中。JVM采用“沙盒技术”限制Java Applet的诸如系统调用等危险行为。这大大提高了WWW客户端的安全性,然而这并不意味着Java Applet 并不存在安全威胁。这主要表现为JVM在实现上的安全漏洞给别有用心的人提供了可乘之机。FDe Paoli等人通过在HTML文件中嵌入Java Applet已经成功地实现了诸如收集客户端用户个人信息,截获用户输入表单中的数据等对WWW客户端的攻击。DMartin等人发现利用Java Applet可以绕过防火墙的某些限制进行连接。 有关JavaScript和Java Applet 对WWW的客户端进行攻击的例子越来越多,然而有效防止这种攻击的方法却很少。现今客户端所能做的就是当对所浏览的站点表示怀疑时,通过设置浏览器禁用JavaScript与Java Applet来防止可能的威胁。 2 加强WWW安全的相关措施 加强WWW安全的相关措施主要有: (1)提高系统管理员安全意识与反黑水平,尽量防止由于错误配置而给黑客留下可乘之机。当前有许多黑客论坛。黑客之间交流经验、切磋技艺真可谓红红火火,可见黑客的情绪是多么的高涨。但关于如何防御的论坛却不怎么红火,可见多数管理员并不是积极主动地提高自己的反黑水平。系统管理员必须系统地理解自己所管理的WWW平台的各项技术特征与安全问题。 (2)WWW软件提供商要给出建议性的安全配置示范。 (3)软件提供商对出现的安全漏洞要尽快提供解决办法或给出补丁程序。 (4)WWW服务器端所使用CGI程序要经过严格检查,借鉴已有的CGI安全问题,保证CGI程序的健壮性。 (5)用于重要业务的浏览器端绝对不要下载、运行来源不明的应用程序,以防治系统被植入木马或者病毒。 (6)利用现有安全产品,提高安全系数。目前的安全工具有防火墙产品、反病毒产品、入侵检测产品、漏洞检测产品、木马检测产品等等。 3 结束语 目前关于WWW安全的研究主要集中在反病毒、防火墙、入侵检测、系统漏洞检测、木马检测等领域,而且根据研究成果已经有了比较成熟的产品。而对于CGI程序安全、脚本语言安全、Java Applet安全、插件安全的研究仍处于危害性的分析实验阶段,如果能够寻找出有害代码的特征建立特征库,根据特征库来检查代码的安全性将会使CGI、脚本语言、Java Applet及插件的应用具有安全保证。 现有的密码技术、认证技术、接入控制技术,从理论上讲完全可以保证通信安全。然而WWW安全问题日益严重,这主要是由于WWW安全涉及到服务器端安全、浏览器端安全及通信安全、主机安全及底层通信协议的安全。协调各个模块之间的关系,加强各个模块自身的安全性应作为今后WWW安全研究的出发点。
一、什么是WWW服务
现在在Internet上最热门的服务之一就是环球信息网WWW(World Wide Web)服务,Web已经成为很多人在网上查找、浏览信息的主要手段。WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能。它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司等的最新信息和各种服务。
商业界很快看到了其价值,许多公司建立了主页,利用Web在网上发布消息,并反它作为各种服务的界面,如客户服务、特定产品和服务的详细说明、宣传广千以及是渐增长的产品销售和服务。商业用途促进了环球信息网络的迅速发展。
如果你想通过主页向世界介绍自己或自己的公司,就必须将主页放在一个WEB服务器上,当然你可以使用一些免费的主页空间来发布。但是如果你有条件,你可以注册一个域名,申请一个IP地址,然后让你的ISP将这个IP地址解析到你的LINUX主机上。然后,在LINUX主机上架设一个WEB服务器。你就可以将主页存放在这个自己的WEB服务器上,通过它把自己的主页向外发布。
WWW是基于客户机/服务器方式的信息发现技术和超文本技术的综合。WWW服务器通过HTML超文本标记语言把信息组织成为图文并茂的超文本;WWW浏览器则为用户提供基于HTTP超文本传输协议的用户界面。用户使用WWW浏览器通过Internet访问远端WWW服务器上的HTML超文本,如下图所示:
http协议
WWW浏览器 <-----> WWW服务器
在WWW的客户机/服务器工作环境中,WWW浏览器起着控制作用,WWW浏览器的任务是使用一个URL(Internet地址)来获取一个WWW服务器上的WEB文档,解释这个HTML,并将文档内容以用户环境所许可的效果最大限度地显示出来。整个流程如下:
WWW浏览器根据用户输入的URL连到相应的远端WWW服务器上;
取得指定的WEB文档;
断开与远端WWW服务器的连接。
也就是说,平时我们在浏览某个网站的时候是每取一个网页建立一次连接,
读完后马上断开;当需要另一个网页时重新周而复始。
二、WWW服务器软件的比较和选择
目前,在世界各地有许多公司和学术团体,根据不同的计算机系统,开发出不同的WWW服务器,如Apache、CERN httpd、Microsoft Internet Information System、NCSA httpd、Plexus httpd、WebSite等。在UNIX/LINUX系统中常用的有:CERN、NCSA、Apache三种
CERN httpd
这是最早期的WWW服务器软件,用C语言编写,现在功能有限,用户在
缩减中。有兴趣的话可以在:ftp://ftpw3org/pub/WWW/bin中找到它。
NCSA httpd
这是在WWW服务器发展初期,美国国家超级计算机应用中心(NCSA)
在1995年创建的当时一流的WWW服务器。它也是用C语言编写的,程序小、速度快。但是现在NCSA WWW服务器的主要开发人员已经离开了NCSA,这个服务器项目已经停顿了。相信大家不会选择一个没有发展的WWW服务器软件吧!
当然,由于它的特殊历史地位,相信使用它的人现在还不少。如果你需要可以在ftp://ftpncsauiucedu获取它。
Apache
根据著名的WWW服务器调查公司所作的调查,世界上百分之五十以上的
WWW服务器都在使用Apache,是世界排名第一的WEB服务器。
Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
Apache的主要特征是:
可以运行上所有计算机平台;
支持最新的HTTP 11协议;
简单而强有力的基于文件的配置;
支持通用网关接口CGI;
支持虚拟主机;
支持HTTP认证;
集成Perl脚本编程语言;
集成的代理服务器;
具有可定制的服务器日志;
支持服务器端包含命令(SSI)
支持安全Socket层(SSL)
用户会话过程的跟踪能力;
支持FastCGI;
支持Java Servlets。
我们还有什么理由放弃这个功能强大而且前途光明的WWW服务器软件呢?
三、安装Apache
下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。
31 系统需求
运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。
32 获取软件
你可以在http://wwwapacheorg中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。
需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。
33 安装软件
你可以通过以下三种方法安装Apache服务器。
1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。
2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。
下载软件包apache_124etargz
tar xvzf apache_124etargz
这就完成了安装工作,简单吧!
如果你使用的是RedHat Linux的话,你也可以下载apache_124rpm软件安
装包,然后使用rpm –ivh apache_124rpm命令安装。
3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache
定制其功能。
下载包含Apache源代码的软件包apache_124targz;
然后用tar命令将它解开;
将当前目录改变为Apache源代码发行版的src目录;
将配置样本文件(Configurationtmpl)复制为Configuration文件;
编辑Configuration文件中的配置选项:
Makefile配置选项:一些编译选项:
“CC=”一行指定用什么编译软件编译,一般为“CC=gcc”;
如果需要将额外的标志(参数)指定给C编译软件,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
如果系统需要特殊的库和包含文件,可以在这里指定它们:
EXTRA_LIBS=
EXTRA_INCLUDES=
如果你要改变代码优化设置的话,你须将下面一句去掉注释,然
后改成你所需要的值:
#OPTIM=-O2
Rule配置选项:用来决定需要什么功能,一般情况下无需改变。
模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:
AddModule modules/standard/mod_envo
如果你需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。
下表列出了Apache的模块功能:
模块名 功能 缺省
mod_access 提供基于主机的访问控制命令 y
mod_actions 能够运行基于MIME类型的CGI脚本或HTTP请求方法 y
mod_alias 能执行URL重定向服务 y
mod_asis 使文档能在没有HTTP头标的情况下被发送到客户端 y
mod_auth 支持使用存储在文本文件中的用户名、口令实现认证 y
mod_auth_dbm 支持使用DBM文件存储基本HTTP认证 n
mod_auth_mysql 支持使用MySQL数据库实现基本HTTP认证 n
mod_auth_anon 允许以匿名方式访问需要认证的区域 y
mod_auth_external支持使用第三方认证 n
mod_autoindex 当缺少索引文件时,自动生成动态目录列表 y
mod_cern_meta 提供对元信息的支持 n
mod_cgi 支持CGI y
mod_dir 能够重定向任何对不包括尾部斜杠字符命令的请求 y
mod_env 使你能够将环境变量传递给CGI或SSI脚本 n
mod_expires 让你确定Apache在服务器响应请求时如何处理Expires y
mod_headers 能够操作HTTP应答头标 y
mod_imap 提供图形映射支持 n
mod_include 使支持SSI n
mod_info 对服务器配置提供了全面的描述 y
mod_log_agent 允许在单独的日志文件中存储用户代理的信息 n
mod_log_config 支持记录日志 y
mod_log_referer 提供了将请求中的Referer头标写入日志的功能 n
mod_mime 用来向客户端提供有关文档的元信息 y
mod_negotiation 提供了对内容协商的支持 y
mod_setenvif 使你能够创建定制环境变量 y
mod_speling 使你能够处理含有拼写错误或大小写错误的URL请求 n
mod_status 允许管理员通过WEB管理Apache y
mod_unique_id 为每个请求提供在非常特殊的条件下保证是唯一的标识 n
表一:Apache模块功能一览表
在src目录下执行:“ /configure”;
编译Apache:执行命令“make”;
根据机器性能的不同,经历一段5-30分钟的编译,就大功告成了。
将编译好的可执行文件httpd复制到/etc/httpd/bin目录下;
将Apache发行版的配置文件:accessconf、httpdconf、mimetypes、srmconf文件复制到/etc/httpd/conf目录下。到此为止,安装完成。
34 一些说明
在Red Hat Linux 60中,Apache将自己的所有配置文件和日志文件放在了“/etc/httpd”目录下,其中“/etc/httpd/conf”下为配置文件,“/etc/httpd/log”下为日志文件。
同时,它将建立“/home/httpd”目录,并在其下建立三个子目录:“html/”:在这个目录下存放HTML(主页)文件;“cgi-bin/”:在这个目录下可以存放一些CGI程序;“icons/”:在这个目录下是服务器自带的一些图标。
2.设置 电脑重启后,FTP服务器就开始运行了,但还要进行一些设置。点击“开始→所有程序→管理工具→Internet信息服务”,进入“Internet信息服务”窗口后,找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。 1)FTP站点基本信息 进入“FTP站点”选项卡,其中的“描述”选项为该FTP站点的名称,用来称呼你的服务器,可以随意填,比如“我的小站”;“IP地址”为服务器的IP,系统默认为“ 全部未分配 ”,一般不须改动,但如果在下拉列表框中有两个或两个以上的IP地址时,最好指定为公网IP;“TCP端口”一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。 2)设置账户及其权限 很多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。 3)安全设定 进入“安全账户”选项卡,有“允许匿名连接”和“仅允许匿名连接”两项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。“仅允许匿名连接”是用来防止用户使用有管理权限的账户进行访问,选中后,即使是Administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。IIS与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定FTP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项添加或删除。但对于Windows2000和WindowsXP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。 提示:匿名登录一般不要求用户输入用户名和密码即可登录成功,若需要,可用“anonymous”作为用户名,以任意电子邮件地址为密码来登录。
0条评论