大数据学习总结02 njinx的第一个功能 动静分离

高并发:是指大量用户同一时刻对同一资源访问所造成的现象

动静分离

WEB 浏览器 请求–响应讲解
这里写图片描述
<1>.客户端发送请求。客户端浏览器向服务器发送请求URL;
<2>.服务器接收请求。服务器接收到该浏览器发送的请求;
<3>.服务器生成HTML。服务器解析请求的URL,根据URL确定请求的目标资源文件;
   这个资源文件通常是一个动态页面(如ASP,PHP,JSP,ASPX等文件)的网络地址(MVC结构的程序例外)。Web服务器根据动态页面文件的内容和URL中的参数,调用相应的资源(数据库数据或图片文件等等)组织数据,生成HTML页面。
<4>.服务端响应请求。生成HTML文档以后,服务器响应浏览器的请求,将生成的HTML文档发送给客户端浏览器;
<5>.客户端接收响应。浏览器接收服务端发出的请求得来HTML文档;
<6>.客户端解析HTML。浏览器对HTML文档进行解析,并加载相关的资源文件(JS,CSS,多媒体资源,内嵌网页)等,(在这里浏览器解悉完HTML文档以后,就会进行呈现,但同时也会向服务器发送请求来请求其它相关的资源文件)
<7>.服务器发送资源文件。服务器接到浏览器对资源文件的请求,将相应的资源文件响应给客户端浏览器;
<8>.客户端加载资源文件。客户端浏览器将接收服务器发送的资源文件,整理并呈现到页面中;
<9>.客户端从上到下加载。在进行页面呈现的时候,浏览器会从上到下执行HTML文档,当遇到相应的页面脚本的时候,会对脚本进行分析,并解释执行相应的脚本代码。

在第6步以后,我们就可以看到一部分页面内容了,不过可能是纯文本内容,没有样式,没有图片或其它资源。待到浏览器请求得到某资源的时候就会进行组织呈现,直到整个页面所有资源加载完毕,显示完成,请求响应完毕。

由以上可知:
响应的内容只有两种一种是静态资源,一种是动态资源
以下架构图,
如果如果没有动静态分离势必会造成,只要请求就必须先经过前端服务器去后端服务器取资源,然后再次从后端服务器到前端服务器到客户端。
采取动静分离后,能减少对后端服务器的访问次数
所以
动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。
这里写图片描述
动静分离的一种做法是将静态资源部署在nginx上,后台项目部署到应用服务器上,根据一定规则静态资源的请求全部请求nginx服务器,达到动静分离的目标。
因此,Nginx的第一个功能是实现动静分离

(注 静态资源vs动态资源
1.静态资源和动态资源的概念

简单来说:

静态资源:一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件,返回给客户端,客户端解析并渲染显示出来。

动态资源:一般客户端请求的动态资源,先将请求交于web容器,web容器连接数据库,数据库处理数据之后,将内容交给web服务器,web服务器返回给客户端解析渲染处理。

2.静态资源和动态资源的区别

a.静态资源一般都是设计好的html页面,而动态资源依靠设计好的程序来实现按照需求的动态响应;

b.静态资源的交互性差,动态资源可以根据需求自由实现;

c.在服务器的运行状态不同,静态资源不需要与数据库参于程序处理,动态可能需要多个数据库的参与运算。)

参考(一定要看)
web服务器请求响应 https://www.cnblogs.com/liangxiaofeng/p/5116512.html
动静分离 http://blog.brucefeng.info/post/static-backend-asolate

拓展
nginx动静分离 https://www.cnblogs.com/crazylqy/p/7150188.html

感谢各位大佬教导!

猜你喜欢

转载自blog.csdn.net/weixin_41853490/article/details/81324969