http+ 性能优化

84 阅读2分钟

http

先聊聊工作中用到的http的知识

get 和 post 的区别

请求参数:
get请求参数放在url,post请求参数放在body(不成文的规定)
get比post更不安全,get请求参数放在url里面是有长度限制的的(瞎扯)
body也是有长度限制的 (414请求长度过长)

tcp数据包:
get产生一个数据包,post产生两个数据包

其实get和post存在理论区别和实践区别
理论区别(根本区别):仅仅是语义区别(get是读,post是写)
实践区别:瞎扯,回答上面的,正确的是:get打开的页面刷新是无害,而POST会再次提交请求,get结果能被缓存,Post打开的页面不能被收藏到书签

http 缓存

http 1.1 :
强缓存:
cache-control:max-age=3600 (单位是秒)
Etag:ABC(特征值)
协商缓存(内容缓存)
if-nome-match:ABC
响应状态码:304或者200

http1.0:
强缓存:
Expires: web, 21 oct 2015 02:20:00 GMT
Last-Modified:Web,web, 21 oct 2015 02:20:00 GMT
协商缓存:
if-Modified-Simce:wed
响应状态码:304或200

http 和 https 的区别

  1. http是明文传输的,不安全,https是加密传输的,非常安全
  2. http的端口是80,https使用的端口是443
    3.http较快,https较慢
    4.https的证书一般需要购买(但也有免费的),http不需要证书

性能优化

性能优化的原则:多使用内存,缓存或其它方法,减少cpu计算量,减少网络加载耗时
适合所有编程的性能优化 --- 空间换时间
从何入手:
让加载更快,让渲染更快
让加载更快:
1.减少资源的体积,压缩代码
2.减少访问服务器的次数,合并代码,SSR服务器渲染,缓存
3.使用更快的网络,如CDN
让渲染更快:
1.css放在head,js放在body下面
2.尽早的执行js,用DOMContentLoaded触发
3.懒加载(图片懒加载,上滑加载更多等)
4.多DOM查询进行缓存
5.频繁DOM操作,合并到一起插入DOM结构
6.防抖(debounce)和节流(throttle)