Web 服务器(一)

server/2024/11/14 4:36:19/

一、Web 服务器介绍

1WEB服务简介

  • 目前最主流的三个Web服务器ApacheNginx IIS
  • Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等
  • Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下 载。
  • WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 Web 服务器是可以向发出请求的浏览器提供文档的程序:
  • 服务器是一种被动程序只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应。
  • 最常用的Web服务器ApacheNginxMicrosoftInternet信息服务器Internet Information ServicesIIS)。
  • Internet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向 Internet上的客户机提供WWWEmailFTP等各种Internet服务。
  • Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流, 这就是人们常把它们称为HTTP服务器的原因。
  • Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程 序。

2WEB 服务协议

  • WEB 服务应用层使用HTTP协议。
  • HTML(标准通用标记语言下的一个应用)文档格式。
  • 浏览器统一资源定位器(URL)。
  • 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为 了数据传输的安全,HTTPSHTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份, 并为浏览器和服务器之间的通信加密。WWW 采用的是浏览器/服务器结构,其作用是整理和储存 各种WWW资源,并响应客户端软件的请求,把客户所需的资源传送到 WindowsUNⅨ 或 Linux 等平台上.

3web 服务器与应用服务器的区别

  • Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程 序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求 (request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 business logic)。
  • Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会 返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request), Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态 响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本, JSP(JavaServer Pages)脚本,servletsASP(Active Server Pages)脚本,服务器端(serverside)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目 的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览 器可以浏览。
  • Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务 器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序。Web 服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应 response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理 transaction processing),数据库连接(database connectivity)和消息(messaging)等功 能。
  • 虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略 strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程 服务器专有的特征。

4WEB 服务器的工作原理

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

二、Apache Nginx 的介绍

1Apache 介绍

  • Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台 上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
  • Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。 Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断 有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
  • 目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著 名的网站如AmazonYahoo!W3 ConsortiumFinancial Times等都是Apache的产物,它的成 功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所 有的UnixWindowsLinux系统平台上)以及它的可移植性等方面。
  • Apache 的特性:
几乎可以运行在所有的计算机平台上.
支持最新的http/1.1协议、
简单而且强有力的基于文件的配置(httpd.conf).
支持通用网关接口(cgi)
支持虚拟主机.
支持http认证.
集成perl.
集成的代理服务器
可以通过web浏览器监视服务器的状态, 可以自定义日志.
支持服务器端包含命令(ssi).
支持安全socket层(ssl).
具有用户会话过程的跟踪能力.
支持fastcgi
支持java servlets

2nginx 介绍

  • nginx是俄罗斯人编写的十分轻量级的HTTP服务器,它的发音为“engine X”, 是一个高性能的HTTP 和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器Nginx是由俄罗斯人 IgorSysoev为俄罗斯访问量第二的 Rambler.ru站点开发.
  • Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平 衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpdmod_proxy也有一些问题并且很久没有更新。但是Nginx并不支持cgi方式运行,原因是可以减少 因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。
  • nginx做为HTTP服务器,有以下几项基本特性:
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.
无缓存的反向代理加速,简单的负载均衡和容错.
FastCGI,简单的负载均衡和容错.
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。它支持内核Poll模
型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数
Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连
接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当
前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶
段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动
的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就
稳定性而言,nginx比lighthttpd更胜一筹。
Nginx支持热部署。它的启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月
也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。

3Apache Nginx 对比

  • Nginx 相对于Apache
高并发响应性能非常好。(单台万级并发连接30000-50000/s(简单静态页))
反向代理性能非常好。(可用于负载均衡)
内存 和 cpu 占用率低。(为Apache的1/5-1/10)
功能较 Apache 少(常用功能均有)
对 php 可使用 cgi 方式和 fastcgi 方式,没有模块编译加载方式

4Apache Nginx总结

  • Apache 拥有丰富的模块组件支持,稳定性强,BUG少,动态内容处理强。
  • Nginx 轻量级,占用资源少,负载均衡,高并发处理强,静态内容处理高效。
中间件介绍
tomcat
weblogic
jboss
php
uwsgi

http://www.ppmy.cn/server/19958.html

相关文章

Maven基础篇3

Maven进阶 –分模块开发与设计 –聚合 –继承 –属性 –私服 1.分模块开发与设计 开发的时候是分包开发 一个人完成一个包即可; 甚至一个包需要多个人开发;需要对包进行拆分; 也就是将我们一个包的东西,拆分成一个工程&a…

G2024-04-24 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-24统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5TypeScript项目3PowerShell项目1C++项目1非开发语言项目1LLaMA模型的C/C++移植 创建周期:306 天开发语言:C, C++协议类型:MIT Li…

基于SpringBoot的“家具销售电商平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“家具销售电商平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 管理员登录界面 管理员功能界面 家具分类管理…

SpringVue,四种常用的请求,如何编写

四种请求各是什么意思 post 约等于插入操作 insert get 就是查询 put 是修改 delete 。。。 DemoController.java package com.example.demo.controller;import org.springframework.web.bind.annotation.*;CrossOrigin RequestMapping("/test") // 将公共路径添加…

K8s: 从集群外部访问Service

从集群外部访问 Service 1 )概述 在前面我们一直实践的是在集群内部访问 Service,之前有2种方法 方法1:在一个node节点上,通过对创建的的时候,对port进行一个环境变量的注册来保证Service能够正确对 不同的pod 访问到…

(ChatGPT中文、吾爱Al、核桃、WeexAl地址发布页、ai创作、Chat中文)分享好用的ChatGPT

目录 1、ChatGPT 中文 - Chat GPT 2、吾爱AI 3、 核桃 4、WeexAI 地址发布页 5、ai创作

SHELL脚本编程----netstat练习3-输出每个IP的连接数

描述 假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下: Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:6160 0.0.0.0:* LISTEN tcp 0 0…

2024年深圳杯东三省数学建模联赛A题论文首发第二种思路

深圳杯A题论文代码分享资料链接:链接:https://pan.baidu.com/s/1L2NVgoefSW-yuqZjEB3wcw 提取码:sxjm 问题一 数据转换: 首先,我们将监测站的经纬度坐标转换为基于米的笛卡尔坐标系。这是因为在地面上的大尺度距离…