前端知识基础
一、web前端工程师是协调前端工程师、后端程序员实现网站页面或程序界面美化、交互体验的IT技术开发人员,需要精通HTML5、CSS3、JavaScript、jQuery、Ajax等核心的web前端技术,具备互联网交互设计能力,熟悉后端服务器运行环境和数据通信协议,掌握响应式布局架构、bootstrap/Angular JS等最新的框架。
二、理解JavaScript、HTML、CSS以及三者之间的关系
1、JavaScript
JavaScript一种表述语言,也是一种基于对象和事件驱动力的安全性好的脚本语言,主要用来向HTML页面添加交互行为,是一种解释性语言,边执行边解释。运行在客户端,从而减轻服务器端的负担。
2、CSS
CSS即级联样式表,是一种用来表现HTML或XML等文件样式的计算机语言。相对于传统的HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的文字字体字号样式,拥有对网页对象和模型样式编辑能力,并且能够进行初步的交互设计,是目前基于文本展示最优秀的表现设计语言。
3、HTML
HTML是用来描述网页的一种语言
- HTML是超文本标记语言(Hyper Text Markup Language)
- HTML使用标记标签来描述网页
web浏览器的作用是读取HTML文档,并以网页的形式显示它们。浏览器不会显示HTML标签,而是使用标签来解释页面内容。
4、三者之间的关系
对于一个网页,HTML定义网页的结构,CSS描述网页的样子,JavaScript设置一个经典的例子。
标准的web组成应该包括三部分:结构,表现,行为
- 结构标准语言:主要包括XHTML和XML
- 表现标准语言:CSS
- 行为标准语言:W3C DOM和JavaScript
结构层是最底层的,表现层和行为层都必须依附于结构层之上,同时三者追求高度分离化,也就是说表现层和行为层可以重写。
三、前端介绍
前端页面=结构HTML+样式CSS+行为JavaScript
- 前端指输出到网站屏幕上于用户直接打交道的部分,包括界面的展现、于用户交互等,前端开发主要职能就是制作网站的一切可视化界面,并使之更好更快的呈现给用户。
- 前端开发入门需要掌握的知识
【HTML】:构成网页文档,制作网站基础页面的标准语言。
【CSS】:控制网站具体样式,帮助把网页外观做得更加美观。
【JavaScript】:用于调度数据和实现复杂展现逻辑。
【主流web框架】:如jQuery,加快开发网页速度,节约开发时间。
【服务器端脚本语言】:了解一门后端语言,如PHP,并对Apache的基本配置有一定掌握。
【HTML5】:HTML的进阶,用于制作手机等移动设备的页面。
【其他】:学会运用各种工具进行辅助开发以及理论层面的知识,包括网站优化、网络安全、代码的可维护性、组件的易用性,分层语义模块和浏览器分级支持等。
3、web前端工程师,主要职责是利用HTML/CSS/JavaScript/flash等各种web技术客户端产品开发,完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的web开发,致力于通过技术改善用户体验。
4、UI与web前端的区别
UI前端:主要负责系统APP,UI界面设计,以及HTML代码的实现,主要工作偏向于设计。
web前端:主要讲UI提供的设计图,编码成静态HTML,实现所有特效,并负责所有交互的对接。对JS要求比较高,部分企业会要求一些后台接口的开发工作,因此对后台开发语言也有一定的要求,在前端中算是比较全能型的开发人员。
5、前端安全
随着前端技术发展,安全问题已经从服务器悄然来到了每个用户面前,盗取用户数据,制造恶意的可以自我复制的蠕虫代码,让病毒在用户之间传播,更有甚者可能会在用户不知情的情况下,让用户成为攻击者。随着客户端应用越来越广,前端的安全问题也随之增多。常见的攻击方法有:
- 跨站脚本攻击(xss:cross site script):它指的是恶意攻击者往web页面插入恶意的HTML代码,当用户浏览该网页时,嵌入的恶意HTML代码会被执行,从而达到恶意攻击者的特殊目的。
- 跨站点伪造请求(CSRF:cross site request forgery):通过伪造链接请求在用户不知情的情况下,让用户以自己的身份来完成攻击者需要达到的一些目的。
- cookie劫持:通过获取页面的权限,在页面中写一个简单的恶意站点的请求,并携带用户的cookie获取cookie后通过cookie就可以直接以被盗用用户的身份登录站点。
四、网页运行原理
网页是运行在浏览器上的,浏览器是一个软件,这个软件可以解析HTML以及一些脚本(JS),还有样式(CSS)的描述,以便将其显示出来,仅此而已。
即(手动输入URL请求→浏览器发送URL请求→服务器接收请求并处理返回HTML→浏览器解析HTML展示页面)