From 7319526de6b983e153151d64e19aec5f7199095b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 16 Sep 2013 23:51:09 +0200 Subject: Added a chapter about life of HTTP requests Reworked the table of contents also. --- guide/toc.md | 142 ++++++++++++++++++++++++++++------------------------------- 1 file changed, 68 insertions(+), 74 deletions(-) (limited to 'guide/toc.md') diff --git a/guide/toc.md b/guide/toc.md index f30a5bd..6543ca1 100644 --- a/guide/toc.md +++ b/guide/toc.md @@ -8,89 +8,83 @@ Introducing Cowboy ------------------ * [Introduction](introduction.md) - * Purpose - * Prerequisites - * Supported platforms - * Conventions * [The modern Web](modern_web.md) - * The prehistoric Web - * HTTP/1.1 - * REST - * Long-polling - * HTML5 - * EventSource - * Websocket - * SPDY - * HTTP/2.0 * [Erlang and the Web](erlang_web.md) - * The Web is concurrent - * The Web is soft real time - * The Web is asynchronous - * The Web is omnipresent - * Erlang is the ideal platform for the Web * [Erlang for beginners](erlang_beginners.md) * [Getting started](getting_started.md) -Using Cowboy ------------- +HTTP +---- + * [The life of a request](http_req_life.md) + * [Routing](routing.md) - * Purpose - * Structure - * Match syntax - * Constraints - * Compilation - * Live update - * [Handlers](handlers.md) - * Purpose - * Protocol upgrades - * Custom protocol upgrades - * [HTTP handlers](http_handlers.md) - * Purpose - * Usage - * [Loop handlers](loop_handlers.md) - * Purpose - * Usage - * [Websocket handlers](ws_handlers.md) - * Purpose - * Usage - * [REST handlers](rest_handlers.md) - * Purpose - * Usage - * Flow diagram - * Methods - * Callbacks - * Meta data - * Response headers + * [Handling plain HTTP requests](http_handlers.md) + * [The Req object](req.md) + * Reading the request body + * Sending a response + +Static files +------------ + * [Static handlers](static_handlers.md) - * Purpose - * Usage - * MIME type - * [Request object](req.md) - * Purpose - * Request - * Request body - * Multipart request body - * Response - * Chunked response - * Response preconfiguration - * Closing the connection - * Reducing the memory footprint + * Distributed CDN solutions + +REST +---- + + * REST principles + * Media types explained + * HTTP caching + * [Handling REST requests](rest_handlers.md) + * HEAD/GET requests flowchart + * POST/PUT/PATCH requests flowchart + * DELETE requests flowchart + * OPTIONS requests flowchart + * Designing a REST API + +Multipart +--------- + + * Understanding multipart + * Multipart requests + * Multipart responses + +Server push technologies +------------------------ + + * Push technologies + * [Using loop handlers for server push](loop_handlers.md) + * CORS + +Using Websocket +--------------- + + * The Websocket protocol + * [Handling Websocket connections](ws_handlers.md) + +Advanced HTTP +------------- + + * Authentication + * Sessions + +Advanced Cowboy usage +--------------------- + + * Optimization guide * [Hooks](hooks.md) - * On request - * On response * [Middlewares](middlewares.md) - * Purpose - * Usage - * Configuration - * Routing middleware - * Handler middleware + * Access and error logs + * Handling broken clients + * HTTP header names + * HTTP/1.1 streaming not chunked + +Old guide misc +-------------- + +This section will be removed as content is moved into other chapters. + + * [Handlers](handlers.md) * [Internals](internals.md) - * Architecture - * One process for many requests - * Lowercase header names - * Improving performance * [Resources](resources.md) - * Frameworks - * Helper libraries - * Articles -- cgit v1.2.3