WEB服务器是什么

小白 2020-06-22 16:21:18
QA

Web服务器一般指网站服务器可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。

Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等 Web 客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个 Web 服务器是 ApacheNginxIIS

WEB服务器是什么

词义辨析

什么是网络服务器?

网络服务器是网络环境下为客户提供某种服务的专用计算机。

服务器特点

Windows,Linux 与 Unix 这 3 个操作系统是架设 Web 服务器比较常见的操作系统。Linux 的安全性能在这 3 个操作系统中最高,可以支持多个硬件平台,其网络功能比较强大。总的来说,这两大优点是其他操作系统不可替代的:第一,可以依据用户不同的需求来随意修改、调整与复制各种程序的源码以及发布在互联网上;第二,Linux 操作系统的市场价格比较便宜,也能够在互联网上免费下载源码。可以说,Linux 为架设既高效又安全的 Web 服务器的比较理想的操作系统。此外,要让 Web 服务器更具有优越的性能,可以根据服务器系统之特点与用途作进一步的优化与处理,尽量减少 Web 服务器的数据传输量以及降低其数据传输的频率,进而促进网络宽带的利用率与使用率,以及提高网络客户端的网页加载的速度,同时也可以减少 Web 服务器各种资源的消耗。

工作原理

Web 服务器的工作原理并不复杂,一般可分成如下 4 个步骤:连接过程、请求过程、应答过程以及关闭连接。下面对这 4 个步骤作一简单的介绍。连接过程就是 Web 服务器和其浏览器之间所建立起来的一种连接。查看连接过程是否实现,用户可以找到和打开 socket 这个虚拟文件,这个文件的建立意味着连接过程这一步骤已经成功建立。请求过程就是 Web 的浏览器运用 socket 这个文件向其服务器而提出各种请求。应答过程就是运用 HTTP 协议把在请求过程中所提出来的请求传输到 Web 的服务器,进而实施任务处理,然后运用 HTTP 协议把任务处理的结果传输到 Web 的浏览器,同时在 Web 的浏览器上面展示上述所请求之界面。关闭连接就是当上一个步骤--应答过程完成以后,Web 服务器和其浏览器之间断开连接之过程。Web 服务器上述 4 个步骤环环相扣、紧密相联,逻辑性比较强,可以支持多个进程、多个线程以及多个进程与多个线程相混合的技术。

大型

在 UNⅨ和 LINUX 平台下使用最广泛的免费 HTTP 服务器是 Apache 和 Nginx 服务器,而 Windows 平台 NT/2000/2003 使用ⅡS 的 WEB 服务器。在选择使用 WEB 服务器应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等,下面介绍几种常用的 WEB 服务器。

IIS

Microsoft 的 Web 服务器产品为 Internet Information Services (IIS),IIS 是允许在公共 Intranet 或 Internet 上发布信息的 Web 服务器。ⅡS 是目前最流行的 Web 服务器产品之一,很多著名的网站都是建立在ⅡS 的平台上。IIS 提供了一个图形界面的管理工具,称为 Internet 服务管理器,可用于监视配置和控制 Internet 服务。

IIS 是一种 Web 服务组件,其中包括 Web 服务器、FTP 服务器、NNTP 服务器和 SMTP 服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供 ISAPI(Intranet Server API)作为扩展 Web 服务器功能的编程接口;同时,它还提供一个 Internet 数据库连接器,可以实现对数据库的查询和更新。

2003Web

Web 服务器组件是 Windows Server2003 系统中ⅡS6.0 的服务组件之一,默认情况下并没有被安装,用户需要手动安装 Web 服务组件。

第 1 步,打开“控制面板”窗口,双击“添加/删除程序”图标,打开“添加或删除程序”窗口。单击“添加/删除 Windows 组件”按钮,打开“Windows 组件安装向导”对话框。

第 2 步,在“Windows 组件”对话框中双击“应用程序服务器”选项,打开“应用程序服务器”对话框。在“应用程序服务器的子组件”列表中双击“Internet 信息服务(ⅡS)”复选框。

第 3 步,打开“Internet 信息服务(ⅡS)”对话框,在“Internet 信息服务(ⅡS) 的子组件”列表中选中“万维网服务”复选框。依次单击“确定”→“确定”按钮。

第 4 步,系统开始安装ⅡS 6.0 和 Web 服务组件。在安装过程中需要提供 Windows Server 2003 系统安装光盘或指定安装文件路径。安装完成后单击“完成”按钮即可。

小型

【nginx】

* 支持通用语言接口,如 php、python、perl 等

* 支持正向和反向代理、虚拟主机、url 重写、压缩传输等

* nginx 的模块都是静态编译的,对 fcgi 的支持非常好,在处理链接的的方式上 nginx 支持 epoll。

【 micro_httpd - really small HTTP server】

特点:

* 支持安全的 .. 上级目录过滤

* 支持通用的 MIME 类型

* 支持简单的目录

* 支持目录列表

* 支持使用 index.html 作为首页

* Trailing-slash redirection

*程序总共代码才 200 多行

这个 httpd 适合学习简单的 Web Server 编写学习,因为它只有一个简单的框架,只能够处理简单的静态页,可以考虑用来放静态页。

【 mini_httpd - small HTTP server 】

特点:

* 支持 GET、HEAD、POST 方法

* 支持 CGI 功能

* 支持基本的验证功能

* 支持安全 .. 上级目录功能

* 支持通用的 MIME 类型

* 支持目录列表功能

* 支持使用 index.html,index.htm,index.cgi 作为首页

* 支持多个根目录的虚拟主机

* 支持标准日志记录

* 支持自定义错误页

* Trailing-slash redirection

mini_httpd 也是相对比较适合学习使用,大体实现了一个 Web Server 的功能,支持静态页和 CGI,能够用来放置一些个人简单的东西,不适宜投入生产使用。

【 thttpd - tiny/turbo/throttling HTTP server 】

thttpd 中是一个简单,小型,轻便,快速和安全的 http 服务器.

简单:它能够支持 HTTP/1.1 协议标准,或者超过了最低水平

小巧:它具有非常少的运行时间,因为它不 fork 子进程来接受新请求,并且非常谨慎的分配内存。

便携:它能够在大部分的类 Unix 系统上运行,包括 FreeBSD,SunOS 4,Solaris 2,BSD/OS,Linux,OSF 等等

快速:它的速度要超过主流的 Web 服务器(Apache,NCSA,Netscape),在高负载情况下,它要快的多

安全:它努力的保护主机不受到攻击,不中断服务器

thttpd 类似于 lighttpd,对于并发请求不使用 fork()来派生子进程处理,而是采用多路复用(Multiplex)技术来实现。因此效能很好。同时它还有一个特点就是基于 URL 的文件流量限制,这对于下载的流量控制而言是非常方便的。象 Apache 就必须使用插件实现,效率较 thttpd 低。

配置

如何设置默认文档;在同一台服务器上架设多个 Web 站点;(可以通过改变端口号)创建 Web 虚拟目录;

(1)了解 DNS 主机名和 IP 地址。 如果此 WEB 服务器在 Internet 上,需向 ISP 申请和注册此服务器的 DNS 主机名和 IP 地址。如果此服务器只在企业网内使用,则在内部的 DNS 服务器上注册。

(2)打开服务器文档,选择"端口"-"Internet 端口",启用"TCP/ IP 端口"。

(3)选择"Internet 协议",完成以下选项后,保存文档。

"绑定主机名":

A、选择"是"则您可在"主机名"项中输入主机别名,WEB 用户可用此别名替代 Domino 服务器名访问 WEB 服务器。

B、选择"否"(缺省)则不允许使用别名。

"DNS 查询": 选择"是"则 Domino 服务器查询发送请求的 WEB 客户机的 DNS 名。

Domino 日志文件和数据库将包含 WEB 客户机的 DNS 主机名。 选择"否"(缺省)则不查询,Domino 日志文件和

数据库将只包含 WEB 客户机的 IP 地址。

注意:选择"否"将提高 Domino 服务器性能,因为服务器不使用资源执行 DNS 查询。

"允许 HTTP 客户浏览数据库":选择"是"则允许 WEB 用户在 URL 中使用 OpenServer 命令来显示服务器上数据库列表。选择"否"(缺省)则不允许。但即使 WEB 用户不能看到服务器上数据库列表,他们仍能打开有权限访问的单个数据库。

(4)启动 HTTP 任务。在服务器控制台上,输入:loap http

安全

设置策略

盗用账号、缓冲区溢出以及执行任意命令是 Web 服务器比较常见的安全漏洞。黑客攻击、蠕虫病毒以及木马是因特网比较常见的安全漏洞。口令攻击、拒绝服务攻击以及 IP 欺骗是黑客攻击比较常见的类型。随着网络技术的不断发展,Web 服务器面临着许多安全威胁,直接影响到 Web 服务器的安全。因此,加强 Web 服务器的安全防护是一项迫切需要的解决的时代课题。笔者结合多年的工作实践,认为可从以下 3 个方面入手来加强 Web 服务器的安全防护。  第一,加强 Web 服务器的安全设置。  以 Linux 为操作平台的 Web 服务器的安全设置策略,能够有效降低服务器的安全隐患,以确保 Web 服务器的安全性,主要包括:登录有户名与密码的安全设置、系统口令的安全设置、BIOS 的安全设置、使用 SSL 通信协议、命令存储的修改设置、隐藏系统信息、启用日志记录功能以及设置 Web 服务器有关目录的权限等。  第二,加强互联网的安全防范。  Web 服务器需要对外提供服务,它既有域名又有公网的网址,显然存在一些安全隐患。所以,可给予 Web 服务器分配私有的地址,并且运用防火墙来做 NAT 可将其进行隐藏;同时因为一些攻击来源于内网的攻击,比如把内网计算机和 Web 服务器存放在相同的局域网之内,则在一定程度上会增加很多安全隐患,所以必须把它划分为不同的虚拟局域网,运用防火墙的地址转换来提供相互间的访问,这样就大大提高了 Web 服务器的安全性和可靠性;把 Web 服务器连接至防火墙的 DMZ 端口,将不适宜对外公布的重要信息的服务器放于内部网络,进而在提供对外的服务的同时,可以最大限度地保护好内部网络。  第三,网络管理员要不断加强网络日常安全的维护与管理。  要对管理员用户名与密码定期修改;要对 Web 服务器系统的新增用户情况进行定时核对,并且需要认真仔细了解网络用户的各种功能;要及时给予更新 Web 服务器系统的杀毒软件以及病毒库,必要时可针对比较特殊的病毒给予安装专门杀毒的程序,同时要定期查杀 Web 服务器的系统病毒,定期查看 CPU 的正常工作使用状态、后台工作进程以及应用程序,假若发现异常情况需要及时给予妥当处理;因为很多木马与病毒均是运用系统漏洞来进行攻击的,所以需要不断自动更新 Web 服务器系统,以及定期扫描 Web 服务器系统的漏洞。

Web 服务器已经成为了病毒、木马的重灾区。不但企业的门户网站被篡改、资料被窃取,而且还成为了病毒与木马的传播者。有些 Web 管理员采取了一些措施,虽然可以保证门户网站的主页不被篡改,但是却很难避免自己的网站被当作肉鸡,来传播病毒、恶意插件、木马等等。这很大一部分原因是管理员在 Web 安全防护上太被动。他们只是被动的防御。为了彻底提高 Web 服务器的安全,Web 安全要主动出击。

宕机诊断方法

步骤 1:发生了什么事

系统管理员必须肩负起分析和判断 Web 服务器宕机原因的责任。需要解决如下的问题:

是否是断电,发电机测试以及其他类似问题影响了整体物理环境?

和 Web 服务器的通信是否已经完全被阻断,还是某些 IP 段依旧可以使用?

是否还可以管理服务器?

日志中是否有异常记录?

这些只是少部分管理员们需要立即回答的问题,在深入诊断问题之前,先解决上述问题。

步骤 2:最简单的解决方案往往是最好的

有很多时候会陷入诊断高级问题的误区,分析各种可能的技术问题和疑难杂症。而实际上,退一步想,从宏观角度思考问题,可能解决已花费无数工时和成本却还未攻克的技术难题。例如,主机通电了吗,或者是否有人无意间碰掉了电源线?如果机器确实已经通电,但没有任何网络连接,需要检查网线或者光纤是否没有接上或者松动。是的,这些看似明显低级错误的解决方法,认为都不可能发生,但任何有经验的系统管理员会告诉你,这些状况的发生频率远比想的要多的多。

步骤 3:基本故障处理方法没有效果怎么办

现在已经检查了所有电缆和其他外围设备,可以试着使用 ping 命令探测设备状况。幸运的是,ping 命令是所有平台通用的,也是最简单的。如果可以在局域网内 ping 通服务器,接着可以试试从局域网外 ping 服务器进行检测。这样做可以迅速判断问题是否产生在交换和路由层面,而不是服务器级别。此外,如果 Web 服务器已经虚拟化,试着 ping 物理服务器自己的真实 IP。这样可以帮助进一步隔离问题。如果完全无法 ping 同服务器,而且也已经确定完全检查了网络连接,那么就需要进行更深入的分析了。

步骤 4:使尽浑身解数,服务器依然宕机

已经检查过网线。也试过了 ping 服务器,依旧无法访问服务器。好消息是,已经可以将问题定位到物理服务器或操作系统本身了。换句话说,已经可以开始集中经理对现存的问题进行排查。

接下来,才去从底层到高层的方式来逐层检查问题,首先检查网络接口和本地网络配置是否正常。DHCP 是否启动?Web 服务器是否指向正确的 DNS 服务器?如果是这样,可以根据使用的操作系统平台,检查 Web 服务是否正常开启。在 Windows 环境,需要检查服务器是否具有 Web 服务的角色。在 Linux 环境下,检查会更复杂,可以试试查找 http 相关的文件或服务来确保服务器是否正在运行。

选购指南

在这个电商已经普及的时代,一个企业,不管大小总是都需要有一个网站,在网络上宣传自己的品牌。这跟 90 年代你开了公司一定要有一个办公室是一个道理了。而且更多的企业选择电子商务。作为网站建设的基础,服务器租用也成为必须要考虑的事情。

服务器租用选择的成功与否,可以说在一定程度上直接影响着网站建设的成功与否。这不论是对大企业,还是中小企业建网站都是一样的。

但实际,很多中小企业在建设网站,并选择服务器作为其信息化基础工具时,则出现一些不正确的做法:如为了节省资金,便随便租用或购买一台服务器。结果由于服务器性能低下导致信息系统经常出问题。最终不但没有帮助企业传播信息,提升品牌,反而因系统不稳定,给企业带来负面影响。

因此,拥有一款稳定、良好的服务器无疑是企业最基本的选择。那么,企业又该如何选择优秀的服务器呢。我这里想说下几点。

第一、资质是最基本的,一定要有齐全的 IDC 服务商资质。如果没有,不管是多好的服务器,都不要购买。连企业真假都不能确定的事情,你如何保证他的产品呢?

第二、对于中小企业不建议租用一线城市机房的服务器,原因很简单。像北京上海这种一线机房,都是寸土寸金,服务器好不好先不说,但是光机房的成本就比二线、三线城市的要高得多。这费用当然要算到企业的头上。而且二线、三线城市的机房其实是一样的,但是它的成本要低得多。同样的产品,为什么不选价格低的呢?

第三、一定要考虑清楚你需要什么服务器?比如说品牌、配置,或者说是需要服务器租用、服务器托管还是服务器合租等等。这些都需要根据自身企业的需求来确定。如果自己不清楚,可以选择咨询 IDC 服务商,不放心的话可以在网上问相关的专业人士。

发展趋势

Web 服务器的发展有三个主要趋势:

从 HTML 到 XML

标准通用标记语言的子集可扩展标记语言(eXtensible Markup Language)

标准通用标记语言的子集 HTML 被称为“第一代 Web 语言”,如前面的介绍,HTML 作为 Web 的开发语言,对 Web 应用的发展起到了关键性的作用。但是 HTML 有一个致命的缺点:只适合于人与计算机的交流,不适合计算机与计算机的交流。HTML 通过大量的标记来定义文档内容的表现方式,它仅仅描述了应如何在 Web 浏览器页面上布置文字、图形,并没有对 Internet 的信息含义本身进行描述,而信息又是 Web 应用中最重要的内容。通过 HTML 表现出来的文字、图形内容很容易被人理解,但却不利于计算机程序去理解。另外,HTML 的另一个问题就是它的标记集合是固定的,用户不能根据自己的需要增加标记;而且各种浏览器的规格不尽相同,要使我们用 HTML 做的网页能够被所有浏览器正常显示,我们只能够使用 W3C(万维网协会)规定的标记来创建网页。

正如前面所说,Web 服务器向 Web 浏览器提供的信息都是来自有一定结构的数据库,在数据库里,为了检索和管理的方便,信息按照它本身的意义(如姓名、年龄、工作单位等)被存放在相应的字段里,一旦这些数据被调出来,经过 CGI、ASP、JSP、PHP 等转换成 HTML 后,其原来的意义无法转移到 HTML 标记中来,用户也就无法按照信息本来的意义去阅读。并且,由于操作系统以及数据库的不同,不同的系统及应用层面之间要想互相理解对方的数据格式是相当困难的。这就需要一种新技术或标准能够将最初保存在数据库服务器中的原始数据结构在不同的系统层面共享。这种新技术就是 XML。

使用 XML 可以解决上述的难题。W3C 对 XML 作了如下描述:“XML 描述了一类被称为 XML 文档的数据对象,并部分描述了处理它们的计算机程序的行为。XML 是标准通用标记语言的一个应用实例。从结构上说,XML 文档遵从标准通用标记语言文档标准。”同 HTML 一样,XML 也是一种基于文本的标记语言,都是从标准通用标记语言发展而来,二者的不同在于:XML 可以让我们根据要表现的文档,自由地定义标记来表现具有实际意义的文档内容,例如,我们可以定义〈文档名称〉〈/文档名称〉这样具有实际意义的标记。而且 XML 不像 HTML 那样具有固定的标记集合,它实际上是一种定义语言的语言,也就是说使用 XML 的用户可以定义无穷的标记来描述文档中的任何数据元素,将文档的内容组织成丰富的完整的信息体系。总起来说,XML 具有四大特点:便于存储的数据格式、可扩展性、高度结构化以及方便的网络传输,这些特点为我们创建开放、高效、可扩展、个性化的 Web 应用提供了一个崭新的起点。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • web3 网站开发

    如何开发Web3网站

    Web3网站开发需理解区块链技术,选择合适平台,搭建开发环境,编写智能合约,进行前后端设计、开发与集成,经测试与部署后上线。持续迭代优化,确保合规与安全,是构建功能强大、安全可靠的Web3网站的关键。
  • web3 网站

    Web3网站有什么功能

    Web3网站通过去中心化数据存储、智能合约执行、数字资产管理与交易、基于区块链的身份认证与权限管理、数据隐私保护、跨链互操作性以及可编程性与可扩展性等功能,实现了安全、高效、灵活的互联网体验,为用户提供了更好的服务并预示着互联网发展新方向。
  • web3 开发

    Web3如何开发

    Web3开发基于区块链技术,涉及智能合约、前后端等多个方面,注重安全性、性能优化及兼容性。通过明确需求、设计架构、编写测试合约与界面代码,最终完成部署和运维。Web3开发充满挑战,但为构建更安全、透明、公平的互联网环境提供重要机遇。
  • Nginx Pingora

    Pingora比Nginx有哪些优势

    Pingora相较于Nginx的优势主要体现在其更高效的请求处理能力、更低的资源消耗、更简洁的配置管理,以及更强大的动态内容处理能力。Pingora还提供丰富的监控和诊断工具,使得系统运维更为便捷,从而满足现代Web应用对高性能和可靠性的需求。
  • Nginx

    Nginx转发是什么

    Nginx转发是Nginx服务器作为反向代理,将客户端请求透明地转发到后端服务器处理的过程。它在负载均衡、高可用性、SSL加密等方面发挥着重要作用,具有高性能、稳定性、灵活性和开源免费等优势,是构建现代化Web系统的核心组件之一。
  • HAProxy

    HAProxy,强大的负载均衡和代理工具

    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。 可以在多个服务器之间分配客户端请求,通过这种方式提高应用程序的高可用性、负载均衡和性能。HAProxy广泛应用于提供高可靠性和高性能的Web服务,尤其是在处理大量并发连接时表现出色。