一个HTTP,打趴80%面试者! HTTP是一个在计算机世界里专门在两点之间传输文字.图片.音频.视频等超文本数据的约定和规范.如果你不懂HTTP协议,那就相当于是个只有半桶水的程序员. 在这个专栏中,Chrono会带你拨开HTTP纷繁复杂的表象,带你重新梳理出简洁明了的知识框架,新手可以由浅入深.系统学习,老手可以温故知新.查漏补缺.花最少的时间,用最少的精力,掌握最多.最全面.最系统的HTTP相关知识. 罗剑锋,网名Chrono.奇虎360技术专家,Nginx开源项目贡献者,专注于C/C++…
前提 最近在看Netty相关的资料,刚好SOFA-BOLT是一个比较成熟的Netty自定义协议栈实现,于是决定研读SOFA-BOLT的源码,详细分析其协议的组成,简单分析其客户端和服务端的源码实现. 吐槽一下:SOFA-BOLT的代码缩进和FastJson类似,变量名称强制对齐,对于一般开发者来说看着源码会有不适感 当前阅读的源码是2021-08左右的SOFA-BOLT仓库的master分支源码. SOFA-BOLT简单介绍 SOFA-BOLT是蚂蚁金融服务集团开发的一套基于Netty实现的网络…
Git 的访问可以采用 HTTP 或 SSH 协议安全的访问,通常我们使用 gitlib 进行 Web 管理,但是在 Linux 命令行开发环境下,基本都是使用 SSH 协议,只需要在 gitlib 里面配置好相应的 SSH Key 就可以. 由于现在开发环境的特殊情况,我们需要在 Linux 命令行开发环境下,不能使用 SSH 方式,而只能使用 HTTP 协议进行安全访问,并且需要对开发者进行认证,并且开发者在本地开发环境中的用户名和密码需要加密存储. 接下来我就简单介绍我们的开发团队是如何在…
rabbitMQ是一种高性能的消息队列,支持或者说它实现了AMQP协议(advanced message queue protocol高级消息队列协议). 下面简单讲一讲一个小例子.我们首先要部署好rabbitMQ,然后实现一个生产者—消费者,生产者向rabbit中发布一个消息,消费者去rabbit取这个消息,在正确收到这个消息后,消费者会通过返回队列回写通知生产者自己收到了消息. windows下部署rabbit非常简单,先安装erlang运行时,然后安装rabbitMQ安装文件即可,都是ex…
看到题目,大家是不是认为根据上一篇(两万字长文50+张趣图带你领悟网络编程的内功心法)一样,其实不然,我们上一边介绍的是网络编程的基本功,有了这些基本功之后,我们就可以在此之上构建更加接近实际应用的web程序了.为了快速展示他们的层次关系,我用几本书叠了起来进行说明,顺便给大家推荐这几本基本算是这些领域比较权威的书籍.如下图,由下往上看: TCP/IP构成了网络编程的基础设施: Socket套接字编程为应用层提供了访问TCP/IP协议栈的接口: 在应用层上面,指定了面向Web编程的HTTP协议:…
为什么有 HTTPS?因为 HTTP 不安全! 现在的互联网已经不再是 "田园时代","黑暗森林" 已经到来.上网的记录会被轻易截获,网站是否真实也无法验证,黑客可以伪装成银行网站,盗取真实姓名.密码.银行卡等敏感信息,威胁人身安全和财产安全. 上网的时候必须步步为营.处处小心,否则就会被不知道埋伏在哪里的黑客所"猎杀". HTTPS 如何实现安全通信?如何构建出固若金汤的网络城堡?主要涉及的知识点如下: 了解什么是 HTTPS 什么样的才是安全…
赤龙ERP协议与订单进阶讲解--第27篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redragon/redragon-erp GitHub:https://github.com/redragon1985/redragon-erp 说流程 之前章节说过订单,其实订单不等于合同,但又类似于一种或狭义或广义的合同.说它广义是因为ERP中的订单不受限于合同,即不是只有签署了合同才会创建订单:说它狭义是…
在 深入浅出:HTTP/2 一文中详细介绍了 HTTP/2 新的特性,比如头部压缩.二进制分帧.虚拟的"流"与多路复用,性能方面比 HTTP/1 有了很大的提升.与所有性能优化过程一样,去掉一个性能瓶颈,又会带来新的瓶颈.对HTTP 2.0而言,TCP 很可能就是下一个性能瓶颈.这也是为什么服务器端TCP配置对HTTP 2.0至关重要的一个原因." TCP 的限制 HTTP/3功能的核心是围绕着底层的QUIC协议来实现的.在讨论QUIC和UDP之前,我们有必要先列出TCP的某…
作者:HDT3213 今天给大家带来的开源项目是 Godis:一个用 Go 语言实现的 Redis 服务器.支持: 5 种数据结构(string.list.hash.set.sortedset) 自动过期(TTL) 发布订阅.地理位置.持久化等功能 你或许不需要自己实现 Redis 服务,但你是否厌烦了每天都是写增删改查的业务代码,想提高编程水平试图从零写个项目打开 IDE 却发现无从下手? 动手造轮子一定是提高编程能力的好办法,下面就带大家用 Go 从头开始写一个 Redis 服务器(Godi…
“可视化”是网络安全领域的前沿技术与可靠保障.笔者所在的西电捷通是一家领先的网络安全基础技术国际研究机构.一直从事网络安全基础技术研发与技术转移.笔者在2011年底入职典型技术之上的西电捷通公司,那时公司已经组建了一个神秘而“低调”的团队,2013年团队正式更名为网络安全可视化团队,笔者亦有幸成为了新团队的一员. 对于西电捷通而言,网络安全可视化团队的主要职责是网络安全对抗研究.网络安全协议技术的安全性分析.网络安全协议的设计缺陷验证,所要解决的问题.工作重心与其它企业的安全团队有着较大区别.…