RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
Pubblicato: Giugno 2014
Stato: Standards Track (Reso obsoleto da RFC 9110)
Autori: R. Fielding (Ed.), J. Reschke (Ed.)
Sommario (Abstract)
L'Hypertext Transfer Protocol (HTTP) è un protocollo stateless a livello applicativo per sistemi informativi ipertestuali distribuiti e collaborativi. Questo documento definisce la semantica dei messaggi HTTP/1.1, come espressa dai metodi di richiesta, campi di intestazione della richiesta, codici di stato della risposta e campi di intestazione della risposta, insieme al payload dei messaggi (metadati e contenuto del corpo) e meccanismi per la negoziazione del contenuto.
Indice (Table of Contents)
Sezioni Principali (Core Sections)
-
1. Introduzione (Introduction)
- 1.1 Conformità e Gestione degli Errori (Conformance and Error Handling)
- 1.2 Notazione Sintattica (Syntax Notation)
-
3. Rappresentazioni (Representations)
- 3.1 Metadati di Rappresentazione (Representation Metadata)
- 3.2 Dati di Rappresentazione (Representation Data)
- 3.3 Semantica del Payload (Payload Semantics)
- 3.4 Negoziazione del Contenuto (Content Negotiation)
-
4. Metodi di Richiesta (Request Methods) ⭐
- 4.1 Panoramica (Overview)
- 4.2 Proprietà Comuni dei Metodi (Common Method Properties)
- 4.2.1 Metodi Sicuri (Safe Methods)
- 4.2.2 Metodi Idempotenti (Idempotent Methods)
- 4.2.3 Metodi Memorizzabili in Cache (Cacheable Methods)
- 4.3 Definizioni dei Metodi (Method Definitions)
- 4.3.1 GET
- 4.3.2 HEAD
- 4.3.3 POST
- 4.3.4 PUT
- 4.3.5 DELETE
- 4.3.6 CONNECT
- 4.3.7 OPTIONS
- 4.3.8 TRACE
-
5. Campi di Intestazione della Richiesta (Request Header Fields)
- 5.1 Controlli (Controls)
- 5.2 Condizionali (Conditionals)
- 5.3 Negoziazione del Contenuto (Content Negotiation)
- 5.4 Credenziali di Autenticazione (Authentication Credentials)
- 5.5 Contesto della Richiesta (Request Context)
-
6. Codici di Stato della Risposta (Response Status Codes)
- 6.1 Panoramica dei Codici di Stato (Overview of Status Codes)
- 6.2 Informativi 1xx (Informational 1xx)
- 6.3 Successo 2xx (Successful 2xx)
- 6.4 Reindirizzamento 3xx (Redirection 3xx)
- 6.5 Errore Client 4xx (Client Error 4xx)
- 6.6 Errore Server 5xx (Server Error 5xx)
-
7. Campi di Intestazione della Risposta (Response Header Fields)
- 7.1 Dati di Controllo (Control Data)
- 7.2 Campi di Intestazione di Validazione (Validator Header Fields)
- 7.3 Sfide di Autenticazione (Authentication Challenges)
- 7.4 Contesto della Risposta (Response Context)
-
- 11.1 Riferimenti Normativi (Normative References)
- 11.2 Riferimenti Informativi (Informative References)
Appendici (Appendices)
- Appendice A. Modifiche rispetto a RFC 2616 (Changes from RFC 2616)
- Appendice B. ABNF Importato (Imported ABNF)
- Appendice C. ABNF Raccolto (Collected ABNF)
- Appendice D. Indice (Index)
Avviso di Copyright (Copyright Notice)
Copyright (c) 2014 IETF Trust e le persone identificate come autori del documento. Tutti i diritti riservati.
Risorse Correlate (Related Resources)
- Testo Ufficiale: RFC 7231 (TXT)
- Pagina Ufficiale: RFC 7231 DataTracker
- Rende Obsoleto: RFC 2616
- Reso Obsoleto Da: RFC 9110 (Semantica HTTP)
Caratteristiche Principali (Key Features)
Proprietà dei Metodi HTTP (HTTP Method Properties)
Questo documento definisce tre proprietà fondamentali per i metodi HTTP:
- Metodi Sicuri (Safe Methods): Operazioni di sola lettura che non modificano lo stato del server
- Metodi Idempotenti (Idempotent Methods): Più richieste identiche hanno lo stesso effetto di una singola richiesta
- Metodi Memorizzabili in Cache (Cacheable Methods): Risposte che possono essere memorizzate e riutilizzate
Riepilogo dei Metodi (Method Summary)
| Metodo | Sicuro | Idempotente | Cacheable |
|---|---|---|---|
| GET | ✅ | ✅ | ✅ |
| HEAD | ✅ | ✅ | ✅ |
| POST | ❌ | ❌ | ⚠️ |
| PUT | ❌ | ✅ | ❌ |
| DELETE | ❌ | ✅ | ❌ |
| CONNECT | ❌ | ❌ | ❌ |
| OPTIONS | ✅ | ✅ | ❌ |
| TRACE | ✅ | ✅ | ❌ |