Menu
Coddy logo textTech

Anatomía de una solicitud

Lezione 20 di 47 del corso Reti da terminale di Coddy.

Sotto curl, una richiesta HTTP è testo semplice inviato tramite un socket. Inizia con una riga che indica cosa vuoi:

GET /index.html HTTP/1.1

Tre parti: il metodo (il tipo di operazione), il percorso (quale elemento) e la versione. Seguono le intestazioni, una per riga, poi una riga vuota e infine un corpo facoltativo.

La riga vuota non è decorativa. È il modo in cui il server capisce che le intestazioni sono terminate e che inizia il corpo, se presente. Una richiesta senza di essa resta bloccata, perché il server sta ancora aspettando di ricevere il resto.

Puoi inviarne una a mano. nc apre una connessione grezza e tutto ciò che gli invii viene trasmesso direttamente:

printf 'GET / HTTP/1.0\r\n\r\n' | nc 127.0.0.1 9110

\r\n è il terminatore di riga richiesto da HTTP e la sequenza doppia forma la riga vuota.

challenge icon

Sfida

Difficile

Evita del tutto curl e parla HTTP direttamente.

  1. Crea index.html contenente raw
  2. Servi la cartella sulla porta 9110
  3. Invia una richiesta GET /index.html HTTP/1.0 grezza tramite nc e stampa solo la prima riga della risposta

Quella prima riga è la riga di stato del server. Output previsto:

HTTP/1.0 200 OK

Ricorda la riga vuota: printf 'GET /index.html HTTP/1.0\r\n\r\n'.

Provalo tu

Terminale
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Reti da terminale

Esercitati da solo: Playground Terminal