Protocollo HTTP: Funzionamento, Gestione Sessioni e Metodi di Autenticazione
Inviato da Anonimo e classificato in Informatica
Scritto il in
italiano con una dimensione di 3,39 KB
Il funzionamento del protocollo HTTP
Il protocollo HTTP è il fondamento del trasferimento di informazioni sul Web e si basa su un'architettura Client/Server. In questo modello:
- Client: Solitamente un browser (come Chrome o Firefox), invia una richiesta (Request) per una specifica risorsa, come una pagina HTML o un'immagine.
- Server: Un computer remoto che ospita il sito web, riceve la richiesta, la elabora e invia una risposta (Response) contenente la risorsa richiesta o un messaggio di errore.
L'HTTP è un protocollo di tipo stateless (senza stato), il che significa che il server non "ricorda" le interazioni precedenti: ogni richiesta viene trattata come un evento isolato e indipendente.
Gestione delle sessioni e Cookie
Poiché l'HTTP è nativamente stateless, è stato necessario introdurre il concetto di Sessione per permettere al server di riconoscere un utente durante la navigazione (ad esempio per mantenere attivo un carrello della spesa o un login). Una sessione rappresenta un insieme di interazioni correlate tra lo stesso client e lo stesso server in un arco di tempo definito.
Per gestire queste sessioni si utilizzano principalmente i Cookie: piccoli file di testo che il server invia al browser e che il browser rimanda al server a ogni richiesta successiva. Grazie all'identificativo contenuto nel cookie (Session ID), il server può ricollegare le richieste dell'utente ai dati salvati nella sua memoria, simulando una connessione continua e personalizzata nonostante la natura "smemorata" del protocollo HTTP.
Metodi di autenticazione HTTP
L'autenticazione HTTP si basa su tre metodi principali che differiscono per complessità e sicurezza:
- Autenticazione Basic: È la più semplice. Il client invia username e password codificati in Base64 nell'header della richiesta; non essendo cifrata, è sicura solo sotto protocollo HTTPS.
- Autenticazione Digest: È più evoluta e non trasmette mai la password in chiaro, scambiando invece un'impronta digitale (hash) dei dati per proteggere le credenziali.
- Autenticazione tramite Form: È il metodo più comune nel web moderno. Utilizza una pagina HTML per la raccolta dei dati e, dopo la verifica sul server, gestisce l'accesso tramite un cookie di sessione, permettendo una personalizzazione grafica e funzionale superiore ai metodi nativi.
Il sistema Challenge/Response
Il sistema Challenge/Response è il processo logico che garantisce la sicurezza senza l'invio della password. Quando un client richiede una risorsa protetta, il server risponde con una "sfida" (Challenge), inviando un codice casuale e temporaneo chiamato nonce.
Il client riceve questo codice, lo combina con la propria password tramite una funzione di hashing e invia il risultato (Response) al server. Quest'ultimo esegue lo stesso calcolo: se i risultati coincidono, l'identità è confermata. La differenza fondamentale rispetto alla Basic è che la risposta cambia a ogni sessione grazie al valore casuale, impedendo a un malintenzionato di riutilizzare i dati intercettati per accedere al sistema.