1、课程安排S第一节:WEB开发技术简介S第二节:WEB后端开发S第三节:WEB前端开发S第四节:WEB与数据库S第五节:WEB应用架构概要一SWEB开发技术简介S什么是WEBSWEB开发用到的前后端语言SWEB开发常用的工具SWEB运行环境SWEB服务器S静态页面与动态页面的区别SB/S与C/S的区别概要二SWEB后端开发SWEB后端开发语言简介(PHP/ASP/ASP.NET/JSP)SWEB后端开发语言易学度、执行效率、使用率等比较S常用后端开发框架介绍(以PHP为例)S后端开发重点技术讲解(MVC,ORM,模板引擎等等)S缓存管理(memcached,redis等)S后端开发新技术(nod
2、e.js等)概要三SWEB前端开发技术S前端开发语言介绍(JavaScript/Html/css/as)SJAVASCRIPT框架介绍SAJAX技术重点讲解S浏览器兼容性S搜索引擎优化(SEO)S前端新技术介绍(HTML5/CSS3)概要四S数据结构SMySQL介绍SMySQL大数据量优化方案S存储过程相关S数据结构设计(拆分、读写分离、主从备份)概要五SWEB应用架构分析S分布式应用SLVS负载均衡SDNS轮询S大型网站案例分析WEB开发技术简介S什么是WEB?SWEB的发展史S浏览器的发展史SWEB开发语言/开发工具/运行环境SWEB服务器SWEB程序执行流程SWEB相关的名词解释什么是W
3、EB?S由以下三部分组成:S超文本标记语言(HTML)S超文本传送协议(HTTP)S统一资源定位技术(URL)WEB的发展浏览器与其内核S主流浏览器:SIE、Firefox、Chrome、Safari、OperaS主流浏览器内核:STrident、Gecko、WebKit、Blink、Presto浏览器的发展史图解浏览器的发展史图解全球主流浏览器市场份额(数据来自TNW)国内主流浏览器市场份额(数据来自百度统计)国内主流浏览器市场份额(数据来自百度统计)国内主流浏览器市场份额(数据来自CNZZ)常用WEB程序开发语言S后端语言:SPHPSJSPSASP.NET/ASPS前端语言:SJavaSc
4、riptSVBScriptSHTMLSCSS常用WEB程序开发工具SIDE:SZend Studio (PHP)SEclipse(JSP)SVisual Studio (C#)S辅助开发工具:SDreamweaverS各种文本编辑器WEB程序运行环境(以操作系统为主)SLinux/UnixS支持PHP、JSP,效率高SASP.NET/ASP目前还没有能运行在Linux服务器上的版本,估计未来也不会有SWindowsS支持ASP.NET/ASP,效率高S也支持PHP、JSP,但效率一般WEB服务器的使用区域分布动、静态页面与B/S、C/SWEB程序执行流程网站相关的名词解释及相关知识分享SAle
5、xaSPR值S百度权重全球网站Alexa排行TOP10S1.GS2.FS3.YS4.YS5.BS6.WS7.QQ.comS8.LS9.LS10.T中文网站Alexa排行TOP10WEB应用架构SWEB服务器的选择SWEB常用的生产环境S业务逻辑代码层架构设计S服务器层架构设计常用WEB服务器优缺点SApacheS优点:比较成熟、稳定、功能强大、配置丰富、能想到的模块都有S缺点:不适合静态文件多的站点、内存CPU占用很大、阻塞型请求处理方式SNginxS优点:内存CPU开销小、支持更高的并发数、FastCGI模式效率突出、配置简单S缺点:rewrite支持不是很好、动态页面处理效率不如apach
6、e、可使用的模块较少SLighttpdS优点:系统资源开销极小,SIISS优点:可视化配置,除此好像没有其他优点了S缺点:缺点太多,如果不是ASP.NET/ASP的程序几乎不会考虑用常用WEB服务器功能对比WEB服务器市场份额WEB服务器的选择S结论:SNginx比较适合做前端服务器SApache比较适合做后端处理服务器SLighttpd处理静态文件效率较高适合做图片等静态文件服务器S如果程序是ASP或ASP.NET那就只能选IIS+Windows平台了WEB常用的生产环境(以PHP为例)SLAMPSLinux+Apache+Mysql+PHPSLNMPSLinux+Nginx+Mysql+P
7、HPSLNMPASLinux+Nginx+Mysql+PHP+ApacheS其他SWAMP/WNMP/WIMP业务逻辑代码层架构设计(以PHP为例)SSSOSTokenSPHPRPC/RESTSCli模式S异步处理SAJAXSMVCSORMSRBACS业务模块化S缓存生命周期S自定义项目配置MVC设计模式SM:ModelSV:ViewSC:ControllerMVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC执行流程什么是ORM模型?SORM=Object/Relation MappingS
8、ORM是一种对象、关系映射的模型,在系统中作为中间件的形式存在,主要实现程序对象到关系数据库数据的映射。SORM模型的简单性简化了数据库查询过程。使用ORM查询工具,用户可以访问期望数据,而不必理解数据库的底层结构。为什么推荐ORM?SORM简化了复杂的SQL代码ORM工作原理ORM结构代码:ORM.table(xxx).limit(10).field(xx,xx,xx,xx).where(xxx).select()ORM中间件DB HelperDBRBACSRBAC:(Role-Based Access Control)基于角色的访问控制模型SRBAC认为权限授权实际上是WhoWhatHow
9、的问题。在RBAC模型中,whowhathow构成了访问权限三元组,也就是“Who对What(Which)进行How的操作”。SRBAC主要成员:用户,角色,用户组RBAC成员关系图用户组用户1用户2角色1角色2角色3SSOSSSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。SSSO的技术实现:。Token令牌验证SToken作为隐藏域存在于Form内SForm提交时后端程序验证Token避免表单重复提交SToken在验证完成一次后失效PHPRPC协议SPHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。S最重要的是可通过javascript直接跨域访问S 与SOAP 比较。Cli 命令行开发模式SCli=Command Line Interface的简称SPHP的Cli模式支持多线程、可以实现定时任务、与GTK一起还可以开发桌面应用、Linux下开发shell脚本。SCli模式在我们产品上的使用。应用架构设计