Funzionamento del client

Come Funziona il Client ?

Ora che il server è impostato vediamo come funziona il client. Si digiti un URL : http://www.apache.org. Il browser vede che l’url comincia per http e deduce che dovrà servirsi di tale protocollo i due caratteri “//” indicano che l’url è assoluta, cioè non è relativa ad un’altra URL madre. Poi analizza il nome del server www.apache.org, e contatta il nameserver che, a sua volta, utilizza DNS per tradurre il nome fornitogli dal browser in un indirizzo IP, es: 204.155.144.35. L’indirizzo web non include un numero di porta perchè la porta corretta è per default la porta 80, il browser lo considera sottinteso. Se fosse necessario inviare la richiesta ad una porta differente la si potrebbe includere nell’URL dopo “due punti” (:), http://www.apache.org:8000/.

L’URL include sempre un percorso anche solamente “/”, se l’utente non lo specifica, i browser provvedono ad aggiungerlo automaticamente. Se il percorso fosse /XXX/YYY/index.html sulla porta 8000, L’URL sarebbe http://www.apache.org:8000/XXX/YYY/index.html. Il Client effettua una connessione TCP alla porta 8000 dell’ indirizzo IP 204.155.144.35 e invia all’altro capo della connessione con protocollo HTTP 1.0 il messaggio:

GET /XXX/YYY/index.html HTTP 1.0<CR> <LF> <CR> <LF>.

I caratteri CR (CArriage return) e LF(Line Feed) sono molto importanti in quanto separano l’intestazione (header) HTML dal corpo del messaggio body. Se la richiesta fosse di tipo POST, infatti, dei dati seguirebbero l’intestazione. Dopo aver ricevuto la richiesta , il server invia la risposta al client e chiude la connessione.