python 中的 unicode是让人很困惑、比较难以理解的问题. 这篇文章 写的比较好,utf-8是 unicode的一种实现方式,unicode、gbk、gb2312是编码字符集. py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内 …

对于acceptCount这个参数,含义跟字面意思并不是特别一致(个人感觉),容易跟maxConnections,maxThreads等参数混淆;实际上这个参数在tomcat里会被映射成backlog: static { replacements.put("acceptCount", "backlo …
HTTP/2 头部压缩技术介绍HTTP/2 头部压缩技术介绍

我们知道,HTTP/2 协议由两个 RFC 组成:一个是 RFC 7540,描述了 HTTP/2 协议本身;一个是 RFC 7541,描述了 HTTP/2 协议中使用的头部压缩技术。本文将通过实际案例带领大家详细地认识 HTTP/2 头部压缩这门技术。 为什么要压缩 在 HTTP/1 中,HTTP …

两年前,我写过一篇介绍 Content Security Policy(CSP)的文章,CSP 是一个用来定义页面可以加载或执行哪些资源的协议,目前已经发展到了 Level 2(协议地址)。我在本站之前的文章中已经多次提到过 CSP2,这篇文章也早就躺在我的草稿箱,只是断断续续写了好久才写完。 CS …
使用 Wireshark 调试 HTTP/2 流量使用 Wireshark 调试 HTTP/2 流量

我们知道,HTTP/2 引入了二进制分帧层(Binary Framing),将每个请求和响应分割成为更小的帧,并对它们进行了二进制编码。与此同时,HTTP/2 沿用了之前 HTTP 版本中的绝大部分语义,上层应用基本上感知不到 HTTP/2 的存在,这一点可以通过浏览器的网络调试工具得到验证。以下是 …
使用 BoringSSL 优化 HTTPS 加密算法选择使用 BoringSSL 优化 HTTPS 加密算法选择

前不久,一位朋友在我博客评论中,问到:类似于 Google 那样电脑访问使用 AES,手机访问使用 CHACHA20 的算法是怎么实现的。最近我研究了一下这个问题,现在我的博客也支持这个特性了。今天抽空介绍一下我的实现步骤,供喜欢折腾的朋友们参考。 对称内容加密 我们知道,每个 TLS 会话都是在握 …
DevOps工具大全DevOps工具大全

包&产品管理 Chocolatey:Chocolatey是Windows下一款开源的命令行包管理软件 ,简单说这相当于Windows的apt-get; FPM:全称是Effing package management,他就是个软件包管理器,极大的缓解了多个平台构建软件包(deb,rpm,等) …

最近把PHP升级到了PHP 5.6.10(原来是5.4)导致了我的部分项目出现了乱码(出现乱码的项目,编码是GBK),本以为是Apache的配置问题,因为我的Apache设置了DefaultCharset,最后发现其实不是Apache的配置问题,而是PHP 5.6把默认的字符集设置成了UTF-8导致 …
Node.js与io.js那些事儿Node.js与io.js那些事儿

去年12月,多位重量级Node.js开发者不满Joyent对Node.js的管理,自立门户创建了io.js。io.js的发展速度非常快,先是于2015年1月份发布了1.0版本,并且很快就达到了2.0版本,社区非常活跃。而最近io.js社区又宣布,这两个项目将合并到Node基金会下,并暂时由“Node …