# Specifications

These are the specifications for ASGI. The root specification outlines how applications are structured and called, and the protocol specifications outline the events that can be sent and received for each protocol.

- ASGI Specification
  - Abstract
  - Rationale
  - Overview
  - Specification Details
  - Version History
  - Copyright
- HTTP and WebSocket protocol
  - Spec Versions
  - HTTP
  - WebSocket
  - WSGI Compatibility
  - WSGI encoding differences
  - Version History
  - Copyright
- Lifespan
  - Scope
  - Startup - `receive` event
  - Startup Complete - `send` event
  - Startup Failed - `send` event
  - Shutdown - `receive` event
  - Shutdown Complete - `send` event
  - Shutdown Failed - `send` event
  - Version History
  - Copyright
- TLS Extension
  - The Base Protocol
  - When to use this extension
  - TLS Connection Scope
  - Events
  - Rationale (Informative)
  - Copyright