摘要:
FLV(Flash Video)是一种流媒体格式,因其体积小、协议相对简单,很快便流行开来,并得到广泛的支持。常见的HTTP-FLV直播协议,就是使用HTTP流式传输通过FLV封装的音视频数据。对想要了解HTTP-FLV的同学来说,了解FLV协议很有必要。 阅读全文
摘要:
WebRTC同时支持传输音视频数据、自定义应用数据。这其中,涉及多种协议,包括UDP、RTP/SRTP、RTCP/SRTCP、DTLS、SCTP。这些协议名字比较相似,很容易让人混淆,下面就简单介绍下,这些协议是做什么的,有什么区别,存在什么联系。 阅读全文
摘要:
WebSocket的出现,使得浏览器具备了实时双向通信的能力。本文由浅入深,介绍了WebSocket如何建立连接、交换数据的细节,以及数据帧的格式。此外,还简要介绍了针对WebSocket的安全攻击,以及协议是如何抵御类似攻击的。 阅读全文
摘要:
在信息安全重要性日益凸显的今天,作为一名开发者,需要加强对安全的认识,并通过技术手段增强服务的安全性。
crypto模块是nodejs的核心模块之一,它提供了安全相关的功能,如摘要运算、加密、电子签名等。很多初学者对着长长的API列表,不知如何上手,因此它背后涉及了大量安全领域的知识。
本文重点讲解API背后的理论知识,主要包括如下内容:摘要、对称加密、非对称加密、电子签名等。 阅读全文
摘要:
作为一个互联网前端老鸟,这么些年下来,做过的项目也不少。从最初的`我的QQ中心`、`QQ圈子`,到后面的`QQ群项目`、`腾讯课堂`。从几个人的项目,到近百号人的项目都经历过。
这期间,实现了很多的产品需求,也积累了一些经验。这里稍作总结,希望能给新入行的前端小伙伴们一些参考。 阅读全文
摘要:
为什么需要https HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。 举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。 用户登陆 代理服务器(做手脚) 阅读全文
摘要:
note:本文主要参考了Stoyan Stefanov的文章《When is a stylesheet really loaded?》 在之前的文章《CSS文件动态加载》中,我们提到了在动态加载CSS文件的时候,如何检测加载是否完成。注意,这里的加载完成包含了两种情况: 1)加载成功 2)加载失败 ... 阅读全文
摘要:
前段时间研究了下JS动态加载和执行顺序依赖的东东,把LABJS的源码从头扒了下:LABJS浅析。对于JS加载执行以及下载监控这,项目组在这块做的东西不少,但对于CSS加载这块的质量监控,力度就小得多了。原因很简单:JS下载失败或出错,这个页面基本就废了。CSS下载失败,大部分情况下页面还是可用的,虽... 阅读全文
摘要:
本文主要内容归纳如下: 一、离线存储的作用; 二、如何实现离线存储; 三、applicationCache对象,及属性、事件、接口 四、访问缓存应用,相应触发事件,及其对应状态; 五、如何更新离线缓存 六、demo演示:update后是否调用swapCache的区别; 七、写在后面 一、离线存储的作 阅读全文
摘要:
最近经常回答团队小伙伴关于直播 & 短视频的问题,比如 “flv.js的实现原理”、“为什么设计同学给的mp4文件浏览器里播放不了、但本地可以正常播放”、“MP4兼容性很好,可不可以用来做直播” 等。
本文主要内容包括,什么是MP4、MP4文件的基本结构、Box的基本结构、常见且重要的box介绍、普通MP4与fMP4的区别、如何通过代码解析MP4文件 等。 阅读全文
摘要:
在前面的章节中,已经对WebRTC相关的重要知识点进行了介绍,包括涉及的网络协议、会话描述协议、如何进行网络穿透等,剩下的就是WebRTC的API了。相关API太多,为避免篇幅过长,文中部分采用了伪代码进行讲解。详细代码例子可以在笔者的Github上找到,有问题欢迎留言交流。 阅读全文
摘要:
WebRTC主要在连接建立阶段用到SDP,连接双方通过信令服务交换会话信息,包括音视频编解码器(codec)、主机候选地址、网络传输协议等。下面先简单介绍下SDP的格式、常用属性,然后通过WebRTC连接建立过程生成的SDP实例进行进一步讲解。 阅读全文
摘要:
在Express的设计中,模板引擎属于核心模块之一,掌握、深入了解模板引擎,对于Express的学习、使用非常关键。本文通过例子,对Express的模板引擎进行深入浅出的介绍。 阅读全文
摘要:
想了解 2018 前端前沿技术和发展趋势?想挖掘前端更深远的价值?就在这个秋季,第七届 IMWebConf 大会重磅来袭,我们邀请您一起参加这场盛宴,与前端大神们一起碰撞技术的火花,寻找你心中关于技术的答案。 阅读全文
摘要:
笔者前年开始撰写的《Node.js学习笔记》 github star 数突破了1000,算是个里程碑吧。
从第一次提交到现在,1年半过去了。突然有些感慨,想要写点东西,谈谈这期间的收获、心路历程,以及如何学习Node.js。 阅读全文
摘要:
babel-preset-env是非常重要且常用的一个插件预设,掌握它的用法以及实现原理非常有必要。
本文主要内容包括:babel-preset-env是什么、入门实例、如何配置以支持特定版本的 node/浏览器、实现原理等。
本文所有例子可以在 笔者的github上 找到。 阅读全文
摘要:
主要包括:Babel如何进行转码、插件编写的入门基础、实例讲解如何编写插件。
阅读本文前,需要读者对Babel插件如何使用、配置有一定了解,可以参考笔者之前的文章。
本文所有例子可以在 笔者的github 找到,欢迎访问笔者博客获取更多相关文章。 阅读全文