SEO(搜索引擎优化)
作用 :提高网站的权重,增强搜索引擎的友好度,已达到使网页更好的让爬虫搜索到,提高自己的排名,以便让用户能快速的找到自己的网页。
提升SEO的方法
1、控制首页的链接数量(链接数量多)
2、让自己的网页深度在三层左右,过多不容易让爬虫找到
3、导航优化,多用文字导航,图片一定要加title和alt,还可以加面包屑以便浏览器和爬虫搜索,a链接也是
4、把重要的内容放在网页的前面,方便爬虫找到
5、合理运用h1~h6,还有strong和em标签
6、使用语义化标签。
7、合理使用title,description,keyword
前端性能优化
1、减少http请求,合理设置http缓存
2、使用css sprites
3、使用浏览器缓存,将重复使用的静态文件放进缓存减少http请求
4、使用图片懒加载
5、css放最上面,js放最下面
6、使用cdn,内容分发网路,加快用户访问速度,减轻服务器压力
7、使用压缩 gzip压缩,浏览速度变快,搜索引擎的蜘蛛抓取信息量也会增大
8、减少cookie传输,因为cookie会跟服务器交互
重排(回流)重绘
重排就是当页面元素的几何属性改变时引起的渲染树重新构建,要将重新构建的渲染树渲染到屏幕上的过程就叫重绘。
重排必然重绘,重绘不一定重排。
触发重排的条件:
1、添加或删除DOM元素
2、元素的位置或者尺寸发生改变
3、浏览器窗口大小发生改变
4、页面刚初始化的时候会触发
5、内容改变会触发
优化重排重绘的方法:
1、将多条需要改的DOM样式集中起来,用ClassName一次修改。
2、将dom用display:none 隐藏,然后修改再display:block显示
3、不要使用table布局,因为改一点都会引起重排重绘。(这也是为什么不用table的原因)
4、将offsetleft等属性缓存成局部变量。
从输入URL到页面加载的全过程
1、输入url,浏览器先从缓存中去寻找有没有这url,经过的缓存有浏览器缓存,系统缓存,路由器缓存,有就直接显示在页面上
2、没有就进行dns域名解析,将域名解析成ip地址
3、然后浏览器发向服务器发起tcp连接,这里就建立tcp三次握手。
4、握手成功,浏览器就像服务器发送HTTP请求,请求数据包
5、服务器收到请求,将处理后数据返回给浏览器。
6、断开tcp连接,完成四次挥手、
7、浏览器接受到数据开始解析,读取页面内容,浏览器渲染,解析html源码
8、生成Dom树,css规则树和s交互,页面呈现给用户。
状态码:
200:响应成功,301:永久重定向,400:客户端请求语法错误,401:请求未授权,
404 : 请求资源不存在 500:服务器内部错误 503服务不可用
src和href的区别:
src用于替换当前元素,指向外部资源的位置,资源会嵌入到当前标签的位置。
href指向网络资源的位置,建立当前锚点和文档链接之间的链接。
网站的重构的理解
在不改变外部行为的前提下,简化结构,添加可读性,使网站前端兼容于现代浏览器,让代码高内聚底耦合,压缩合并js、css,image等前端资源。
Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
doctype声明叫做文件类型定义,声明是为了告诉浏览器该文件的类型,让浏览器解析知道该用哪个规范来解析该文档,且必须声明在html的第一行。
标准模式是指,浏览器按 W3C 标准解析执行代码;怪异模式则是使用浏览器自己的方式解析执行代码,
严格模式DTD 叫标准模式,严格模式的排版和js运作模式是以浏览器支持的最高标准来运行
混杂模式叫怪异模式或者兼容模式,页面以向后兼容的方式显示,使老版本的浏览器也能得到支持。
doctype不存在或者格式不正确会导致文档以混杂模式呈现。
线程和进程的区别:
线程是程序执行最小单位, 进程是资源分配的最小单位
进程是由一个或多个线程组成的,程序是由一个或多个进程组成的。
线程是共享进程中的数据,使用相同的地址。进程有独立的地址空间。
线程占用资源少于进程
站内跳转和外部重定向的区别
1、站内跳转不会改变url,外部重定向会
2、重定向可以跳转到web应用以外的页面,而站内跳转不会。
3、站内跳转可以request传递数据,重定向不能。