热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nginx高性能web服务器详解_Web后端服务器架构原理及技术详解

今天主要与大家分享“关于Web服务端的技术”,基于浏览器客户端的技术,我们在访问一个网站的过程中,一般都能够感知到客户端网站速度的快慢问题,

今天主要与大家分享“关于Web服务端的技术”,基于浏览器客户端的技术,我们在访问一个网站的过程中,一般都能够感知到客户端网站速度的快慢问题,但是对于服务器端的技术我们不一定能够感觉到,因为我们也不知道访问网站服务器的稳定性与可靠性到底怎么样,应用了一些什么样的技术也不懂,对于服务器端的相关知识也缺乏深入的了解,今天我们就来详细了解一下基于Web服务端的核心技术。

830d328613f3f7825b6647752506c525.png

一般服务器有那些特点?首先所有客户端的请求都需要发送给服务器端,服务器端接收到客户端发送过来的请求,对客户端的请求进行响应,服务端需要监听到客户端发送的请求端口,例如:如果服务器的端口是80,需要将请求进行整理分类,我们需要对服务器端口进行监听,监听完成之后需要向客户端响应,我们需要去协调咱们的一个动态处理页面的引擎,或者去协调我们的数据库,去访问我们的硬盘将相应的内容读到硬盘中,等相关内容拼装好之后,再变成一个标准的HTML的源文件页面,再发送给客户端,一个是请求的过程,一个是响应的过程,这都是是Web服务器与客户端的交互原理过程,这就完成了Web服务的工作过程,客户端通过URL地址向服务端发送请求,服务器端处理客户端发送的请求,完成整个前端与后端和数据库端网站的工作原理。

7c26fed3375c28738801086dff67879b.png

例如:我们平时要去访问一个图片或者某个网站的URL链接,与之相对应对应的是一个URL地址,平时我们打开的网页对应的图片点击属性就是关于图片的所有内容,一般图片类型都属于网页静态资源,会保存在我们服务器端的硬盘上,响应的时候直接从服务器端的硬盘上读取过来,然后发送给客户端即可。

第三点主要是指客户端与数据库之间的连接者,我们现在的客户端与服务端的技术是使用标准的三层架构,分别为:客户端、服务端、数据库。我们所有的软件数据都是保存在数据服务中,浏览器客户端是无法直接访问数据库的,需要通过服务器作为中转,然后到达数据服务端,这中间的交互过程其实就是客户端传递数据给服务器端理然后将数据传递给数据服务,最后再返回给客户端呈现网页,如果是静态资源就不需要经过数据库直接从客户端到服务器端的交互就完成了web的工作过程。

多层架构主要针对服务器端和数据库端,

Web服务器:web服务器一般只负责HTTP请求和转发请求,不负责直接与数据库交互,也不负责业务数据逻辑的处理过程。

应用服务器特点:不负责本身HTTP前端请求的处理,它主要负责核心业务逻辑处理,并且与数据库建立连接,例如:我们常用到的J2EE架构一般分为四层,web前端服务器和应用服务器。

数据库服务:对于数据服务我们可以细分为:有些数据服务只处理简单的请求,有些数据服务处理底层逻辑复杂的请求,甚至可以将服务器构建在云计算集群环境中或者说云计算平台上,层次可以分得更细,本质上这些服务器层次的划分都离不开三层基本架构的模型,我们学习只需要关注这三层核心架构原理即可。

37726153a13d58590921ddab6f756bf3.png

常用的web服务器技术有那些?目前常用的有五种:Apache、IIS、Tomcat、Nginx。Apache一般应用比较广泛,一般是基于操作系统的兼容来选择,像IIS一般应用于windows平台.NET程序框架的应用服务器,但是Apache适用于任何平台,Tomcat一般用来处理JAVA服务器的容器,并不是一个完整意义上的WEB服务器,还兼有处理HTTP请求的功能,我们可以基于不同的基础环境来选择相关的web服务器的相关技术。

基于软件层面来分析

动态脚本 引擎的处理。我们经常在访问一个网站的时候可以看到后缀名不一定是html,有些是.php、.asp、jsp、ruby、 python等开发出来的一些页面,这些页面我们就需要通过脚本引擎来处理这些动态资源本身的部分,web服务器只负责静态页面资源,需要两者结合一起来完成这个工作。例如:我们要访问数据库无法让HTML或者一张图片等静态资源去访问数据库的,要去访问数据库,一定要使用动态脚本编写程序来达到访问数据库的目的。

a1e0efc91ce0bfea8b0f894d92de8529.png

关于硬件集群服务器端环境的过程

我们后台的服务器一般是很少只有一台电脑来完成这些服务的,一般都是由N台服务器一起分工来完成处理一个任务,如何利用很多台电脑集群?应用了集群的方法完成了这个事情,一种是硬件与硬件之间的集群,操作系统的集群,应用服务器间也可以做集群是基于软件与软件层面的集群,一般这样的处理只用于某些特定的服务器本身,可以达到共同承担任务的处理过程。一般对于数据库来说也会存在数据库之间的集群,这种应用服务器和数据库之间的集群更加有针对性,更能够 为自己的数据库服务器系统做算法的优化,从而达到提高性能的目的。

0e2fc5cc30a152124a6dfcbdff2f63fb.gif

一般来说我们目前知道的云平台,大部分都是来源于集群服务,一般如果一台电脑出问题了,用户可以寻找附近其它的电脑进行连接,可靠性与稳定性很好,能够更好的合理利用网络资源从而达到资源共享的目的,这是云计算所做的事情。

71cfc8fa24daae28658581051bdbcb55.png

总结:今天主要与大家讲解了Web服务器端技术应用的实践过程以及从前端页面的数据交互原理过程都与大家进行详细的分享,希望通过本次课程的内容大家对web服务器应用的技术有一个更深入的理解,丰富大家的知识面,如有任何疑问可以留言告知。



推荐阅读
  • mysql oneproxy稳定吗_Mysql 中间件 oneProxy总结
    建议使用之前把官方的文档全部通读一遍这里提供一个我的网盘地址oneproxy百度网盘0.先对oneproxy有个大概的了解,知道他所处的位置1.MySQL服务器创建t ... [详细]
  • 7月9日结束了我的小学期后,正式开始了我的假期生活。这个星期,初步了解了一些Java的基础知识。1.JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需 ... [详细]
  • Eclipse中SpringBoot响应jsp的简单demo
    首先在Eclipse里新建一个maven工程,这里的打包类型和父包如果后续再去pom中添加也可以此时的工程路径是这样的接下来去到pom中添加相关的依赖,如果有报错mavenupda ... [详细]
  • 1.数据准备#测试数组vectorc(5,34,65,36,67,3,6,43,69,59,25,785,10,11,14)vector##[1]53465366736436959 ... [详细]
  • C语言是一个什么样的语言,为什么每个程序员都要学习
    对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是 ... [详细]
  • 根据时间更改网站背景的脚本。热!
    我在网上找到了它,并以自己的方式对其进行了自定义;作者的功劳就在那里。实际上,这是一个用于更改背景颜色的脚本,并且在我看来& ... [详细]
  • 本文目录一览:1、学习Python之后可以做什么工作?有哪些方向? ... [详细]
  • 超赞!GitHub上百万下载量Java面试手册!颠覆你的认知
    金三面试不顺心,马上银四面试在即,自己复盘总觉得Java知识点很凌乱?没有合适的方法学习!今天分享这份GitHub上百万下载量Ja ... [详细]
  • Java工作流引擎关于数据加密流程(MD5数据加密防篡改)
    关键字:驰骋工作流程快速开发平台工作流程管理系统工作流引擎asp.net工作流引擎java工作流引擎.开发者表单拖拽式表单工作流系统流程数据加密md5数据保密流程数据防篡改软加密适 ... [详细]
  • 【实践】基于RTThread的智慧路灯案例实验分享
    之前分享了基于LiteOS的智慧农业案例实验分享基于LiteOS的智慧农业案例实验分享,阅读量挺不错,看样子大家都挺喜欢这种实验。那咱们就再来一个类似的实验:基于RT-Thread ... [详细]
  • UDP协议开发
    UDP是用户数据报协议(UserDatagramProtocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务。与TCP协议不同,UD ... [详细]
  • Linux文件目录和权限
    Linux文件目录和权限前言:Linux一般将文件可存取的身份分为三个类别,分别是ownergroupothers,根据权限划分,每个目录都可以拥有相对身份的-rwx[可读可写可执 ... [详细]
  • 媒介这里大部份是本身碰到过的状况,另有一部份自创了偕行的文章,假如人人有碰到别的坑,迎接提出来一同研讨。学问要点1.Meta标签1.制止用户缩放页面,页面强迫让文档的宽度与装备的宽 ... [详细]
  • 缓冲区溢出实例(一)–Windows
    一、基本概念缓冲区溢出:当缓冲区边界限制不严格时,由于变量传入畸形数据或程序运行错误,导致缓冲区被填满从而覆盖了相邻内存区域的数据。可以修改内存数据,造成进程劫持,执行恶意代码,获 ... [详细]
  • 结对编程 地铁最短路径 张波朱新远
    结对编程地铁最短路径一、任务:实现一个帮助进行地铁出行路线规划的命令行程序。PSP2.1PersonalSoftwareProcessStagesTimePlanni ... [详细]
author-avatar
航19830_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有