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: Informativo2xx: Successo -200 OK3xx: Redirezione4xx: Errore del client -404 Not Found5xx: 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).