Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

Web 是多么复杂的一套体系

  前段时间认识了一些 IT 圈外的人,聊到工作时它们说自己也做过网站。多简单的事儿,谁不会呢?写点 HTML,搞个服务器往上一丢。看看网络上的教程,分分钟学会。很久以前,当我还在接小公司的订单整站整站地搞时,我也无法想象 Web 是多么复杂的一套东西。
  最初的 Web 很简单,一个程序开了 80 端口,解析请求并响应内容。然后 Web 程序开始处理数据,就需要对数据库的操作。于是就有了两层:
    数据库 → 页面渲染程序
  当页面需求越来越复杂后就会考虑做前后端分离:
    数据库 → 后端程序 → 前端程序
  当后端业务越来越复杂时,再把 HTTP 服务器耦合在后端业务代码中就会变成一坨,于是将 HTTP 服务器抽离出去作为单独的一层:
    数据库 → 后端程序 → HTTP 服务器 → 前端程序
  当调用量增加时,为了避免重复的数据库查询,又会考虑为后端渲染的结果加一层缓存:
    数据库 → 后端程序 → 缓存层 → HTTP 服务器 → 前端程序
  当项目大到一定程度后就要拆分数据库,于是又会搞出一层来协调数据库操作:
    数据库 → 数据库协调层 → 后端程序 → 缓存层 → HTTP 服务器 → 前端程序
  ···
  当项目越来越大,结构就越来越复杂。上面列出的这些只是部分典型的层而已,而且还仅仅是基于数据这个维度来看的分层(因为数据维度是最清晰的)。除此之外还需要其它东西的支持,比如前端程序需要 CDN 支持、缓存层需要缓存服务器集群支持之类的,也许还有单独的服务在管理这些资源的调度。
  总之,Web 是一套非常复杂的体系。而且可能它的发展速度比很多人的学习速度还要快。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^