前端服务器理解

 转自:https://www.zhihu.com/question/26773561,https://www.zhihu.com/question/493164325

 https://cnodejs.org/topic/5ab9b59652d7d3a8698a4828

1.前端服务器 

是指网站的入口,负责接收用户的请求,将请求转发给后端服务器。网页前端和后端能否分别部署到不同的服务器上。比如手机app,后端服务不部署在手机上。

通常来说,前端会部署在代理服务器上,比如nginx,后端一般单独部署在应用服务器上,通过代理服务器调用。

  • 为什么前端要放在代理服务器上呢?主要是因为前端主要是资源文件,可以说是静态文件,执行主要在浏览器上,即用户端,存放的位置越靠前,访问速度越快;【前段服务器离用户越近越好,这就是CND吧?】
  • 后端的运行主要在服务器上,所以需要有多台性能不错的机器来运行,把结果返回给代理服务器,代理服务器再返回给用户。

请求流程:

  1. 浏览器请求前端服务器,下载静态文件(比如 index.html 以及必要的 css 和 js 文件)
  2. 浏览器执行第一步里下载下来的 js
  3. 前端 js 程序发送 AJAX 请求到后端服务器
  4. 后端服务器接受 AJAX 请求并处理之,最后返回 HTTP 响应
  5. 前端 js 程序接收 AJAX 响应并更新页面
前端主要使用的通信协议是HTTP。后端系统一般由Web服务器、应用程序服务器和数据库服务器三部分组成。

2.Web服务器

https://www.huaweicloud.com/zhishi/edit-5823475.html

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
 

3.Web和应用服务器的区别

https://cnodejs.org/topic/5ab9b59652d7d3a8698a4828
Tomcat是Application Server应用服务器,Apache和Nginx则是Web Server Web服务器,这两者有区别。
  • Web Server一般是完整实现了HTTP协议的服务器,负责接收用户的HTTP请求,然后响应请求,至于这么处理这个请求,就要交给Application Server去处理了;
  • Application Server里面跑着像PHP,Python的脚本;
  • Web Server和Application Server之间需要通过协议沟通,比如CGI、WSGI这类东西;
  • 虽然一些Application Server也能充当Web Server,但是它们对HTTP协议的实现并不完整,因此生产环境下不会这么用。
区别:https://www.huaweicloud.com/zhishi/edit-5823475.html
  严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的内容。而JSP,ASP,PHP等动态内容需要通过CGI、FastCGI、ISAPI等接口交给其他程序去处理。这个其他程序就是应用服务器。Web服务器包括Nginx,Apache,IIS等。而应用服务器包括WebLogic,JBoss等。
 
posted @ 2022-10-23 22:20  lypbendlf  阅读(1055)  评论(0编辑  收藏  举报