2020年2月

点击Preferences-Settings,然后在User配置中添加段:

{
    "ignored_packages": []
}

默认的值是:

"ignored_packages": ["Vintage"]

去掉Vintage保存就可以使用vim了。

一、问题描述

在HTTPS连接被中间人代理后(一般出现在公共场所,例如公共WIFI或者需要ssl解密的场景),第一次访问网站会弹出HSTS错误:

HSTS是一个很简单的访问安全策略,通过在HTTP头部中增加字段告诉客户端HTTPS连接的相关信息,客户端(浏览器)通过这些信息校验连接是否可信。

因此,出现这个错误的原因是因为服务端的HTTPS证书被劫持了、而服务端又开启了HSTS策略导致的。完美的解决方案只有一种,就是避免网站被劫持。临时的解决方案可以通过修改浏览器配置来完成。

二、解决办法

在浏览器(chrome)输入:

chrome://net-internals/#hsts

拉到最下面,输入刚刚访问的网站域名,点击delete

一、HTTP1.0和HTTP1.1

HTTP1.0和1.1的主要区别为:

  1. 长连接:HTTP1.0默认是短连接,HTTP1.1默认使用长连接。
  2. 断点续传:HTTP1.1支持断点续传,可以通过 Range头部指定需的资源数据部分。
  3. 添加Host头部:HTTP1.1中为了解决虚拟主机的使用场景,通过Host字段来指定访问某个特定web服务。
  4. 状态码:HTTP1.1添加了更多的状态码,如100等。

二、HTTP1.1和HTTP2.0

HTTP2.0相对于1.1来说跨了一个大版本,相应的改动也是非常大的。它的主要目标是提高HTTP协议的传输效率,不过主要都是基于数据传输上的改动,HTTP协议本身并没有修改太多。关于HTTP2.0的相关信息可以参考HTTP/2简介

HTTP2.0和HTTP1.1的主要区别为:

  1. HTTP1.1通过ascii码传输数据,而HTTP2.0通过二进制帧来传输。
  2. HTTP2.0默认使用长连接,并且每个来源只有一个连接。
  3. HTTP2.0压缩了HTTP头部,优化头部传输机制,大幅减少http传输空间。
  4. HTTP2.0原生支持服务端推送。

来源:Latency Numbers Every Programmer Should Know

图片版:

文字版:

Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference                           0.5 ns
Branch mispredict                            5   ns
L2 cache reference                           7   ns                      14x L1 cache
Mutex lock/unlock                           25   ns
Main memory reference                      100   ns                      20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy             3,000   ns        3 us
Send 1K bytes over 1 Gbps network       10,000   ns       10 us
Read 4K randomly from SSD*             150,000   ns      150 us          ~1GB/sec SSD
Read 1 MB sequentially from memory     250,000   ns      250 us
Round trip within same datacenter      500,000   ns      500 us
Read 1 MB sequentially from SSD*     1,000,000   ns    1,000 us    1 ms  ~1GB/sec SSD, 4X memory
Disk seek                           10,000,000   ns   10,000 us   10 ms  20x datacenter roundtrip
Read 1 MB sequentially from disk    20,000,000   ns   20,000 us   20 ms  80x memory, 20X SSD
Send packet CA->Netherlands->CA    150,000,000   ns  150,000 us  150 ms

Notes
-----
1 ns = 10^-9 seconds
1 us = 10^-6 seconds = 1,000 ns
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns

中文整理版:

操作耗时备注
CPU一级缓存寻址0.5纳秒
CPU二级缓存寻址7纳秒
互斥锁25纳秒
内存寻址100纳秒
使用zippy压缩1k文件3000纳秒(3微秒)
在1Gbps的网络中发送1k数据10000纳秒(10微秒)
从ssd中随机读取4KB数据150000纳秒(150微秒)SSD速率:1GB/s
从内存中顺序读取1MB250000纳秒(250微秒)
同一数据中心往返耗时500000纳秒(500微秒)
从ssd中随机读取1MB数据1000000纳秒(1000微秒,1毫秒)SSD速率:1GB/s
磁盘寻址10000000纳秒(10000微秒,10毫秒)约等于20次数据中心往返
从磁盘中顺序读取1MB数据20000000纳秒(20000微秒,20毫秒)

备注:1秒=$10^3$毫秒=$10^6$微秒=$10^9$纳秒。