一个网站可以非常复杂也可以非常简单。大型电商网站每个功能都有特化的设计跟架构,安全性、高并发交易、快取、分散式,整个网站跑起来可能要好几台机器、几十个容器或结点;阳春的个人网页则简单到只有静态的 HTML 内容。但这两个是极端的例子,本系列文不会分享这种大型高流量网站的架构(本身功力也不够),也不会架一台机器只放一个静态内容的网站,笔者主要会介绍最常见的小型网站架构架构,没有深奥的原理,但却功能齐全。小型的网站通常包含四个基本架构:
跑服务器的主机
网站服务器程序执行的地方,可以是实体主机或者云端上的 VM(虚拟主机)。使用者要浏览我们的网站,就必须透过浏览器,对主机的 IP 或者 domain name 发出请求(request),主机接收到请求之後,视情况做不同的处理,可能转发请求给後端程序、也可能回传前端页面的内容。
後端程序
一个功能完整的网站,一定需要能够处理使用者的请求,例如注册帐号、新增购物订单等等,而这些工作就是由後端程序来执行。API server 是最常见的後端程序,会根据使用者的请求做处理,执行身分验证、权限管控、资料库操作等等,一步一步完成使用者的请求,最後把结果回传。
资料库
网站的後端程序是跑在记忆体里的,只要断电或重启程序这些资料就会消失,正常的网站当然不能允许这种事,所以我们会需要资料库来储存资料。资料库做为一个资料中心,在硬碟空间的运用与存取的效能上非常讲究,幸好,我们现在很幸福,各大厂的资料库引擎帮我们处理好所有的细节,我们只要学好他们的语法,就能妥善的管理资料。
前端程序
网站後端程序处理完需求之後,最後一步就是把结果回覆给浏览器,让浏览器显示画面。现在这个年头,阳春的「工程师页面」再也无法满足使用者的需求,一个网站除了要能正确的处理使用者需求,还要有漂亮的页面、流畅的使用体验,才能称为一个合格的网站。
接下来的 28 天,笔者将从後端程序开始,一步一步实作一个网站并介绍更多关於他们的内容,敬请期待
<<: .Net Core Web Api_笔记02_HTTP资源操作模式GET
没想到30天这麽快就过去了,感觉离刚发还没有过多久,这30天我们学会LineBot的基本回复讯息,制...
谈这个主题之前,我们先来回忆一下日常的场景,你来到桃子购物网站,选了你要的商品往下卷动网页,结果竟...
看完了前2天内容就为了今天的主题二阶段提交,相信在下面你就能更明白整个流程的走向。 二阶段提交(T...
基於现在kubernetes的建置实在太过容易,有kind、k3d、minikube、microk8...
Model 资料层 在开发应用程序的过程里,我们通常会定义 Model 的类别用来处理资料结构或是资...