⑴ Web前后端交互方式
HTTP长连接
HTTP1.1协议具备的,TCP连接一直不断保持着,Connection:keep-alive头来验证是否支持。
Web交互方式
普通轮询:普通的前后端通信方式,请求中多半无用,可以使用HTTP长连接技术;可以使用AJAX(XMLHttpRequest类),也可以使用ifram方式请求;实时性差。
长轮询:对于有实时性要求的场景(其实在两次连接之间,还是会有实时性问题),客户端发送请求后,后端hold住,有数据时才返回,客户端收到后断开,再启用新的请求进行连接,通过这样的方式模拟服务端推送。节省了反复建立连接的开销,但是服务器端会一直while保持着连接消耗资源,服务器端需要设置好超时时间(set_time_limit),有数据时返回(flush&ob_flush)超时时间内如果没有数据返回,则需要跳出断开连接,以免死循环。这种模式被称为反向AJAX/Comet,由服务器端进行数据实时推送。问题是:服务端开销依然很大,每次通信都需要一次请求,HTTP请求头中带大量Cookie等信息,浪费带宽。IE不支持AJAX,因此需要iframe代替。
SSE(Server-Sent Evetns):HTML5的Comet方案。SSEAPI创造到服务器端的单向连接,服务端推送的模式,服务器响应的MINE必须是“text/event-stream”,用于服务器端给客户端实时传数据,只进行一次连接,则后续服务端可以一直传送数据。
数据流:在长轮询的基础上,收到数据后不要断开连接,继续接受服务端数据;由于数据流是不断的,所以需要客户端自己来处理解析数据和管理游标,增量处理获得的数据,增加了逻辑复杂度。
Websocket:替代长轮询方式,减少开销。
⑵ web前端技术包括哪些
web前端技术包括哪些内容?分享一份web前端的学习路线,包含每个阶段需要掌握的知识点,可以参考下
1、PC端页面制作与动画特效
学习HTML+CSS搭建网页、CSS动画特效、PhotoShop切图等基础知识,获得初级Web前端工程师技能,主要进行PC端网页制作与样式设计实现,能够配合UI设计师进行项目开发。
2、移动端页面制作与响应式实现
讲解移动端布局与设备适配、响应式设计与实现等,获得移动端页面适配工程师技能,主要进行移动端网页的布局制作与样式设计实现。可以适配各种手机尺寸,并能利用响应式进行移动端与PC端适配。
3、JavaScript与jQuery开发
同HTML5基础知识一样,JavaScript开发与jQuery开发是职业晋升必备的技能包,获得中级Web开发工程师技能,主要进行页面行为交互,实现网站常见特效,加轮播图,选项卡,拖拽效果等,并能配合UI和后端进行项目开发。
4、HTML5高级框架技术开发
常用的Vue框架开发,React框架开发,Angular框架开发,数据可视化技术。可获得中级Web前端工程师技能,主要适用框架开发企业项目,实现单页面应用开发。可以完成复杂的数据交互应用场景,具备独立开发项目能力。
5、全栈前后端技术开发
Node.JS技术,其他后端技术,如Java或PHP。可获得高级Web前端工程师技能,铅颤主要进行前后端全栈样式开发,能独立完成一个中小型项目的前槐大败后台,对于网站开发有着非常熟练的编程能力。
可以从零开始,一步步的掌握前端开发的各项相关技能,最终达到企业对初级前端开发工程师、中级前端开发工程师、高级开发工程师等职位的要求。
学web前端一般在2万左右,4-6个月左右的时间。应该根据自己的实际需求去实仿碰地看一下,先好好试听之后,再选择适合自己的。只要努力学到真东西,前途自然不会差。