web服务器、应用服务器和常见的服务器概念_部署的后端服务是应用服务器吗-程序员宅基地

技术标签: nginx  web  http  web服务器  

http协议解析–绪篇

在做开发的过程中,总是能感觉到自己对http相关的各种概念模糊不清。

什么是web服务器,什么是应用服务器?

浏览器的编译原理是什么?

http的头文件为何要这样配置?

Nginx,Apache等为何要这样操作?

不同的服务器软件有什么作用?

而网上关于http的实战讲解一般都是以操作为主,涉及到原理的部分大多模糊不清,自己又很少花时间去系统的学习http协议相关的内容,大多数时候都是照着配一配就行了,所以明明写了挺多代码了,对于http还是知之甚少。所以,决定写一个专题,留作笔记也以此来督促自己深入的看看http,后续有什么地方说错了,也欢迎大家指出。
在这里插入图片描述


热点问题

在之前的学习中,曾经困扰我许久的问题便是:web服务器,http服务器,服务器软件,网站后台,应用服务器这些都有什么区别,与Apache,Nginx究竟是什么关系,Tomcat又是什么?

在绪篇中首先便先讲一下这些容易混淆的概念性问题。

web服务器

一般我们把发出http请求的一方称作请求分,比如浏览器就是http的请求方,那么应答方就是我们常说的web服务器(web Server)。

应该说web服务器在某些时候是一种很广泛的概念,比如在web代表一项应用软件是,web服务器有时候会被理解为软化的后台,也正是因为这样,很多人会混淆这个概念。

在硬件层面上,web服务器可以简单的理解为另一台性能更好的主机。不过在现实生活中,不仅仅只是一台主机,而是利用反向代理、负载均衡等等技术组成的一大群机房。

在软件层面上指的是提供web服务的应用程序。我的理解就是响应http请求,返回超文本文件等数据,或者把请求转发给后面的Tomcat、node.js等应用服务器。因此,web服务器是静态服务器。

常见的web服务器有Apache,Nginx,Tomcat等,其实Tomcat更多的做为应用服务器使用,一般不会直接用Tomcat做web服务器。

在这里插入图片描述

在这里插入图片描述
当然目前Nginx等也经常用来做反向代理服务器和负载均衡等

http服务器

http服务器就是指使用http协议传输资源提供服务,由于应用层通讯协议主要就是http协议,所以在普遍情况下,web服务器==http服务器

网站后台

可以提供数据接口等服务的应用层软件。常说的就是应用的后端,进行数据和逻辑处理。

应用服务器

应用程序服务器通过各种协议把商业逻辑暴露给客户端应用程序。能实现动态网页技术,也称之为应用容器,web容器等

应用服务器不等于网站后台,但是在应用服务器上可以部署网站后台。通常,Web服务器会有插件来支持脚本语言,比如PHP、ASP等,也可以生成动态的HTTP内容。那为什么要使用应用服务器呢?

应用服务器可以更好的相应超大用户量的访问,并杜绝sql注入等安全问题,提供动态功能的支持。

常见的应用服务器有,Tomcat、Jetty、Undertow等。应用服务器也包含http服务

在这里插入图片描述

但是一般不会做为http服务器也就是web服务器使用,经常是搭配使用

浏览器>>>>>>web服务器>>>>>应用服务器>>>>>>数据库

在这里插入图片描述

总结

  1. 服务器分静态服务器和动态服务器,web服务器是静态服务器,应用服务器是动态服务器
  2. 应用服务器也可以处理静态需求,但是由于没有web服务器那么专业,所以一般搭配使用,常见如(Nginx+Tomcat)
  3. Apache,Nginx等是静态服务器,是web服务器,也是web服务器软件
  4. tomcat是动态服务器,也可以称之为web容器、应用容器等
  5. 网站后台不是web服务器,但是当web做为一种应用来表达的时候,web服务器可能在口头上会被理解为后台。

下一篇将正式开始进入http协议的学习

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42217106/article/details/105583185

智能推荐

cd如何省略空格 linux_如何用Linux 终端指令打开带有空格或特殊符号的目录-程序员宅基地

文章浏览阅读395次。在Linux下使用终端指定打开文件夹,提示目录名称中包含语法错误,此时可以有两个选择:1、按照Linux推荐的文件命名规范,对文件夹名进行修改;2、使用转义符 \;3、成对使用双引号 "";Linux文件命名规范简介Linux系统区分英文字符的大小写。命名目录和命名文件的规则是相同的。除非有特别的原因否则用户创建的文件和目录名要使用小写字符。大多数的Linux命令也使用小写字符。Linux系统下..._linux指令cd进到指定目录,目录有特殊字符

Calendar_import calendar-程序员宅基地

文章浏览阅读161次。Calendar代码:public class Demo01Calendar {public static void main(String[] args) { Calendar c=Calendar.getInstance();//多态。//获取日历信息 System.out.println(c); System.out.println(c.get(Calendar..._import calendar

【漫谈】人工智能那些事儿:还很弱小,但怀期待-程序员宅基地

文章浏览阅读186次。关注:决策智能与机器学习,一篇文章Get一个知识点回顾自从1956年达特茅斯人工智能夏季研讨会首次提出“人工智能”的概念以来,两起两落,到现在第三次浪潮,人工智能已经可以算是完成特定任...

tensorflow/stream_executor/cuda/cuda_dnn.cc:378] Loaded runtime CuDNN library: 7301--2019.5.12-程序员宅基地

文章浏览阅读7.9k次,点赞2次,收藏5次。安装的cudnn的版本是7.1.0.3,而要求的cudnn版本是7.3.0.0。将tensorflow版本从1.5换成1.8,顺利运行程序(升级tensorflow版本来解决)ll 命令查看 连接 /usr/local/cuda/lib64下 把对应的 libcudnn.so.7,3,1连到 libcudnn.so.7 在连到libcudnn.sosudo ln -sf li..._tensorflow/stream_executor/cuda/cuda_dnn.cc:378] loaded runtime cudnn librar

SQL——limit和offset的用法_sql limit-程序员宅基地

文章浏览阅读2k次。【代码】SQL——limit和offset的用法。_sql limit

你并不在意的 HTTPS 证书吊销机制,或许会给你造成灾难性安全问题!-程序员宅基地

文章浏览阅读1.5k次。缘起偶刷《长安十二时辰》,午睡时,梦到我穿越到了唐朝,在长安城中的靖安司,做了一天的靖安司司丞。当徐宾遇害消失的时候我不在司内,当时的情形我不得而知。后来徐宾醒了,据他描述说“通传陆三”..._enable_ocsp_must_staple

随便推点

使用NFS自动挂载文件系统_nfs设置账号密码挂载-程序员宅基地

文章浏览阅读186次。使用NFS自动挂载文件系统便利性大大增强,首先连接网线,传输数据,此外保证服务器和单板能够ping的通。单板上电(开发板已经烧录有u-boot和内核),任意键中止boot进程,q退出菜单,输入print,更改“bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200”这一句。使用 set bootarg..._nfs设置账号密码挂载

使用JAVA获取KAFKA中指定TOPIC的OFFSET-程序员宅基地

文章浏览阅读1.4k次。2019独角兽企业重金招聘Python工程师标准>>> ..._java 通过kafka jmx mbeanserverconnection 获取offset

数论 - 容斥原理-程序员宅基地

文章浏览阅读291次,点赞2次,收藏2次。在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理

goto的应用举例及详解_goto使用-程序员宅基地

文章浏览阅读4.1k次,点赞16次,收藏12次。从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过 程。从上我们可以看出,goto语句真正适合的引用场景其实就是:当我们写了很多for循环时,我们需要写很多个break来跳出来for循环时,我们可以直接用goto语句来跳出for循环。综上,我们需要了解goto语句就行,但是goto语句的应用场景不是很多,提及的时候我们还是要会运用。下面我们来简单的写一个有趣的关机小程序。_goto使用

Win10系统下怎么将普通账户设置为管理员账户_更改账户类型为管理员灰色-程序员宅基地

文章浏览阅读9.8k次,点赞2次,收藏14次。在win10系统中,很多用户会新建用户来使用,但是会发现新建的用户只是普通用户,导致在安装软件的时候没有管理员账户权限无法安装,那么要怎么将普通账户设置为管理员账户呢?、然后选择其它人员,然后点击要要设置的账户,点击更改账户类型按钮;新帐户就是管理员权限了,注销之后登录即可。、设置为管理员,然后确定。以原来的管理员账户登录;、登录之后点击开始菜音,..._更改账户类型为管理员灰色

数据异常解决方法汇总_数据异常矫正的方法-程序员宅基地

文章浏览阅读1w次。文章目录Step1:积极与需求方沟通Step2:将问题进行树枝细化,直至最小单元Step 3. 基于最小单元,梳理相关因素,进行猜想验证Step 4. 测算每个因素对结果的“贡献度”碰到实在分析不出原因的数据异常怎么办?本文转载自公众号:数据分析师成长记录Step1:积极与需求方沟通数据异常很大一部分原因是自身对问题的理解与需求方意图不一致导致的,所以需要积极与需求方沟通,从以下方面依次进行排查问题:数据口径不一致等理解差异;数据源更新延迟等数仓侧原因;数据未上报/未采集等开发侧原因;St_数据异常矫正的方法

推荐文章

热门文章

相关标签