囧囧有神的专栏

高性能服务器 分布式 大数据 安全

TLS源码解析-golang

概述以golang 1.8.1版本为准。源码目录:src/crypto/tlsRECORD协议record类型const (   recordTypeChangeCipherSpec recordType = 20  // changecipherspec表明发送端已取得用以生成连接参数的足够信息...

2018-03-24 19:13:41

阅读数:399

评论数:0

动态调整TLS record size优化性能原理及实现

在ssl连接的不同阶段,通过动态调整TLS record size来优化性能,这种思路其实已经出来几年了(至少13年就有相关文章)。在google大神 ILYA GRIGORIK的书 中,可以看到有相关描述。相应的实现也不少,例如go1.7中增加了动态调整tls record size, 详情可见...

2017-03-24 16:33:45

阅读数:1277

评论数:0

理解HTTP/2流优先级(二)

流依赖和优先级也是HTTP/2的关键特性。设计流依赖和优先级基于以下认识:WEB应用的资源有重要性的区别,优先加载重要资源,可以尽快渲染页面,提升用户体验。HTTP/2中,一个源只有一个连接来实现多路复用,所有资源通过一个连接传输,这时候资源传输的顺序就更重要了。 要使用HTTP/2流依赖和优先级...

2017-03-21 20:07:20

阅读数:1702

评论数:0

理解HTTP/2流量控制(一)

在理解HTTP/2协议流量控制部分的过程中,容易被一些问题困惑。HTTP/2构建于tcp之上,tcp协议已经提供了流量控制机制,为什么HTTP/2还要自己实现一个?HTTP/2流量控制是什么原理,怎样才能发挥它的最大价值?  本文将从协议、源码、实验中来找到问题的答案。

2017-03-06 03:10:34

阅读数:2594

评论数:0

RPM打包与SPEC文件

制作RPM软件包并不是一件复杂的工作,其中的关键在于编写SPEC软件包描述文件。要想制作一个rpm软件包就必须写一个软件包描述文件(SPEC)。 这个文件中包含了软件包的诸多信息,如软件包的名字、版本、类别、说明摘要、创建时要执行什么指令、安装时要执行什么操作、以及软件包所要包含的文件列表 等等。...

2016-09-08 10:52:56

阅读数:2671

评论数:0

nginx源码分析之http解码实现

分析nginx是如何解析并且存储http请求的。对非法甚至恶意请求的识别能力和处理方式。可以发现nginx采用状态机来解析http协议,有一定容错能力,但并不全面

2015-04-02 17:52:22

阅读数:9123

评论数:3

linux 惊群问题

1. 结论 对于惊群的资料,网上特别多,良莠不齐,也不全面。看的时候,有的资料说,惊群已经解决了,有的资料说,惊群还没解决。。 哪个才是对的?!  一怒之下,在研究各种公开资料的基础上,特意查对了linux源码,总结了此文。希望对有需要的人略有帮助,希望各位大神轻拍,如有错漏,不吝指教,感激不尽。...

2015-01-31 22:29:11

阅读数:8535

评论数:3

nginx phase handler的原理和选择

nginx phase handler的原理和选择 PHASE HANDLER的种类 nginx在接收并解析完请求行,请求头之后,就会依次调用各个phase handler。 phase handler是完成nginx主要功能的阶段。 Nginx有如下11种phase,phase会依次执行。...

2014-08-25 10:58:46

阅读数:4371

评论数:0

一篇读书笔记

近日,长夜无聊,偶然观看了央视的《客从何处来》,从书屋中跑出来晒晒太阳的易中天先生跑到越南寻访他的十八世祖易先。易教授的这位祖宗参与了明朝对越侵略战争,并枉死于越南谅山。易教授高屋建瓴的评论道“黑格尔说悲剧就是善的冲突。就这场战争而言,越南方面追求独立、自由,完全是正义的;就易先来说,他身为大明王...

2014-08-09 03:53:36

阅读数:1199

评论数:0

ngx lua模块源码简单解析

对nginx lua模块的整个流程,原理简单解析。由于nginx lua模块相关配置,指令,API非常多,所以本文档只以content_by_lua指令举例说明。 读本文档最好配合读源码. 不适合对nginx和lua一点都不了解的人看。 1.相关配置 详细配置见 https://gith...

2014-07-11 11:45:10

阅读数:12315

评论数:0

cloudflare的新waf,用Lua实现的

我们使用nginx贯穿了我们的网络,做前线web服务,代理,流量过滤。在某些情况下,我们已经扩充了nginx上我们自己的模块的核心C代码,但最近我们做了一个重大举措,与nginx结合使用lua 几乎全部用lua写的我们的一个项目是新的cloudflare WAF。这个我们另有博客。​ht...

2014-07-03 10:41:10

阅读数:7568

评论数:0

nginx上传文件大小

采用nginx作反向代理,出现了一个诡异的问题,小文件可以提交,大文件会报500内部错误。这个是什么原因导致的呢?     查wiki可知,上传文件大小相关的有三个配置 client_body_buffer_size 配置请求体缓存区大小, 不配的话, client_body_temp_...

2014-03-03 18:03:34

阅读数:13826

评论数:1

nginx超时设置

nginx常用的超时配置说明 client_header_timeout 语法 client_header_timeout time 默认值 60s 上下文 http server 说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一...

2014-01-13 19:07:56

阅读数:141239

评论数:2

跳表的python实现

跳表的性能和红黑树 AVL差不多,但是结构相当简单。 只需要简单操作链表,就能很容易实现跳表。 参考如下文章,自己用python实现了一个跳表的例程 http://blog.sina.com.cn/s/blog_72995dcc01017w1t.html ## # E...

2014-01-10 11:56:40

阅读数:2554

评论数:0

SPDY简介

SPDY简介   SPDY是Google开发的基于传输控制协议(TCP)的应用层协议 。SPDY旨在缩短网页的加载时间和提高安全性。Google最早是在Chromium中提出的SPDY协议。 本文主要了解SPDY的基本概念,以及如何编译一个含有SPDY的nginx HTTP协议存性能上的一些问...

2014-01-07 10:41:26

阅读数:3050

评论数:0

graphviz画图之张柏芝前夫是谢霆锋

张柏芝前夫是谢霆锋,谢霆锋前女友是王菲,王菲老公是李亚鹏,李亚鹏前女友叫瞿颖,瞿颖现男友是张亚东,朴树有个前女友叫周迅,周迅有个前男友叫李亚鹏,王菲前夫是窦唯,窦唯有个堂弟叫窦鹏,窦鹏有个前女友叫周迅,窦鹏堂姐是窦颖,窦颖前夫是张亚东,张亚东现女友是瞿颖,瞿颖前男友叫李亚鹏 请问张柏芝和李亚鹏什...

2014-01-03 18:05:14

阅读数:3118

评论数:0

nginx内存池实现原理

Nginx以高效,节省内存著称。到底如何高效,如何节省内存,这个得真正了解其设计原理才能知道,分析源码是了解其原理最直接的方法。Nginx对非常多的基础设施(红黑树 内存池 连接池 hash表)都重复造了轮子,我们来看看为什么要这么做。     对于c系统,最难的常常是内存管理,随着系统复杂度的...

2014-01-03 17:29:44

阅读数:6969

评论数:0

nginx连接池实现

nginx作为一款优秀的高性能web server,在大型互联网公司已经占据了很重要的份额。根据分析它的源代码,及在网上查询相关资料,分析了nginx的连接池的实现。nginx的连接池实际上可以看做是一种会话管理,并没有真正实现连接的重用。代码实现的还是非常漂亮,值得学习。 1. 配置 work...

2013-12-28 19:37:30

阅读数:10150

评论数:1

nginx静态编译lua[jit]

原淘宝工程师清无(王晓哲)和春来(章亦春)开发的lua nginx模块非常强大。现在网上的安装方法主要都是动态编译lua的,但是总有种种原因动态编译有诸多不便,这时候就需要将luajit静态编译进nginx里 第一种方法就是直接使用 openresty,并利用openresty提供的方式...

2013-12-24 15:51:20

阅读数:4247

评论数:0

从http协议看百度360大战

前段时间甚嚣尘上的3B大战,慢慢退出人们的视线,但是两家公司的战争才刚刚开始,一家是资金技术实力雄厚的搜索引擎巨头,一家是携客户端之威,行事诡谲的数字公司。谁会取得最后的胜利?我们在看热闹之外,也来学习一下云端和客户端是如何通过HTTP协议过招的。 360以客户端见长,360安全卫士,以安全为名...

2012-10-08 02:48:45

阅读数:4767

评论数:3

提示
确定要删除当前文章?
取消 删除
关闭
关闭