web 程序设计都包括什么 完整知识体系讲解
web 程序设计是一套完整的网站与网页应用开发体系,核心是围绕浏览器和服务器之间的数据交互,把页面展示业务逻辑数据库存储部署运维全部整合起来,简单来说就是开发可以通过浏览器访问的程序,它不是只写网页界面,而是包含前端开发后端开发数据库设计网络协议项目工程化安全优化等多个模块,学习 web 程序设计需要同时掌握客户端和服务端两套技术,理解请求响应的完整流程,才能独立完成一个可上线运行的 web 应用,很多初学者误以为 web 程序设计就是写 html 页面,实际上 html 只是页面结构,真正的 web 程序还要处理用户登录表单提交数据增删改查权限控制这些动态业务功能,静态网页只能展示固定内容,动态 web 程序可以根据不同用户不同操作返回不同页面和数据,这也是 web 程序设计最核心的特点。
前端部分 浏览器端程序设计
前端运行在用户浏览器里面,负责页面渲染交互展示,是用户直接看到的部分
1 基础三件套
html 用来搭建页面结构,定义文字图片按钮表单等元素
css 负责页面样式,控制颜色大小排版动画响应式适配手机电脑屏幕
javascript 实现页面动态交互,比如表单校验点击事件页面局部刷新
2 前端框架与工程化
主流框架有 vue react angular,用来开发复杂单页应用,也就是 spa
配套工具包含 webpack vite 等打包构建工具,npm yarn pnpm 包管理器
还有 ui 组件库,比如 element plus antd,快速搭建表单表格弹窗等组件
3 前端进阶内容
ajax fetch axios 实现和后端接口的数据通信
dom 操作 事件委托 路由管理 状态管理,比如 pinia redux
响应式布局 跨浏览器兼容 前端性能优化 无障碍访问
后端部分 服务器端程序设计
后端运行在远程服务器,接收前端发来的请求,执行业务逻辑,操作数据库,再把结果返回给浏览器,是 web 程序设计的核心业务层
1 后端编程语言与框架
java 搭配 springboot
php 搭配 laravel
python 搭配 django flask
nodejs 搭配 express nestjs
go 搭配 gin
2 核心业务能力
接口设计 restful api,处理 get post put delete 请求
业务逻辑编写,登录注册订单计算权限判断
会话管理 session cookie token jwt 身份认证
文件上传下载 邮件发送定时任务
3 服务基础
http https 协议理解,请求头响应头状态码
服务器概念,web 容器,反向代理,比如 nginx
数据库与数据存储模块
web 程序所有动态数据都需要持久化保存,属于 web 程序设计必不可少的部分
1 关系型数据库 mysql postgresql sqlserver,学习 sql 语句建表增删改查索引事务
2 非关系型数据库 redis mongodb,redis 常用来做缓存登录态排行榜,mongodb 适合文档类数据
3 数据相关设计
数据库表设计范式,字段设计,主外键,数据备份,数据分页查询,防 sql 注入
网络协议与基础原理
这部分是理解 web 程序设计底层运行原理的基础
http 协议请求响应模型
https 加密原理 tls 握手
跨域原理与解决方案,cors jsonp 代理
域名 dns 解析,端口,ip,url 组成
websocket 长连接,适合聊天室实时推送这类 web 程序
项目工程与部署运维
web 程序写完代码之后,需要部署到服务器才能对外访问,这也是 web 程序设计完整流程的一环
项目需求分析原型设计数据库建模
版本控制 git github gitee
环境区分开发环境测试环境生产环境
部署方式,传统部署,docker 容器部署
服务器操作系统 linux 基础命令
监控日志,异常处理,服务重启,负载均衡
安全与优化模块
web 程序设计必须考虑安全防护和性能优化,属于进阶核心内容
安全类
xss 跨站脚本攻击防护
csrf 跨站请求伪造防护
权限越权校验
文件上传漏洞防护
密码加密存储
优化类
页面加载优化,接口缓存,数据库索引优化,压缩静态资源,cdn 加速
测试部分
单元测试 接口测试 压力测试,验证 web 程序功能是否正常,高并发下是否稳定
| 模块 | 主要职责 | 典型技术 |
|---|---|---|
| 前端 | 页面展示交互 | html css js vue react |
| 后端 | 业务逻辑接口 | springboot nodejs python |
| 数据库 | 数据持久存储 | mysql redis |
| 网络 | 请求通信底层协议 | http https websocket |
| 部署运维 | 上线运行维护 | linux nginx docker git |
| 安全优化 | 防护与性能提升 | xss 防护 索引 cdn |
综合来看,web 程序设计是前后端联动的全栈开发体系,如果是入门学习,可以先从前端三件套入手,再学习一门后端语言和数据库,最后学习接口联调部署上线,完整走完一个项目,就可以掌握 web 程序设计全部核心内容,不需要一开始全部技术同时精通,但是必须理解前后端请求响应的整体链路。
【常见问题】
问题 1 web 程序设计和静态网页制作有什么区别
回答 1 静态网页制作只固定展示页面内容,没有动态业务逻辑,web 程序设计包含前端后端数据库,可以实现登录数据提交动态查询,具备完整交互业务能力,web 程序设计范围远大于单纯静态网页制作。
问题 2 学习 web 程序设计一定要同时学前端和后端吗
回答 2 如果目标是掌握完整 web 程序设计体系,建议前后端都学习,这样才能理解完整请求流程,如果只想做前端岗位,可以侧重前端,但是仍然需要了解后端接口基础概念,方便联调 web 程序。
问题 3 web 程序设计里面的接口是什么作用
回答 1 接口是 web 程序设计里前端和后端通信的通道,前端通过接口把用户操作发送给后端,后端处理完成之后返回数据,前端再渲染页面,没有接口就无法实现动态 web 程序的数据交互。
问题 4 web 程序设计需要学习 linux 吗
回答 4 完整的 web 程序设计上线环节需要基础 linux 知识,因为绝大多数 web 程序都是部署在 linux 服务器上,需要使用 linux 命令操作服务器配置 nginx,做项目部署,属于 web 程序设计部署模块必备内容。
【免责申明】
本文介绍的 web 程序设计相关知识体系仅作为学习参考,技术框架会持续迭代更新,不同院校课程大纲企业岗位要求会存在差异,实际学习请结合自身目标选择学习路线,本文不对课程考核岗位录用等结果承担相关责任。
相关阅读
-
凉拌苦瓜想要好吃又不苦,核心是挖除瓜瓤白膜 盐腌出水 短时焯水这三道减苦工序,再搭配酸甜蒜香料汁,成品...浏览全文>>
-
web 程序设计是一套完整的网站与网页应用开发体系,核心是围绕浏览器和服务器之间的数据交互,把页面展示业务...浏览全文>>
-
烤箱里面使用锡纸,亮面建议朝向食物,哑面朝外,这是烘焙圈通用的做法,很多人纠结正反面,其实锡纸本身材质...浏览全文>>
-
watches 有两套完全独立的用法,第一套是动词 watch 的第三人称单数现在时形式,意思是观看注视,搭配 he...浏览全文>>
-
教师资格证面试不是固定划线到某个分数就一定通过,面试总分是 100 分,官方最终公布成绩只显示合格或者不合...浏览全文>>
-
核心结论是 warframe 电浆炮也就是等离子电浆炮,主要获取渠道分为 BOSS 掉落 任务奖励 氏族能量实验室...浏览全文>>
-
家常菜谱 100 道简单做法核心是全部选用常见食材,工序短,调料都是厨房常备品,覆盖荤菜素菜汤品主食凉拌菜...浏览全文>>
-
Windows10 打开任务管理器最常用的方式是同时按下 Ctrl Shift Esc 三个按键,这个组合键可以直接唤起任务...浏览全文>>
-
猴子吃辣对应的歇后语主流说法是猴子吃辣椒 抓耳挠腮,这句歇后语是民间非常经典的口语表达,核心是借助猴子...浏览全文>>
-
vt 代表什么词性,它是英语词典里面的缩写,全称是 transitive verb,中文名称叫做及物动词,这类动词后面...浏览全文>>
- 烤箱锡纸是用正面还是反面 正反面使用说明
- 家常菜谱 100 道简单做法 新手零失败合集
- 猴子吃辣 歇后语详解
- vt 代表什么词性 英语词典动词缩写详解
- 汗蒸房可以带手机进去玩吗 注意事项详解
- vpro 键盘灯怎么调 背光调节操作详解
- vivo 哪款有红外线 红外遥控机型汇总
- vivoz5 怎么调屏幕分辨率 系统设置详细说明
- 孜然粉里面加什么料更香 复合调味配比
- vivox7 什么时候出的 发布开售时间详解
- vivox27 支持 nfc 功能吗 机型配置详细说明
- 速冻水饺煮 5 分钟熟了吗 分情况判断火候
- 瘦肉汤窍门瘦肉汤的做法 鲜嫩清甜煲汤教程
- vc 水怎么用效果最好 高效护肤实操指南
- 三支一扶面试考什么内容 面试考点全解析
- 平行四边形面积公式大全 小学初中考点汇总
- 梦见猫吃老鼠是什么意思
- 干小米虾的家常做法爆炒 香酥开胃教程
- 大闸蟹蒸多长时间可以吃 水开计时鲜嫩版
- thrilled 什么 单词释义用法精讲
