网站前端:html5 js jquery ajax css ps flash json xml
网站后端(服务器):jsp php asp.net
网站组成:运行平台Web服务器和应用服务器服务器端脚本客户端脚本数据库
静态网页:静态网页无法随便更改。 Static在服务器上写入一次以进行浏览。如果要更改它,则必须在页面上对其进行修改,然后上载服务器以覆盖原始页面,以便您可以更新信息并进行比较。麻烦,用户无法随时更改。
动态网页:动态网页可以随时更改内容。有前端和后端点。管理员可以在后台随时更新网站内容。前端页面的内容也将更新,这相对容易学习。
动态网页的功能:交互性(网页动态变化并响应用户要求和选择)。自动更新(无需手动操作自动生成新页面),随机性(访问同一URL的不同人和时间将产生不同的页面效果)
Ajax是一种用于创建快速动态网页的技术。 (可以进行本地更新)
Linux系统:Linux是一种免费使用且可自由分布的类Unix操作系统。它是基于POSIX和UNIX的多用户,多任务,多线程和多CPU操作系统。继承以网络为核心的Unix设计思想,是一个稳定的多用户网络操作系统。
C / S(客户端/服务器或客户端/服务器模式):word excel
特点:升级麻烦,维护不方便,安全性好,速度快
B / S(浏览器/服务器或浏览器/服务器模式):新浪 搜狐
特点:易于升级,易于维护,低性能的客户端性能
两者之间的区别:cs架构应用程序需要安装在用户的计算机上,而bs架构应用程序不需要安装在用户的计算机上,有一个浏览器就能运行。
JSP的优缺点
1. JSP技术大大增加了产品的复杂性。为了获得跨平台的功能和系统的可扩展性的产品,Java系统已经开发了多种产品,如JRE,JDK,J2EE,EJB,JSWDK,JavaBeans的,唯一有效的。将它们组合在一起以产生强大的功能。 (部署困难)
2. Java的高效运行需要大量内存和硬盘空间。一方面,java的高速操作是由.class文件驻留内存实现的。另一方面,它还需要硬盘空间来存储一系列.java。文件和.class文件以及相应的版本文件。 (高硬件要求)
3. JSP程序调试困难。执行JSP页面时,首先将其转换为.java文件(Servlet),然后将.java文件编译为字节码文件。因此,错误消息实际上指向转换后的.java文件(Servlet)而不是JSP本身。 (调试很困难)
优点:
1. JSP代码跨平台,即编写随处运行
众所周知,由于微软的垄断,其产品的可移植性非常差,ASP也不例外。
2. JSP组件跨平台
JSP组件(Enterprise JavaBeans,JavaBeans或自定义JSP标记)是跨平台可重用的。 Enterprise JavaBeans组件可以访问传统数据库,并以分布式系统模式在Solaris,Linux,UNIX和Windows平台中工作。
3.支持多种网页格式
目前,JSP技术支持的Web格式没有明确的标准。一般来说,JSP技术可以支持HTML / DHTML传统的浏览器文件格式,也可以应用于手机,PDA等无线通信设备。网页预览的WML文件格式也可以支持B2B e的其他XML格式。 – 电子商务网站应用程序
4.JSP标签可扩充性
尽管ASP和JSP都使用标记和脚本技术来创建动态Web页面,但JSP技术允许开发人员扩展JSP标记并自定义JSP标记库,因此网页作者利用XML兼容标记技术的强大功能来大大减少脚本编写。语言依赖。由于自定义标签技术,网页创建者降低了创建网页的复杂性。5.健壮性与安全性
由于JSP页面使用的脚本语言是Java语言,因此它具有Java技术的所有优点,包括强大的存储管理和安全性。
JSP前后分离的优势:
1.能够实现真实的前后端解耦,前端办事器利用nginx。
前端/WEB办事器放的是css,js,图片等等一系列静态资本(乃至你还能够css,js,图片等资本放到特定的文件办事器,比方阿里云的oss,并利用cdn加快),前端办事器卖力节制页面援用&跳转&路由,前端页面异步伐用后真个接口,后端/利用办事器利用tomcat(把tomcat设想成一个数据供给者),加速团体呼应速率。
(这里需求利用一些前端工程化的框架好比nodejs,react,router,react,redux,webpack)。
2.找到bug你可以快速找到问题所在。
页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等都由前端工程师处理。
接口数据错误,数据未成功提交,响应超时全部由后端工程师解决。
3. 在大并发环境下,能够同时程度扩大前后端办事器,好比淘宝的一个首页就需求2000+台前端办事器做集群来抗住日均几多亿+的日均pv。
4.降低后端服务器的并发/负载压力
除接口外的所有http请求都传输到前端nginx,接口请求调用tomcat,并引用nginx反向代理tomcat。除了第一页请求之外,浏览器还将大量调用本地缓存。
5.即使后端服务暂时超时或崩溃,前端页面也会正常访问,但数据不会被发送出去。
6.也许您还需要一个与微信相关的轻量级应用程序,因此如果还有与应用程序相关的服务,您的界面可以共享,那末只要经由过程一些代码重构,也能够大量复用接口,提升效率。(多端应用)
7.页面显现的工具再多也不怕,由于是异步加载。
8.nginx撑持页面热部署,不消重启服务器,前端进级更无缝。
9.增添代码的保护性&易读性(前后端耦在一路的代码读起来相称费力)。
10.提升开发效率,由于能够前后端并行开发,而不是像之前的强依靠。
11.在nginx中摆设证书,外网利用https访问,而且只开放443和80端口,其他端口一概封闭(避免黑客端口扫描),内网利用http,性能和安全都有保障。
12.前端大量的组件代码得以复用,组件化,提升开发效率,抽出来!