当我们使用 sendfile 指令的时候,也就是零拷贝技术,不经过用户态内存,这里就是不经过 Nginx 直接发给用户,同时也用了 gzip 模块的时候,gzip是必须在 copy_filter 模块之后的,因为 gzip 必须对内存中的数据做压缩,这时 copy_filter 就会让 sendfile 指令失效。有些模块不需要对内存中的数据进行处理,就需要在 copy...
web服务器可以用来表示web服务器的软件,也可以表示提供web页面的特定设备或机器。这边主要是指通用软件web服务器,如apache或nginx。 《http权威指南》中有一份用perl脚本写的web服务器的源码,实现了最简单的收发客户端报文的功能。 当然,实际的web服务器比这要复杂的多,核心步骤整理如下: 1)接受一个客户端(浏览器)...
Java技术体系下看点Spring Boot/Cloud;理解缓存Redis,队列Rabbitmq/kafka,索引ElasticSearch;会调Nginx负载均衡;能把Mysql数据库分库分表一致性讲明白;再看点容器编排Docker/K8S就是当下最时髦的互联网架构师。实在不行吹点Netty高性能网络和JVM调优保准面试通过。我一天互联网码农都没正儿八经干过,就懂点上面这些也能...
当我们使用 sendfile 指令的时候,也就是零拷贝技术,不经过用户态内存,这里就是不经过 Nginx 直接发给用户,同时也用了 gzip 模块的时候,gzip 是必须在 copy_filter 模块之后的,因为 gzip 必须对内存中的数据做压缩,这时 copy_filter 就会让 sendfile 指令失效。有些模块不需要对内存中的数据进行处理,就需要在 co...
用来构造最终发送给用户的响应头部,可能会添加一些 Server,Nginx 版本号等内容。 write_filter:发送响应 用来实际调用操作系统的 write 或 send 等系统调用,来把响应实际发送出去。 介绍完了过滤模块的功能以及所处的阶段,下面来具体看两个模块。 sub 模块 ...
用来构造最终发送给用户的响应头部,可能会添加一些 Server,Nginx 版本号等内容。 write_filter:发送响应 用来实际调用操作系统的 write 或 send 等系统调用,来把响应实际发送出去。 介绍完了过滤模块的功能以及所处的阶段,下面来具体看两个模块。 sub 模块 ...
header_filter:构造响应头部 用来构造最终发送给用户的响应头部,可能会添加一些 Server,Nginx 版本号等内容。 write_filter:发送响应 用来实际调用操作系统的 write 或 send 等系统调用,来把响应实际发送出去。 介绍完了过滤模块的功能以及所处的阶段,下面来具体看两个模块。