上一篇我们简单的介绍了一下DoD模型和OSI模型,还着重的讲解了TCP的三次握手和四次挥手,让我们在空间层面,稍稍宏观的了解了HTTP所依赖的底层模型,那么这一篇,我们来追溯一下HTTP的历史,看一看HTTP在历史上经历了哪些发展和过程,才让这个协议一直经久不衰. 最开始,在20世纪60年代,也就是1950年到1960年之间,那时候我爹还没出生呢--但是美国国防部高等研究计划署(ARPA)建立了ARPA网,他有四个分布在各地的节点,被认为是互联网的始祖.信息时代的号角也在此刻吹响,人们即将迎来快…
时隔四年,这个系列鸽了四年,我终于觉得我可以按照自己的思路和想法把这个系列完整的表达出来了. 想起四年前,那时候还是2018年的六月份,那时候我还工作不到两年,那时候我翻译了RFC2616的部分内容,发布在了博客园上,并在翻译不久后想要开始整理并学习HTTP相关的知识内容,那时候我以为我可以了. 但是在第一篇<真正"搞"懂http协议01之背景故事发布>之后,我发现我对整个系列的内容分布完全无从下手.这期间我也发布了很多系列内容(其实就是抄抄书),但是一方面没有花时间去刻意…
    图中第一种请求方式,就是单次发送request请求,收到response后再进行下一次请求,显示是很低效的. 于是http1.1提出了管线化(pipelining)技术,就是如图中第二中请求方式,一次性发送多个request请求. 然而pipelining在接收response返回时,也必须依顺序接收,如果前一个请求遇到了阻塞,后面的请求即使已经处理完毕了,仍然需要等待阻塞的请求处理完毕.这种情况就如图中第三种,第一个请求阻塞后,后面的请求都需要等待,这也就是队头阻塞(Head of l…
去年读了<图解HTTP>.<图解TCP/IP>以及<图解网络硬件>但是读了之后并没有什么深刻的印象,只是有了一层模糊的脉络,刚好最近又接触了一些有关http的相关内容.所以,就打算把它写成一个系列,一方面可以让自己对http的理解更为深入.也可以为不懂不会http的同学在学习的路上先把荆棘剔除,以便学习的路更加的快速顺畅. http是前后端沟通的桥梁,无论是前端还是后端,都是极为重要的基础知识.大多数前端开发只关注页面布局好不好,css简不简洁,js的可读性可复用性是不…
RESP (REdis Serialization Protocal) Redis客户端和服务端之间通信的协议.它很简单,建立在TCP协议上,提供简单.高性能.可读性强的数据序列化的规范和语义. 5种数据模型 Simple Strings Errors Integers Bulk Strings Array Simple Strings Simple Strings用于服务端对一些客户端命令的响应 格式:"+"开头 "\r\n"结尾,中间内容不能含有'\r'或'\n…
1 队首阻塞 就是需要排队,队首的事情没有处理完的时候,后面的人都要等着. 2 http1.0的队首阻塞 对于同一个tcp连接,所有的http1.0请求放入队列中,只有前一个请求的响应收到了,然后才能发送下一个请求. 可见,http1.0的队首组塞发生在客户端. 3 http1.1的队首阻塞 对于同一个tcp连接,http1.1允许一次发送多个http1.1请求,也就是说,不必等前一个响应收到,就可以发送下一个请求,这样就解决了http1.0的客户端的队首阻塞.但是,http1.1规定,服务器端…
1 队首阻塞 就是需要排队,队首的事情没有处理完的时候,后面的人都要等着. 2 http1.0的队首阻塞 对于同一个tcp连接,所有的http1.0请求放入队列中,只有前一个请求的响应收到了,然后才能发送下一个请求. 可见,http1.0的队首组塞发生在客户端. 3 http1.1的队首阻塞 对于同一个tcp连接,http1.1允许一次发送多个http1.1请求,也就是说,不必等前一个响应收到,就可以发送下一个请求,这样就解决了http1.0的客户端的队首阻塞.但是,http1.1规定,服务器端…
搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要是根据ZAB协议是实现分布式系统数据一致性. zookeeper根据ZAB协议建立了主备模型完成zookeeper集群中数据的同步.这里所说的主备系统架构模型是指,在zookeeper集群中,只有一台leader负责处理外部客户端的事物请求(或写操作),然后leader服务器将客户端的写操作数据同步…
搞懂分布式技术2:分布式一致性协议与Paxos,Raft算法 2PC 由于BASE理论需要在一致性和可用性方面做出权衡,因此涌现了很多关于一致性的算法和协议.其中比较著名的有二阶提交协议(2 Phase Commitment Protocol),三阶提交协议(3 Phase Commitment Protocol)和Paxos算法. 本文要介绍的2PC协议,分为两个阶段提交一个事务.并通过协调者和各个参与者的配合,实现分布式一致性. 两个阶段事务提交协议,由协调者和参与者共同完成. 角色 XA概…
USB-C和Thunderbolt 3连接线你搞懂了吗? 2018年11月25日 07:30 6318 次阅读 稿源:威锋网 3 条评论 按照计算行业的风潮,USB Type-C 将会是下一代主流的接口.不过,在过去两年时间里,关于 USB-C.Thunderbolt 3.USB 3.1 以及任何基于 USB-C 转换器或连接线的功能,至今仍然存在十分混乱的情况,而且在苹果生态中亦是如此.那么,USB-C 接口的产品如何区分或选择呢?今天就来简单说说. 苹果首次引入 USB-C 接口是在旗下首款…