D11 Pipeline: Overview
Drupal 11 Render Pipeline
How Drupal converts an HTTP request into a rendered response. Click the detail links on each phase to explore it in depth.
HTTP Request (Browser)
Phase ① — HTTP Foundation & Middleware
Symfony Middleware Stack
index.php → DrupalKernel::handle() → StackedHttpKernelMiddleware chain (PageCache, ReverseProxy, …) →
HttpKernel::handle()Phase ② — Routing & Controller Resolution
REQUEST Event → Route Match → Controller Execution
KernelEvents::REQUEST → Router → ControllerResolver → ArgumentResolver → controller calledController returns…
→ Response object
Symfony handles directly
Bypasses all Drupal rendering. Jumps straight to
KernelEvents::RESPONSE.→ Render array
Phase ③ — VIEW Event
MainContentViewSubscriber + Format Negotiation
KernelEvents::VIEW → MainContentViewSubscriber → negotiate format → pick rendererPhase ④ — HTML Renderer (HTML path)
HtmlRenderer::prepare() + renderResponse()
Page display variant →
hook_page_attachments → wrap in #type html → hook_page_top/bottomPhase ⑤ — Renderer & Theme System
Renderer → ThemeManager → Twig (+ SDC)
Cache check →
#pre_render → theme negotiation → Twig/SDC template → #post_render → cache writePhase ⑥ — Caching & BigPipe
Dynamic Page Cache + BigPipe Placeholder Streaming
Auto-placeholdering →
#lazy_builder callbacks → streamed chunks → HtmlResponseResponse Delivery
KernelEvents::RESPONSE → Send → kernel.terminate
KernelEvents::RESPONSE (response alter) → HttpKernel::handle() returns → KernelEvents::FINISH_REQUEST → kernel.terminate (async cleanup)HTTP Response (Browser)
Drupal 11 vs Drupal 8 — key differences
Core pipeline architecture is unchanged from D8, but D11 ships with Symfony 7, requires PHP 8.1+, includes BigPipe as a stable core module, adds Single Directory Components (SDC) to the theme layer (stable from 10.3 / D11), supports #lazy_builder_preview, and has removed all procedural remnants like drupal_render().
Phase legend
① HTTP Foundation & Middleware
② Routing & Controller
③ VIEW Event & Format Negotiation
④ HTML Renderer
⑤ Renderer & Theme System
⑥ Caching & BigPipe