- Objective: - Breadcrumb: # 概念阐释 server-side programming,也叫做后端编程、后端开发back-end development。[[动态网站]]的代码都是在服务器端运行的,编写服务器端的代码就叫做服务端编程,在服务器的运行架构中叫做web application应用服务器。后端编程主要关乎于**提供功能**。 - 服务端编程针对于服务器上运行的代码 - 对于浏览器的响应请求,选择返回给浏览器的内容 - 充分访问服务器的操作系统 - 客户端编程的代码主要有PHP、python、Ruby、C#、JavaScript(唯一一种适用于前后端编程的语言) ## 服务端 Web 框架 选择一种服务端web框架前要考虑几个重要因素: - 学习代价:没有编程基础或是开发团队的一部分 - 效率:效率取决于框架的难度,例如Django具备所有问题的工具/库,Flask是轻量级框架,需要用户自己搭建解决方案,可能还需要学习子集 - 框架/编程语言的表现:速度并不是重要的考虑因素,不因应速度来决定学习那种语言 - 缓存支持:网站足够大后需要考虑缓存问题 - 可扩展性:网站足够大后需要考虑网络分发问题 - 安全性:很注重隐私和安全的网站需要在选择框架时考虑安全性问题 基于以上因素,Django(Python)和 Express(Node/Javascript)是最佳选择 - Django(Python):框架和编程语言都是简单易学的,提供全面的解决方案 - Express(Node/Javascript):编程语言与前端一样,但 Express 是一个小型的 web 框架,它几乎不包含任何你可能想要使用的组件,这点上也许有些困难 - ASP.NET(C#) # 实例 亚马逊、阿里巴巴国际站是典型的后端编程网站,支持会话、支持用户和身份验证、简单的数据访问、搜索、下单购买等。 #### 用户生成内容 - Facebook - wikipedia - MDN #### 定制用户体验 - 存储交易信息,不需重复输入 - 突出附近商业信息 - 根据用户的兴趣、习惯规划你喜欢的清单 #### 控制访问内容 - Facebook,用户可以控制谁可以访问我的主页 - 此功能可以区分普通用户与plus用户 #### 存储会话或状态信息 - 比如存储了游戏进度,下次从这里开始 #### 通知或通信 - 通过邮件或SMS(短信)来向指定用户发送订阅消息 #### 数据分析 # 相关内容 [[Database 数据库系统]] # 参考资料 - [服务端 web 框架-MDN](https://developer.mozilla.org/zh-CN/docs/Learn/Server-side/First_steps/Web_frameworks#%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9%E4%B8%80%E4%B8%AA_web_%E6%A1%86%E6%9E%B6)