虽然网站优化在这个话题有点大,我只能从本身的一些理解分享一些本身对于网站优化的意见。
javascript
一:css
首先,咱们在优化网站以前咱们要搞清楚咱们的一个基本的上网流程。html
上网的过程无论多么复杂,我总结无非就是两端一线,客户端、服务器端、还有就是网络路由。java
客服端:web
一、当咱们在浏览器输入网址并回车后,若是你是第一次访问这个网址例如www.kscenery.com 。你的浏览器并不知道这个网站的IP,因此第一次请求时发向DNS服务器,进行DNS解析,那什么什么事DNS解析呢?编程
(脑补一下:DNS解析就是为了方便人们很好地记忆网址,而不是主机IP地址,将IP地址与域名之间一一对应起来,亲你访问了网址,实际上你的网址是经过了域名解析这个行为来找到的主机IP,so咱们上网首先要通过专门的DNS服务器来帮助你完成!)浏览器
二、DNS服务器查询到该网址对应的IP后,再给你发回,而后浏览器根据IP地址向www.kscenery.com 对应的web服务器发送请求。(客服端的第一步算完了,来看看服务器端)服务器
服务器端:网络
一、首先在服务器端有一个监听请求的东东,那是什么呢?是Socket!socket
{这个网上有脑补,我找了一些看你可否理解:他会根据socket.Accept()当即建立一个socket负责与发送请求的浏览器进行通讯,浏览器原本就是用socket与服务器通讯的,所以浏览也就是一个socket(说白了就是客服端与浏览器通讯用的。Socket接口是TCP/IP网络的API应用程存编程接口),由于监听请求的的socket占用一个线程,所以咱们也建立另外一个线程专门处理客户端浏览器的请求。},
负责监听请求的Sockets发现有请求到达,
二、若是发现请求的是静态页面,我么直接读取静态页面页面,并生成响应报文头(text/html),经过socket发回给浏览器;若是请求的是图片的话,生成响应报文头(image/jpeg),和图片内容一块儿发回给客户端,像css,js之类的都是基本同样的处理方式;
若是发送来的请求是动态页面,那服务器该怎么处理请求呢?他会先先处理网页的骨架和渲染,而后再html和css都加载完了才去处理js的行为。这也是为何咱们通常将script放在/body以后。在这期间浏览器会与服务器就行屡次的交互。也就是处理完毕后将处理完的结果交给socket,由socket 发回给浏览器。
二:
当咱们对这个流程有所了解后,就能够更好的理解一些优化的措施
一、固然首先想加快页面的加载,增长网速呀什么的也是灰常重要的,不过对于前段的童鞋来讲就不讨论了~~
二、仔细想一想,咱们想要冲前段的角度来加快页面,减小请求的发送,使浏览器与服务器减小没必要要的交互不失为一个好的办法。
(1)合并css文件、javascript文件
(2)图片能够用一张大图一次性上传,使用图片切割
(3)css中尽可能不使用通配符选择器(它会使重绘增多,加剧css渲染)
(4)实用工具将css、js中的文件压缩
(5)编码是增长js代码的耦合度,减小代码量
(6)图片也能够经过专业工具进行压缩,能用JPG不要用PNG
(7)在数据交互时减小304重定向的状况
ok!自我小小终结了一下下,要是有错请帮忙果断提出,