Passa al contenuto principale

1. Introduction (Introduzione)

L'Hypertext Transfer Protocol (HTTP, Protocollo di Trasferimento Ipertestuale) è un protocollo richiesta/risposta senza stato che opera scambiando messaggi tramite una connessione affidabile a livello di trasporto o di sessione. Questo documento è la prima parte di una serie di documenti che definiscono HTTP/1.1.

Il contenuto principale di questo documento include:

  • Una panoramica dell'architettura HTTP e della sua terminologia associata
  • La definizione degli schemi "http" e "https" degli Uniform Resource Identifier (URI, Identificatore di Risorsa Uniforme)
  • I requisiti di sintassi e analisi dei messaggi HTTP/1.1
  • Le considerazioni di sicurezza relative all'implementazione

I requisiti di sintassi e analisi dei messaggi HTTP/1.1 sono stati rivisti rispetto a RFC 2616 per migliorare l'interoperabilità e ridurre le ambiguità note. Questo documento sostituisce alcune parti di RFC 2616 ed è utilizzato insieme ad altri documenti che definiscono la semantica HTTP/1.1.

Le altre parti di HTTP sono definite nei seguenti documenti indipendenti:

  1. "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content" [RFC7231] - definisce i metodi di richiesta, i codici di stato e altri elementi relativi alla semantica del protocollo
  2. "Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests" [RFC7232] - definisce i meccanismi per le richieste condizionali
  3. "Hypertext Transfer Protocol (HTTP/1.1): Range Requests" [RFC7233] - definisce richieste e risposte parziali
  4. "Hypertext Transfer Protocol (HTTP/1.1): Caching" [RFC7234] - definisce i requisiti e il controllo della cache
  5. "Hypertext Transfer Protocol (HTTP/1.1): Authentication" [RFC7235] - definisce il framework di autenticazione degli utenti

1.1. Requirements Notation (Notazione dei Requisiti)

Le parole chiave "DEVE", "NON DEVE", "RICHIESTO", "DOVRÀ", "NON DOVRÀ", "DOVREBBE", "NON DOVREBBE", "RACCOMANDATO", "PUÒ" e "OPZIONALE" in questo documento devono essere interpretate come descritto in [RFC2119].

I criteri di conformità e le considerazioni sono descritti nella Section 2.5.

1.2. Syntax Notation (Notazione Sintattica)

Questa specifica utilizza la notazione Augmented Backus-Naur Form (ABNF, Forma di Backus-Naur Aumentata) di [RFC5234] con un'estensione di lista, definita nella Section 7, che consente la definizione compatta di liste separate da virgole utilizzando un operatore #.

Le seguenti regole fondamentali sono incluse per riferimento, come definito in [RFC5234], Appendice B.1: ALPHA (lettere), CR (ritorno a capo), CRLF (CR LF), CTL (controlli), DIGIT (decimale 0-9), DQUOTE (virgoletta doppia), HEXDIG (esadecimale 0-9/A-F/a-f), HTAB (tabulazione orizzontale), LF (avanzamento riga), OCTET (sequenza di 8 bit di dati), SP (spazio) e VCHAR (carattere US-ASCII visibile).

Per convenzione, i nomi delle regole ABNF con prefisso "obs-" denotano regole grammaticali "obsolete" che appaiono per ragioni storiche.