SOCKET.IO最佳实践-代理篇 前言:在传统的轮询中,客户端定期向服务器发送请求,询问是否有新的数据可用。这会导致很多不必要的空请求,尤其是在没有新数据可用的时候。而且如果使用的是HTTP/1.0版本,每个请求/响应都需要打开一个新连接,考虑到连接的建立、关闭、TCP慢启动机制等因素,这是一个很大的开销。因此HTTP/1.1引入了2个头部:Connection头部和Upgrade头部,用于协议升级。 2024-04-12 #nginx #websocket #socket.io
openresty---lua调用c原理分析 openresty—lua调用c模块原理分析1、lua基础1、lua虚拟机lua是解释型语言,需要虚拟机对象。不同的lua虚拟机之间的工作是线程安全的,因为一切和虚拟机相关的内存操作都被关联到虚拟机对象中,而没有利用任何其它共享变量。lua的虚拟机核心部分,没有任何的系统调用,是一个纯粹的黑盒子,正确的使用lua,不会对系统造成任何干扰。这其中最关键的一点是,lua让用户自行定义内存管理器,在创建 2024-04-12 #lua虚拟机 #global_State #lua_State #元表 #协程
nginx的reuseport特性分析 1、问题现象1.1、性能断崖问题在业务性能测试过程中,发现了一个异常现象:整个压测过程中会出现性能断崖。正常情况下 TPS 维持在 2.8 万左右,但会突然降至 1500 左右,随后立即恢复,但只能恢复到 2.2 万,性能损耗约 20%。 测试架构: 测试环境配置如下: 1234567机器:海光麒麟 v10 SP4 x86性能指标:128 核 CPU,512G 内存Nginx 配置:16 个 w 2024-04-12 #nginx #reuseport #linux内核 #SO_REUSEPORT
Cookie属性之secure、httponly 前言Cookie 是一种用于在 Web 浏览器和 Web 服务器之间传递信息的机制,具有多种属性。经常会有安全测试不了解 Cookie 的属性,而认为某个属性是漏洞,最常见的就是 secure,作者就见过很几次漏洞报告,认为 HTTP 协议下,Cookie 的 secure 为 false 是一个安全漏洞,这其实是测试没有理解 secure 的真正作用。那么阅读本文你将得到以下几个问题的答案 1、 2024-04-12 #http #Cookie