云顶娱乐集团

当前位置:云顶娱乐集团 > 云顶娱乐集团 > 【云顶娱乐集团】历史演化与Normalize,尾部压缩

【云顶娱乐集团】历史演化与Normalize,尾部压缩

来源:http://www.clubskodakaroq.com 作者:云顶娱乐集团 时间:2019-10-03 17:56

HTTP/2 底部压缩手艺介绍

2015/11/03 · HTML5 · HTTP/2

初稿出处: imququ(@屈光宇)   

我们领略,HTTP/2 左券由七个 猎豹CS6FC 组成:多少个是 RFC 7540,描述了 HTTP/2 协议本人;二个是 RFC 7541,描述了 HTTP/2 合同中使用的头顶压缩技巧。本文将经超过实际际案例指引大家详细地认知 HTTP/2 底部压缩那门技能。

canvas api

2016/01/11 · HTML5 · Canvas

原来的小讲出处: 韩子迟   

HTML5 — 让拖放变的流行起来

2015/12/29 · HTML5 · 4 评论 · 拖放

初稿出处: 韩子迟   

先上 Demo,尽量用 chrome,代码可仿照效法 【云顶娱乐集团】历史演化与Normalize,尾部压缩本事介绍。Github。

在 HTML5 现身在此以前,页面成分的拖放须要监听 mousedown、mouseover 以及 mouseup 等一八种事件,然后改变成分的相对地点来促成这一功效。HTML DnD(Drag-and-Drop)API 的面世,使得拖放变的轻松。可是由于 DnD 尚处在草案阶段,各浏览器对其标准并未有统一,某件事件在差异浏览器中会出现差别作用。

要动用 DnD,必要显然两件业务,一是内需拖动的成分,二是可停放拖动成分的岗位。拖放无非是将成分从贰个职责拖到另一个职责。

H5 缓存机制浅析,移动端 Web 加载质量优化

2015/12/14 · HTML5 · IndexedDB, 性能, 移动前端

本文小编: 伯乐在线 - 腾讯bugly 。未经我许可,幸免转载!
迎接参预伯乐在线 专栏撰稿人。

至于CSS Reset那三个事(1):历史衍生和变化与Normalize.css

2015/08/01 · CSS · CSS Reset, Normalize.css

原著出处: Alsiso   

何以要压缩

在 HTTP/1 中,HTTP 央浼和响应都以由「状态行、央浼 / 响应底部、音讯主体」三片段组成。平时来讲,新闻主体都会通过 gzip 压缩,或然本人传输的就是缩减过后的二进制文件(譬喻图片、音频),但气象行和底部却不曾经过任何压缩,直接以纯文本传输。

乘胜 Web 功能更是复杂,每一种页面产生的伸手数也尤为多,依照 HTTP Archive 的计算,当前平均每种页面都会时有发生许四个央浼。愈来愈多的央求导致消耗在头顶的流量越多,极其是每一回都要传输 UserAgent、Cookie 这类不会一再改变的源委,完全部都以一种浪费。

以下是自身顺手展开的三个页面包车型客车抓包结果。可以见到,传输头部的网络支付超过100kb,比 HTML 还多:

云顶娱乐网站 1

上边是个中叁个伸手的留心。能够看见,为了获得 58 字节的数码,在头顶传输上开销了一点倍的流量:

云顶娱乐网站 2

HTTP/1 时期,为了减小底部消耗的流量,有无数优化方案得以品味,比如合併央浼、启用 Cookie-Free 域名等等,不过那几个方案或多或少会引入一些新的题材,这里不张开探究。

着力骨骼


 

<canvas id="canvas" width=1000 height=1000 style="border: 1px black dotted"></canvas> <script> var ctx = document.getElementById('canvas').getContext('2d'); </script>

1
2
3
4
5
<canvas id="canvas" width=1000 height=1000 style="border: 1px black dotted"></canvas>
 
<script>
  var ctx = document.getElementById('canvas').getContext('2d');
</script>

Drag


首先大家须求钦点要拖动的成分,设置方式很简单,给该 DOM 成分设置 draggable 属性,属性值设置为 true。举个例子那样:

<code> <img src="images/0.jpg" draggable="true" id="img0"/> </code>

1
2
3
<code>
  <img src="images/0.jpg" draggable="true" id="img0"/>
</code>

实则,以上代码小题大作了,页面中的图片(img)、链接(带 href 的 a 标签)以及文本暗许即为可拖动。为了统一,最棒照旧都助长该 draggable 属性为好。

draggable 属性还会有多少个值,分别是 falseauto,从名称想到所蕴涵的意义,false 即设置为不可拖动,auto 即为浏览器暗中认可值。

当我们左键点击(按下)可拖动的 DOM 成分,轻轻移动,即触发 ondragstart 事件,该事件只会接触一遍。平时咱们会在 ondragstart 事件中著录正在被拖动的成分新闻(ondrop 的时候好对其举行拍卖)。比方 demo 中著录了正在被拖动的要素 id:

for (var i = lis.length; i--; ) { lis[i].ondragstart = function(e) { e.dataTransfer.setData('id', e.target.id); }; }

1
2
3
4
5
for (var i = lis.length; i--; ) {
  lis[i].ondragstart = function(e) {
    e.dataTransfer.setData('id', e.target.id);
  };
}

ondragstart 事件触发后,直到拖放事件甘休,会一向触发 ondrag 事件。

1 H5 缓存机制介绍

H5,即 HTML5,是新一代的 HTML 标准,加入过多新的特点。离线存款和储蓄(也可称之为缓存机制)是里面三个那一个重大的特色。H5 引进的离线存款和储蓄,那象征 web 应用可进展缓存,并可在并未有因特网连接时开展拜谒。

H5 应用程序缓存为运用带来五个优势:

  • 离线浏览 顾客可在选拔离线时使用它们
  • 进程 已缓存能源加载得越来越快
  • 缩减服务器负载 浏览器将只从服务器下载更新过或更改过的能源。

依据规范,到近来截至,H5 一共有6种缓存机制,某个是在此之前已有,有个别是 H5 才新参预的。

  1. 浏览器缓存机制
  2. 云顶娱乐网站 ,Dom Storgage(Web Storage)存款和储蓄机制
  3. Web SQL Database 存储机制
  4. Application Cache(AppCache)机制
  5. Indexed Database (IndexedDB)
  6. File System API

上边大家先是分析种种缓存机制的原理、用法及特点;然后针对 Anroid 移动端 Web 质量加载优化的供给,看假诺运用稳妥缓存机制来增长 Web 的加载品质。


前言

新近在阅读陈旧的野史材质,整理在此以前饱受纠纷的CSS Reset难点,可是好像十多年过去,未来我们集合了标准,纷繁推荐使用Normalize.css,蕴含Bootstrap都举行了放置使用,可知它的认同程度之高。

鉴于小说提到内容非常多,会分为类别小说

第一章
整治CSS Reset历史的嬗变印痕,从第一份CSS Reset的落地,到建议No CSS Reset的思考,再到进口CSS Reset 1.0不可一世的诞生;最后时移俗易,CSS Reset被Normalize.css所代替;
跟着起初认知Normalize.css,掌握它都做了这几个事情,诉说与CSS Reset的界别,卓越优势,告诉您干吗要动用它。

第二章
由于诺玛lize.css只提供了乌Crane语文档,未有提供相应的华语版本,所以从那章开首对其源码实行翻译整理与解读,本章饱含html与body,HTML5成分,链接,语义化文本标签,内嵌成分,群组成分等内容解读。

第三章,
云顶娱乐集团 ,承袭来介绍源码中的表单和表格部分,何况整理一份normalize-zh.css汉语注释的本子上传至Github,供我们参考使用,敬请期望

压缩后的功效

接下去自身将使用访谈本博客的抓包记录以来明 HTTP/2 尾部压缩带来的改换。怎样使用 Wireshark 对 HTTPS 网址进行抓包并解密,请看作者的那篇小说。本文使用的抓包文件,能够点那边下载。

第一直接上航海用图书馆。下图选中的 Stream 是第三次访谈本站,浏览器发出的央求头:

云顶娱乐网站 3

从图片中能够看出那几个 HEADE中华VS 流的长短是 206 个字节,而解码后的尾厅长度有 451 个字节。总来说之,压缩后的头顶大小收缩了大要上多。

只是这正是百分百啊?再上一张图。下图选中的 Stream 是点击本站链接后,浏览器发出的央求头:

云顶娱乐网站 4

能够见到那三回,HEADE传祺S 流的长短唯有 49 个字节,不过解码后的头顶长度却有 470 个字节。那一回,压缩后的尾部大小差不离唯有原本大小的 1/10。

为啥前后三次差别这么大呢?我们把五遍的尾部音讯实行,查看同一个字段四回传输所占领的字节数:

云顶娱乐网站 5

云顶娱乐网站 6

对照后得以发掘,第壹回的乞请底部之所以非常小,是因为当先二分之一键值对只占用了一个字节。非常是 UserAgent、Cookie 那样的尾部,第壹次呼吁中须要占用非常多字节,后续须求中都只需求七个字节。

矩形


实心:

// 填充色 (默以为米色) ctx.fillStyle = 'darkSlateBlue'; // 规定画布左上角坐标为 (0, 0) // 矩形左上角坐标 (0, 0) // 矩形大小 100*100 ctx.fillRect(0, 0, 100, 100);

1
2
3
4
5
6
7
// 填充色 (默认为黑色)
ctx.fillStyle = 'darkSlateBlue';
 
// 规定画布左上角坐标为 (0, 0)
// 矩形左上角坐标 (0, 0)
// 矩形大小 100*100
ctx.fillRect(0, 0, 100, 100);

空心:

// 边框颜色 (默许高粱红) ctx.strokeStyle = 'darkSlateBlue'; // 规定画布左上角坐标为 (0, 0) // 矩形左上角坐标 (0, 0) // 矩形大小 100*100 ctx.strokeRect(0, 0, 100, 100);

1
2
3
4
5
6
7
// 边框颜色 (默认黑色)
ctx.strokeStyle = 'darkSlateBlue';
 
// 规定画布左上角坐标为 (0, 0)
// 矩形左上角坐标 (0, 0)
// 矩形大小 100*100
ctx.strokeRect(0, 0, 100, 100);

Drop


帮忙大家要求明白被拖动成分可停放的岗位,ondragover 事件规定在哪个地方放置被拖动的多寡。
暗中认可地,相当小概将成分放置到别的因素中,假如急需设置允许放置,我们不可能不遏止对成分的默许管理格局:

var dus = document.querySelector('.dustbin'); dus.ondragover = function(e) { e.preventDefault(); };

1
2
3
4
5
var dus = document.querySelector('.dustbin');
 
dus.ondragover = function(e) {
  e.preventDefault();
};

当成分被拖动到某一元素上时,即会接触后面一个的 ondrop 事件,倘诺供给正确触发 ondrop 事件,还索要打消一些 DnD 事件的私下认可行为:

dus.ondrop = function(e) { // 调用 preventDefault() 来防止浏览器对数码的暗许管理(drop 事件的暗许行为是以链接格局张开) e.preventDefault(); e.stopPropagation(); // 宽容ff var id = e.dataTransfer.getData('id') , node = document.getElementById(id); node.parentNode.removeChild(node); };

1
2
3
4
5
6
7
8
9
10
dus.ondrop = function(e) {
  // 调用 preventDefault() 来避免浏览器对数据的默认处理(drop 事件的默认行为是以链接形式打开)
  e.preventDefault();
  e.stopPropagation(); // 兼容ff
 
  var id = e.dataTransfer.getData('id')
    , node = document.getElementById(id);
 
  node.parentNode.removeChild(node);
};

稍稍文献中说要撤回 ondragenter() 事件的暗中认可行为,楼主在实操中绝非发现这一点。

2 H5 缓存机制原理解析

CSS Reset 历史回想

本文由云顶娱乐集团发布于云顶娱乐集团,转载请注明出处:【云顶娱乐集团】历史演化与Normalize,尾部压缩

关键词: