Web 服务器(一)

一、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.mfbz.cn/a/569084.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#基础|对象属性Property基础使用,业务特性

哈喽,你好,我是雷工。 探究OOP中属性的奥秘 认识类的属性(Property) 01 属性的使用 作用:在面向对象(OOP)中主要用来封装数据。 要求:一般采用Pascal命名法(首字母要…

解决Linux CentOS 7安装了vim编辑器却vim编辑器不起作用、无任何反应

文章目录 前言一、解决vim不起作用(卸载重新安装)1.重新安装vim2.测试vim是否能正常使用 二、解决vim: error while loading shared libraries: /lib64/libgpm.so.2: file too short报错三、解决vim编辑器不能使用方向键和退格键问题 remove vim-common …

QT绘制。矩形A绕点B旋转。要求B点与矩形的角相连的直线,始终保持最短

矩形A绕点B旋转。要求B点与矩形的角相连的直线,始终保持最短 已知矩形4个角的坐标(H0,H1,H2,H3),B点的坐标. 思路: 判断矩形的位置,在B点的左上,左下,右上,右下 怎么判断…

ubuntu 使用conda 创建虚拟环境总是报HTTP错误,转换多个镜像源之后仍报错

最近在使用Ubuntu conda创建虚拟环境时,总是报Http错误,如下图所示: 开始,我以为是conda 镜像源的问题,但是尝试了好几个镜像源都不行,还是报各种各样的HTTP错误。后来查阅很多,总算解决了。解…

简化图卷积 笔记

1 Title Simplifying Graph Convolutional Networks(Felix Wu、Tianyi Zhang、Amauri Holanda de、 Souza Jr、Christopher Fifty、Tao Yu、Kilian Q. Weinberger)【ICML 2019】 2 Conclusion This paper proposes a simplified graph convolutional m…

栈和队列-介绍与实现(超级!!!详解-C语言)

目录 栈 栈的介绍 栈的概念 栈的结构 栈的实现 初始化栈 StackInit 销毁栈 StackDestroy 入栈 StackPush 出栈 StackPop 获取栈顶元素 StackTop 检查栈是否为空 StackEmpty 获取栈中有效元素个数 StackSize 队列 队列的介绍 队列的概念 队列的结构 队列的应用 队列的实现 …

上位机图像处理和嵌入式模块部署(树莓派4b用skynet实现进程通信)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,在工业系统上面一般都是使用多进程来代替多线程。这后面,主要的原因还是基于安全的考虑。毕竟一个系统里面&a…

吴恩达机器学习笔记:第 8 周-13 聚类(Clustering)13.3-13.5

目录 第 8 周 13、 聚类(Clustering)13.3 优化目标13.4 随机初始化 第 8 周 13、 聚类(Clustering) 13.3 优化目标 K-均值最小化问题,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和,因此 K-均值的代价函数(又称畸变函数 Dis…

如何从架构层面降低公有云多可用区同时故障的概率

阿里云和腾讯云都曾出现过因一个组件故障而导致所有可用区同时瘫痪的情况。本文将探讨如何从架构设计的角度减小故障域,在故障发生时最小化业务损失,并以 Sealos 的稳定性实践为例,分享经验教训。 抛弃主从,拥抱点对点架构 从腾…

如何安全高效地进行网点文件下发?

随着IT技术的飞速发展,以银行为代表的企业数字化技术转型带来了大量的电子化文档传输需求。文件传输数量呈几何级数增长,传统集中式文件传输模式在爆炸式的增长需求下,银行网点文件下发的效率、可靠性、安全性等方面,都需要重点关…

Spring Boot:Web应用开发之增删改查的实现

Spring Boot 前言实现增删改查功能 前言 增删改查功能作为 Web 应用中的基础且重要的组成部分,是基本的数据库操作,也是实现业务逻辑和功能的关键要素。下面简单介绍使用 Spring Boot 实现增删改查的功能。 实现增删改查功能 在上一章 Spring Boot&am…

jvm(JVM快速入门、stack栈、堆、GC垃圾回收、Arthas)

文章目录 1. JVM快速入门1.1. 结构图1.2. 类加载器ClassLoader1.3. 执行引擎Execution Engine1.4. 本地接口Native Interface1.5. Native Method Stack1.6. PC寄存器(程序计数器)1.7. Method Area方法区 2. stack栈3. 堆3.1. 堆体系概述3.1.1. 新生区3.1.2. 老年代3.1.3. 永久代…

分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测

分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测 目录 分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类…

小程序AI智能名片商城系统直连:打造用户与企业无缝对接的新时代!

在高度不确定性的商业环境中,企业如何快速响应市场变化,实现与用户的零距离接触?答案就是——小程序AI智能名片商城系统直连!这一创新工具不仅为企业打开了与用户直接连接的大门,更为企业提供了持续收集用户反馈、快速…

AI图书推荐:如何用ChatGPT和Python进行数据可视化

《如何用ChatGPT和Python进行数据可视化》的原版英文图书标题:Python 3 Data Visualization Using ChatGPT - GPT-4 ,作者是 Oswald Campesato ,2023年出版 本书旨在向读者展示Python 3编程的概念和数据可视化的艺术。它还探讨了使用ChatGPT/…

vuetify3.0+tailwindcss+vite最新框架

1、根据vuetify官网下载项目 安装vuetify项目 2、根据tailwindcss官网添加依赖 添加tailwindcss依赖 3、 配置main.ts // main.ts import "./style.css"4、使用 <template><h1 class"text-3xl font-bold underline">Hello world!</…

SpringBoot学习之Kafka下载安装和启动【Windows版本】(三十四)

一、配置Java环境变量 打开CMD输入java -version检查java环境变量是否配置正确,如果配置正确在CMD窗口输入java -version应该输出如下: ​ 怎么配置Java环境变量这里我就不赘叙了,网上教程很多,请读者自行搜索操作。 二、下载Kafka 1、Kafka官网地址:Apache Kafka,…

C++进阶--异常

C语言传统的处理方式 终止程序&#xff1a;在发生错误时直接终止程序的运行&#xff0c;可以通过assert宏来进行实现。如assert(condition)&#xff0c;其中condition不满足要求时&#xff0c;将会使程序立刻停止执行&#xff0c;并输出相关错误信息。这种方式的确定是用户很难…

Golang基础3-函数、nil相关

函数 需要声明原型支持不定参数 func sum(numbers ...int)int支持返回多值支持递归支持命名返回参数 // 命名返回参数 func add(a, b int) (sum int) {sum a breturn // 这里不需要显式地写出返回值&#xff0c;因为已经在函数签名中声明了命名返回参数 } 支持匿名函数、闭包…

Jackson 2.x 系列【30】Spring Boot 集成之数据脱敏

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 本系列Spring Boot 版本 3.2.4 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 概述2. 实现思路3. 案例演示3.1 脱敏规则3.2 自…
最新文章