写点什么

Nginx 处理 HTTP 请求需要经过哪 11 个阶段? | 极客时间

  • 2019-05-15
  • 本文字数:1013 字

    阅读完需:约 3 分钟

Nginx 处理 HTTP 请求需要经过哪 11 个阶段? | 极客时间

Nginx 为什么要把 HTTP 请求的处理过程分为多个阶段呢?


Nginx 的模块化设计使得每一个 HTTP 模块可以仅专注于完成一个独立的、简单的功能,而一个请求的完整处理过程可以使由无数个 HTTP 模块共同合作完成。这种设计有非常好的简单性、可测试性、可扩展性,然而,当多个 HTTP 模块流水式地处理同一个请求时,单一的处理顺序是无法满足灵活性需求的,每一个正在处理请求的 HTTP 模块很难灵活、有效地指定下一个 HTTP 处理模块是哪一个。而且,不划分处理阶段也会让 HTTP 请求的完整处理流程难以管理,每一个 HTTP 模块也很难正确地将自己插入到完整流程的合适位置中。


因此,HTTP 框架依据常见的处理流程将处理阶段划分为 11 个阶段,其中每个处理阶段都可以由任意多个 HTTP 模块流水式地处理请求。


那么,我们来看一看“Nginx处理HTTP请求需要经过哪 11 个阶段?

此节课程的用户评价

课程介绍

Nginx 很火,因为它就像一个万能药,在任何存在性能需求的场合总能找见它的身影。它可以轻松在百万并发连接下实现高吞吐量的 Web 服务,同时诸多应用场景下的问题都可以通过种种 Nginx 模块得以解决。


技术人员掌握 Nginx,便掌握了应对高并发以及海量数据处理的利器。而且,在学习 Nginx 的过程中,还能学习到许多优秀的设计思想,进一步提升我们的编码能力和架构设计能力,从而大大拓展我们的职业道路。


陶辉在极客时间开设的这门课程《Nginx核心知识100讲》,备受好评。由于他有着多年 Nginx 的定制化应用经验,对 Nginx 的设计与特性有深刻认识,还是《深入理解 Nginx:模块开发与架构解析》一书的作者,跟着他学 Nginx,必定让你少走弯路。


他可以帮你把关于 Nginx 的零零散散的知识点串成一条线,再将网络、操作系统、磁盘等知识与 Nginx 相关知识组成一个知识网,从而在工作中灵活运用这些知识和技能,通过 Nginx 最大化地利用好服务器的性能,搭建出更稳定的服务。

你将获得

1、基础知识详解及核心架构剖析


2、搭建支持百万高并发的 Nginx 服务


3、从内核优化到源码解读的全方位拆解


4、OpenResty + Nginx 开发实战


总而言之,要成为 Nginx 高手,你必须彻底明确 Nginx 的能力模型,了解 Nginx 的工作原理,清楚怎样使用 Nginx 搭建出定制化的 Web 服务器或者微服务集群的负载均衡服务,并理解什么样的 API 服务适合用 Nginx 编写,同时清楚如何在 linux 操作系统上优化 Nginx,使 Nginx 可以轻松应付百万并发连接。

Nginx 核心知识图谱


内容选自极客时间Nginx核心知识100讲专栏


2019-05-15 15:057435

评论

发布
暂无评论
发现更多内容

防火墙是什么?怎么理解?

行云管家

运维 网络安全 防火墙 堡垒机

创业公司COO:用宜搭落地管理思想,打破数据壁垒|《102个开发者故事》第五期

一只大光圈

低代码 数字化转型 企业管理 钉钉宜搭

Swift 在手淘商品评价的技术重构与实践

阿里巴巴终端技术

ios swift 移动开发 客户端

流式数据质量监控的技术调研及选型思考

字节跳动数据平台

sql 字节跳动 数据质量 流式数据 flik

Apache APISIX 社区双周报 | 功能亮点更新进行中

API7.ai 技术团队

开源 云原生 API网关 社区 Apache APISIX

金融云原生漫谈(三)|银行云原生基础设施构建:裸金属VS虚拟机

York

云原生 金融科技 新基建

Rainbond 对接 Istio 原理讲解和代码实现分析

北京好雨科技有限公司

Kubernetes istio PaaS rainbond

【MongoDB白皮书】DIRT和复杂性的高成本

MongoDB中文社区

mongodb

青藤:一招制敌!微隔离,让勒索软件不再横行

青藤云安全

静态代理模式——时间都去哪儿了

蝉沐风

设计模式 代理模式

推荐一款少见开源的支付类项目(Spring Boot+Shiro+MyBatis+Redis)

北游学Java

Java redis spring mybatis

为什么要避免在 Go 中使用 ioutil.ReadAll?

AlwaysBeta

Go 源码 io Go 语言

纯 MongoDB 实现中文全文搜索

MongoDB中文社区

mongodb

Flutter VS React Native,跨端方案大 PK

融云 RongCloud

flutter React Native Discord

金融云原生漫谈(一)|银行业如何快速提升应用研发效能和交付效率?

York

直播系统聊天技术(六):百万人在线的直播间实时聊天消息分发技术实践

JackJiang

消息推送 即时通讯 IM 直播技术 直播聊天室

肝了三个月Linux内核,面试薪资直接翻番,我才明白TA的重要性!

Yt

c++ Linux服务器开发 Linux内核 驱动开发

定了!皮皮APP助力电子竞技游戏师职业技能标准发布!

联营汇聚

金融云原生漫谈(二)|中小银行破局之道:云原生架构转型全攻略

York

金融云原生漫谈(四)|如何构建高可用、高并发、高性能的云原生容器网络?

York

云原生 金融科技 高性能网络

「死磕」传统工业软件路径不通 他们给自己造了把梯子

ToB行业头条

资讯|WebRTC M96 更新

网易云信

大数据 WebRTC 开发

常见的跨域场景

郑州埃文科技

数据库 IP 跨域

2021年度优质创作者评选名单公布!

InfoQ写作社区官方

热门活动

音视频开发:FFmpeg时间戳详解

赖猫

音视频 ffmpeg

java学习中cookie原理

编程江湖

java 编程

后端老司机的跨域之旅

勇哥java实战分享

后端 CORS

堡垒机和防火墙的区别是什么?能防删库跑路吗?

行云管家

运维 网络安全 防火墙 堡垒机

2022开篇之作,Docker与微服务实战教程

编程江湖

Git fork的学习笔记

Changing Lin

1月月更

恒源云(GPUSHARE)_云GPU服务器如何使用FinRL?

恒源云

算法 框架 PyTorch

Nginx 处理 HTTP 请求需要经过哪 11 个阶段? | 极客时间_大前端_陶辉_InfoQ精选文章