WEB服务器的基本介绍

简介: WEB服务器的基本介绍

一、Web服务器介绍

HTTP服务器本质上也是一种应用程序——它通常运行在服务器上,绑定服务器的IP地址并监听某个TCP端口,接收并处理HTTP请求,这样客户端(如Chrome这样的浏览器)就能通过HTTP协议获取服务器上的网页(HTML格式)、文档(PDF格式)等资源。

二、Web服务器分类

1.IIS

  • IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。

    2.Tomcat

  • Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

    3.Zeus

  • Zeus是一个运行于Unix下的非常优秀的Web服务器,据说性能超过Apache,是效率最高的Web服务器之一。

    4.Nginx

  • Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。

    5.Apache

  • Apache是世界使用排名第一的Web服务器软件。Apache Web服务器是一个开源软件,可以安装在几乎所有的操作系​​统上,包括Linux,Unix,Windows,FreeBSD,Mac OS X等等。大约60%的Web服务器机器运行Apache Web服务器。

    6.Lighttpd

  • 一个免费的Web服务器。这个开源Web服务器是快速,安全的,并且消耗更少的CPU功率。Lighttpd也可以在Windows,Mac OS X,Linux和Solaris操作系统上运行。

    三、tomcat/nginx/apache区别

    1.apache和tomcat比较

    ①相同点

相同点:
两者都是Apache组织开发的;
两者都有HTTP服务的功能;
两者都是免费的。

②不同点

1、Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等),
而Tomcat是Apache组织在符合Java EE的JSP、Servlet标准下开发的一个JSP服务器;
2、Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页,如(ASP,PHP,CGI,JSP)等动态网页的就不行。
如果要在Apache环境下运行JSP的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat;
3、Apache:侧重于HTTPServer ,Tomcat:侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,
支持JSP,但对静态网页不太理想;
4、Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,
但是可以独立于Apache运行;
5、实际使用中Apache与Tomcat常常是整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求。如果客户端请求动态页面,
则是Tomcat服务器响应请求。因为JSP是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。可以理解Tomcat为Apache的一种扩展。

2.Nginx与Apache比较

1) Nginx相对于Apache的优点轻量级,同样起Web 服务,比Apache占用更少的内存及资源抗并发,Nginx 处理请求是异步非阻塞的,而Apache 则是阻塞型的,在高并发下Nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单,提供负载均衡社区活跃,各种高性能模块出品迅速。
2) Apache 相对于Nginx 的优点,Apache的 Rewrite 比Nginx 的强大;支持动态页面;支持的模块多,基本涵盖所有应用;性能稳定,而Nginx相对Bug较多。
3)两者优缺点比较:Nginx 配置简洁, Apache 复杂;Nginx 静态处理性能比 Apache 高 3倍以上;Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多;Apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级别)可以对应一个进程;Nginx处理静态文件好,耗费内存少;动态请求由Apache去做,Nginx只适合静态和反向;Nginx适合做前端服务器,负载性能很好;Nginx本身就是一个反向代理服务器 ,且支持负载均衡。

四、总结

Tomcat是动态解析容器,处理动态请求,是编译JSP\Servlet的容器,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低。可以说Tomcat 、Nginx和Apache各有千秋,每个服务器都有自己擅长处理的领域,共同承担起目前大部分程序对服务器的需求。

相关文章
|
15小时前
|
网络协议 数据格式 Python
Python进阶---HTTP协议和Web服务器
Python进阶---HTTP协议和Web服务器
15 4
|
17小时前
|
弹性计算 关系型数据库 MySQL
【阿里云弹性计算】从零搭建:基于阿里云ECS的高性能Web服务部署实践
【5月更文挑战第21天】本文介绍了如何使用阿里云ECS搭建高性能Web服务。首先,注册阿里云账号购买ECS实例,选择合适配置。接着,通过SSH连接实例,更新系统并安装Apache、PHP和MySQL。创建网站目录,上传代码,配置数据库和PHP。然后,启用Gzip压缩和KeepAlive,调整Apache并发连接数以优化性能。此教程为在阿里云上构建高效Web服务提供了基础指南。
19 5
|
4天前
|
JavaScript 前端开发 Java
web服务器是什么
web服务器是什么
18 0
|
5天前
|
应用服务中间件 网络安全 Apache
构建高性能Web服务器:Nginx vs Apache
【5月更文挑战第16天】Nginx与Apache是两种主流Web服务器,各具优势。Nginx以其轻量级、高并发处理能力和反向代理功能见长,适合大型网站和高并发场景;而Apache以功能丰富、稳定性强闻名,适合企业网站和需要多种Web服务功能的场景。在性能上,Nginx处理高并发更优,Apache则可能在高负载时遭遇瓶颈。在选择时,应根据实际需求权衡。
|
6天前
|
JSON JavaScript API
使用 Node.js 开发一个简单的 web 服务器响应 HTTP post 请求
使用 Node.js 开发一个简单的 web 服务器响应 HTTP post 请求
19 1
|
6天前
|
JSON JavaScript 中间件
使用 Node.js 开发一个简单的 web 服务器响应 HTTP get 请求
使用 Node.js 开发一个简单的 web 服务器响应 HTTP get 请求
10 2
|
6天前
|
负载均衡 Go 调度
使用Go语言构建高性能的Web服务器:协程与Channel的深度解析
在追求高性能Web服务的今天,Go语言以其强大的并发性能和简洁的语法赢得了开发者的青睐。本文将深入探讨Go语言在构建高性能Web服务器方面的应用,特别是协程(goroutine)和通道(channel)这两个核心概念。我们将通过示例代码,展示如何利用协程处理并发请求,并通过通道实现协程间的通信和同步,从而构建出高效、稳定的Web服务器。
|
6天前
【计网·湖科大·思科】实验一 熟悉仿真软件及访问WEB服务器
【计网·湖科大·思科】实验一 熟悉仿真软件及访问WEB服务器
7 0
|
6天前
|
存储 安全 数据安全/隐私保护
Web应用程序的会话管理是一种跟踪和识别特定用户与Web服务器之间交互的技术
【5月更文挑战第12天】Python Web开发中,会话管理用于跟踪用户与服务器交互,如Flask框架提供的内置功能。以下是一个简单示例:安装Flask后,设置应用密钥,通过session读写用户状态。例如,创建一个显示和设置用户名称的Web应用,用户提交的名字将保存在会话中。在生产环境中,应安全存储密钥,如使用环境变量。扩展会话管理可借助第三方库实现更多功能,但可能需更多配置。
215 2

热门文章

最新文章