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.1Tre 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.
Sfida
DifficileEvita del tutto curl e parla HTTP direttamente.
- Crea
index.htmlcontenenteraw - Servi la cartella sulla porta 9110
- Invia una richiesta
GET /index.html HTTP/1.0grezza tramitence stampa solo la prima riga della risposta
Quella prima riga è la riga di stato del server. Output previsto:
HTTP/1.0 200 OKRicorda la riga vuota:
printf 'GET /index.html HTTP/1.0\r\n\r\n'.
Provalo tu
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Reti da terminale
5HTTP a mano
Anatomía de una solicitudMétodos de solicitudCódigos de estadoEncabezados de respuestaEscribir una respuestaRepaso: fundamentos de HTTPEsercitati da solo: Playground Terminal