前端必须掌握的知识点

1.webstorm是IDE(集成开发环境),不是编辑器
编辑器:首推:VIM(windows上用的叫做GVIM),Brakets 可选:atom,sublime,phpStorm
webstorm>file>Power Save Mode如果被选择了,就会自动关闭webstorm的智能提示

2.查看本机的ip地址:cmd > ipconfig

3.一次完整的http通信过程:
建立Tcp连接 >>>>> web浏览器向web服务器发送请求 >>>>> web浏览器发送请求头信息 >>>> web服务器应答 >>>>> web服务器应答头信息>>>>> web服务器向浏览器发送数据 >>> web服务器关闭Tcp连接

4.CDN,CDS,DNS的区别:
CDN:内容分发网络
(将缓存服务器分布到用户访问相对集中的地区或网络,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求)
CDS:内容分发服务
(交易双发达成的,约定在未来一定期限内,信用保护买方按照约定的标准和方式向信用保护卖方支付信用保护费用, 由信用保护卖方就约定的一个或多个参考实体向信用保护买方提供信用风险保护的金融合约,属于一种合约类信用风险缓释工具)
DNS:域名服务器
(进行域名和与之对应的ip地址转换的服务器)

5.SEO不是一个工具,而是一种思想;全部异步,使用ajax对SEO不利

6.Nginx是一个高性能的HTTP和反向代理服务器

7.socket:是两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,socket本质是编程接口(API),
对TCP/IP的封装,Tcp/IP也要提供可供程序员做网络开发所用的接口,就是Socket编程接口。Socket提供了网络通信的能力

8.buffer:缓冲器是缓冲寄存器,分为输入缓冲器和输出缓冲器,输入缓冲器的作用是将外设(是指外部设备,指连在计算机主机以外的硬件设备,通常来讲是指鼠标、键盘、耳机、显示器、打印机等)
送来的数据暂时存放,以便处理器将它取走,输出缓冲器的作用是暂时存放处理器送往外设的数据。
有了数控缓冲器,可以使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。

9.同源策略:是浏览器最核心最基本的安全功能,浏览器只是针对同源策略的所一种实现,有支持Javascript的浏览器都会使用这个策略,
所谓同源指,协议,域名,端口相同(scheme+domain+port)=> origin
eg.url=”http://baidu.com:8080/pub/new”; origin=”http://baidu.com:8080”;
一段脚本只能读取来自于同一来源的窗口和文档的属性
浏览器百度Tab页执行一个脚本的时候会检查这个脚本是否同源,只有同源的脚本才会执行,否则在请求数据时,浏览器会在控制器台中报异常,提示拒绝访问

img的src,link的href,script的src这三个都不符合同源策略,他们可以跨域获取数据,
jsonp利用的是script的src不符合同源策略
jsonp优点是兼容性好,简单易用,支持浏览器与服务器双向通信。缺点是支持GET请求

10.web1.0,web2.0,web3.0对比分析:
web1.0:满足网民少部分的精神需求—–新闻阅读,资料下载等(仅能阅读,不能参与)
web2.0:增加了BBS\博客等互动的功能——-满足了网民更多的精神需求,双向互动(可以参与,没有法律监督)
web3.0:可以进行便于法律监督的精神交流,可以介入产业活动,网民不但要求有归属感,还要做主人(实现一种真正民主平等的状态,还获得拥有和自主的权利)

11.权重是搜索引擎给予一个网页的评估值,这个权重可以反映出网页的重要程度,权重越高,说明获得更多搜索引擎的信任和认可
网站权重有一个区间,即0到9,其中0表示最低,9最高。
权重不等于排名,但对排名有很多影响。权重的提高有利于内页的排名。PR(网页级别)是针对网页的评价,而不是网站的评价,即网站的每一页都有PR

12.按回车,浏览器刷新按钮,F5,Ctrl+F5的区别?
1.按回车:说明请求没有真正地提交到http服务器,被浏览器发现缓存中还有未过期的文件,直接把请求拦截了
2.按浏览器的刷新按钮,以及F5:说明浏览器再问一下服务器,请求的URL的内容有没有被修改过,如果没有修改,就返回304 not modified,浏览器收到后,依然从缓存中读取;如果被修改了,返回200 ok,并返回新的内容
3.按ctrl+f5:说明不要缓存中的文件了,强制刷新,直接到服务器上重新下载

13.webpack:可以看做是模块打包机,它主要分析项目结构,找到Javascript模块以及其他的一些浏览器不能直接运行的拓展语言,并将其打包为合适的格式以供浏览器使用
grunt/gulp:是一种能够优化前端的开发流程的工具,而webPack是一种模块化的解决方案

14.前后端分离:
前端负责view和Controller 后端:只负责Model层,业务处理/数据等
后台只需要提供API接口,前端调用AJAX实现数据呈现
//前后端分离个人的理解就是前端负责页面展现效果以及页面交互的部分,后端负责与数据库交互的部分
//前端在本地建json,调用本地的json嵌套到已经完成好的页面中去,后台只要修改json数据根式以及后面的修改就可以了

你可能感兴趣的:(前端必须掌握的知识点)