[Day02] 网站基本架构

一个网站可以非常复杂也可以非常简单。大型电商网站每个功能都有特化的设计跟架构,安全性、高并发交易、快取、分散式,整个网站跑起来可能要好几台机器、几十个容器或结点;阳春的个人网页则简单到只有静态的 HTML 内容。但这两个是极端的例子,本系列文不会分享这种大型高流量网站的架构(本身功力也不够),也不会架一台机器只放一个静态内容的网站,笔者主要会介绍最常见的小型网站架构架构,没有深奥的原理,但却功能齐全。小型的网站通常包含四个基本架构:

  1. 跑服务器的主机
    网站服务器程序执行的地方,可以是实体主机或者云端上的 VM(虚拟主机)。使用者要浏览我们的网站,就必须透过浏览器,对主机的 IP 或者 domain name 发出请求(request),主机接收到请求之後,视情况做不同的处理,可能转发请求给後端程序、也可能回传前端页面的内容。

  2. 後端程序
    一个功能完整的网站,一定需要能够处理使用者的请求,例如注册帐号、新增购物订单等等,而这些工作就是由後端程序来执行。API server 是最常见的後端程序,会根据使用者的请求做处理,执行身分验证、权限管控、资料库操作等等,一步一步完成使用者的请求,最後把结果回传。

  3. 资料库
    网站的後端程序是跑在记忆体里的,只要断电或重启程序这些资料就会消失,正常的网站当然不能允许这种事,所以我们会需要资料库来储存资料。资料库做为一个资料中心,在硬碟空间的运用与存取的效能上非常讲究,幸好,我们现在很幸福,各大厂的资料库引擎帮我们处理好所有的细节,我们只要学好他们的语法,就能妥善的管理资料。

  4. 前端程序
    网站後端程序处理完需求之後,最後一步就是把结果回覆给浏览器,让浏览器显示画面。现在这个年头,阳春的「工程师页面」再也无法满足使用者的需求,一个网站除了要能正确的处理使用者需求,还要有漂亮的页面、流畅的使用体验,才能称为一个合格的网站。

https://ithelp.ithome.com.tw/upload/images/20210902/20140664EoPcaszm2L.png

接下来的 28 天,笔者将从後端程序开始,一步一步实作一个网站并介绍更多关於他们的内容,敬请期待


<<:  .Net Core Web Api_笔记02_HTTP资源操作模式GET

>>:  DAY2 - 排序(一)

[DAY30]完赛心得

没想到30天这麽快就过去了,感觉离刚发还没有过多久,这30天我们学会LineBot的基本回复讯息,制...

好记性的浏览器:localStorage

谈这个主题之前,我们先来回忆一下日常的场景,你来到桃子购物网站,选了你要的商品往下卷动网页,结果竟...

Day.15 Crash Recovery- InnoDB 架构 -> MYSQL 二阶段提交(2PC) _完

看完了前2天内容就为了今天的主题二阶段提交,相信在下面你就能更明白整个流程的走向。 二阶段提交(T...

day2 : k8s建置(上)

基於现在kubernetes的建置实在太过容易,有kind、k3d、minikube、microk8...

Flutter体验 Day 22-Model

Model 资料层 在开发应用程序的过程里,我们通常会定义 Model 的类别用来处理资料结构或是资...