前置阅读:网络-12 HTTP 报文、方法与状态码 HTTP 是无状态的——服务端不会记住上一个请求是谁发的。但真实业务需要"登录状态"这种
1. HTTP/0.9 HTTP/0.9 虽然简单,但是它充分验证了 Web 服务的可行性」 首先它只有一个命令GET。 它没有HEADER等描述数据的信息。因为这个时候的请求非常简单,它
1. 为什么要有https http是明文,容易被监听拦截。 加密呗,用对称加密,秘钥传输的时候明文传输,会被监听拦截。 可以使用非对称加密,但是非对
TLS 1.3 于 2018 年 8 月由 RFC 8446 定稿,是 TLS 十年来最大的一次改动。它不是在 1.2 上加功能,而是做了一次相当激进的删减——把历史包袱里所有不安全的选项直接从协议
前置阅读:HTTP 中的 HTTP/2 部分、TLS 1.3。 1. 为什么需要 HTTP/3 HTTP/2 用"流 + 帧"解决了 HTTP 层的队头阻塞,但留下了一个它无力解决的问
前置阅读:网络-15 HTTP 版本演进 1. 单工、半双工、全双工 先厘清三个基础术语,后面反复要用: 单工:信息只能单向传送。如广播、遥控器。 半双工:能双向
前置阅读:网络-07 TCP 连接管理 本文讲 Socket 这套 API 本身,以及它和 TCP 状态机的对应关系。五种 IO 模型与 select/poll/epoll 的细节见 Linux IO,本文不重复,只讲它们和网络编程的
前置阅读:网络-07 TCP 连接管理、网络-08 TCP 可靠传输 前面所有篇章讲的都是"协议应该怎么工作"。这一篇讲怎么亲眼看到它在工
这是系列的最后一篇,也是最实用的一篇。前面各篇讲原理,这里按症状索引——线上出问题时从这里开始查。 配套阅读:网络-10 TCP 实战调优、网络-21
前置阅读:网络-10 TCP 实战调优、网络-12 HTTP 报文、网络-20 Socket 与 IO 模型 Go 的 net/http 把 Socket、连接池、HTTP 编解码和 TLS 都封装好了,但“能发出
cicd工作原理 gitlab-runner 使用流程 安装gitlab服务器 安装gitlab-runner 注册gitlab-runner,在这个步骤中,我们要知道执行器
UUID UUID是由一组32位数的16进制数字所构成,所以UUID理论上的总数为16^32=2^128。 以连字号分为五段,形式为8-4-4-4-1
配置文件 一份标准配置文件应该包含 version、services、networks 三大部分,其中最关键的就是 services 和 networks 两个部分。 version: '2' services: web: image: dockercloud/hello-world ports: -
平衡二叉树 平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构。 特点 非叶子节点只能允许最多两个子节点存在。 每一个非叶子节点数据分
安装启动 elasticsearch需要依赖jdk elastic默认是9200端口 ctrl+c elastic就会停止 默认情况下,Elastic 只允许本机
es mysql同步 go-mysql-elasticsearch是用于同步mysql数据到ES集群的一个开源工具。 go-mysql-elasti
普通hash 假如现在需要向4个redis存取图片,以图片的名字为key,value为图片实际存放的路径,我们可以取到key的hash值,然后
认证鉴权 HTTP协议是无状态的和Connection: keep-alive的区别: 无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端
排序 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlog