Sobes.tech
Intern

Cos'è HTTP?

sobes.tech AI

Risposta dell'AI

Protocolo di trasferimento ipertestuale. Protocollo di rete di livello applicativo per lo scambio di dati.

Caratteristiche principali:

  • Architettura client-server: Il client (ad esempio, un browser) invia una richiesta al server, che elabora la richiesta e restituisce una risposta.
  • Senza stato (stateless): Ogni richiesta viene elaborata indipendentemente dalle precedenti. Lo stato della sessione viene mantenuto a livelli superiori (ad esempio, tramite cookie).
  • Utilizza TCP: Il protocollo di trasporto di default è TCP, che garantisce una consegna affidabile dei dati.
  • Porta 80: Porta standard per HTTP.
  • Metodi di richiesta (HTTP methods/verbs): Determinano il tipo di azione da eseguire sulla risorsa.
    • GET: Richiesta di dati dalla risorsa specificata.
    • POST: Invio di dati per elaborazione o creazione di una nuova risorsa.
    • PUT: Aggiornamento di una risorsa esistente o creazione di una nuova in URI specificato.
    • DELETE: Eliminazione della risorsa specificata.
    • PATCH: Aggiornamento parziale della risorsa.
    • HEAD: Richiesta degli intestazioni di risposta, simile a GET, ma senza corpo.
    • OPTIONS: Richiesta di informazioni sui metodi disponibili e altre opzioni di comunicazione per la risorsa di destinazione.
  • Codici di stato di risposta (Status Codes): Numeri a tre cifre che indicano il risultato della richiesta.
    • 1xx: Informativo
    • 2xx: Successo - 200 OK
    • 3xx: Redirezione
    • 4xx: Errore del client - 404 Not Found
    • 5xx: Errore del server - 500 Internal Server Error

Struttura del messaggio HTTP:

Parte Richiesta (Request) Risposta (Response)
Linea di inizio Metodo URI Versione HTTP (ad esempio, GET / HTTP/1.1) Versione HTTP Codice di stato Frase di stato (ad esempio, HTTP/1.1 200 OK)
Intestazioni Par "Nome-Valore" (ad esempio, Host: example.com) Par "Nome-Valore" (ad esempio, Content-Type: text/html)
Linea vuota Separa le intestazioni dal corpo. Separa le intestazioni dal corpo.
Corpo Opzionale. Contiene dati da inviare (ad esempio, moduli). Opzionale. Contiene i dati richiesti (ad esempio, pagina HTML).

Esempio di richiesta HTTP:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, come Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Esempio di risposta HTTP:

HTTP/1.1 200 OK
Date: Tue, 25 Jun 2024 10:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
    <title>Pagina indice</title>
</head>
<body>
    HelloWorld!
</body>
</html>

Utilizzato per trasmettere documenti ipermediali (HTML, immagini, video) nel World Wide Web. HTTPS è la versione sicura di HTTP che utilizza la crittografia (SSL/TLS).