Kiven

Results 5 comments of Kiven

## HTTP/0.9 已过时。只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST方法,因此客户端无法向服务器传递太多信息。 ## HTTP/1.0 这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。 ## HTTP/1.1 持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。 > HTTP/1.1相较于HTTP/1.0协议的区别主要体现在: 缓存处理 带宽优化及网络连接的使用 错误通知的管理 消息在网络中的发送 互联网地址的维护 安全性及完整性 ## HTTP/2 在 HTTP/2 的第一版草案(对 SPDY 协议的复刻)中,新增的性能改进不仅包括HTTP/1.1中已有的多路复用,修复队头阻塞问题,允许设置设定请求优先级,还包含了一个头部压缩算法(HPACK)[15][16]。此外, HTTP/2 采用了二进制而非明文来打包、传输客户端—服务器间的数据。[12] ### 帧、消息、流和TCP连接 有别于HTTP/1.1在连接中的明文请求,HTTP/2与SPDY一样,将一个TCP连接分为若干个流(Stream),每个流中可以传输若干消息(Message),每个消息由若干最小的二进制帧(Frame)组成。[12]这也是HTTP/1.1与HTTP/2最大的区别所在。 HTTP/2中,每个用户的操作行为被分配了一个流编号(stream...

``` const arr = str.match(/(\w)\1*/g); const maxLen = Math.max(...arr.map(s => s.length)); const result = arr.reduce((pre, curr) => { if (curr.length === maxLen) { pre[curr[0]] = curr.length; } return pre; },...

> > ``` > > const arr = str.match(/(\w)\1*/g); > > const maxLen = Math.max(...arr.map(s => s.length)); > > const result = arr.reduce((pre, curr) => { > > if (curr.length...

> > > > ``` > > > > const arr = str.match(/(\w)\1*/g); > > > > const maxLen = Math.max(...arr.map(s => s.length)); > > > > const result =...

``` Array(1000000).fill().map((v, i) => i).sort((a,b) => Math.random() - 0.5).splice(-100000) ```