giovedì 28 aprile 2016

Liste di errori (provetta 1)

Lista di errori. Anche senza il testo dell'esame, la lettura è istruttiva.

  1. Più studenti hanno creato una sessione per pagina invece che una sessione per sito. Che senso ha?
  2. DNS request "www.bayern.de A?" (= qual'è l'indirizzo IP associato al nome www.bayern.de?). DNS response "www.bayern.de NS ns.bayern.de, ns.bayern.de A IP1" (= www.bayern.de è un nome di zona; il nome del name server di quella zona è ns.bayern.de; l'indirizzo di quel server è IP1). Che senso ha???
  3. Che senso ha inviare una richiesta GET index.html contenente un request header "header cache con must-revalidate...max-age..."???
  4. Realizzare il conteggio "inserendo un link a track.com" non ha senso: un link viene prelevato solo se l'utente esegue un click sul corrispondente elemento; per fare un conteggio occorre l'invio di una request in modo automatico, che non richiede azioni dell'utente.
  5. Molti considerano le nozioni A) "documento" (o "pagina") e B) "server" (o "sito") del tutto equivalenti. Il valore dello header Host deve essere di tipo B. Il valore dello header Referer deve essere di tipo A. Non è una differenza trascurabile. Sono entità di tipo completamente diverso.
  6. Molti hanno fornito valori separati per i contatori di visite e di visite da smartphone (com'è giusto) ma non fornito nessuna indicazione su come può track.com capire se la request proviene da un pc o da uno smartphone. in assenza di tali indicazioni non si può che ipotizzare il possesso, da parte di track.com, di capacità telepatiche
  7. Ho detto più e più volte a lezione che le risposte narrative non sono accettabili in quanto non permettono di capire se uno ha capito. Riporto qui un esempio (mi dispiace veramente, ma uno svolgimento "romanzato" è proprio incomprensibile): "Karl, da PC, invia un GET per http://bayern.de/index.html la request non appartiene a nessuna sessione lui è configurato per generarla ed utilizza la tecnica dei cookie. Il server manda la risposta con un 200 ok, se tutto è andato bene, e dopo la linea vuota sopra il documento richiesto. Il browser di Karl riceve la risposta e se la memorizza nella sua cache. Nella home page c'è un documento htm che il server non vuole che sia memorizzato e si realizza con un response header del tipo cache-control no store e due jpg che il server vuole che si memorizzino". Solo in queste due frasi il lettore si pone un numero altissimo di domande:
    • "lui è configurato...". chi è "lui"?
    • "utilizza la tecnica dei cookie". cioè? come funziona questa tecnica? chi la realizza e come?
    • "manda la risposta con un 200 ok". che significa "con un 200 ok"? 200 ok è la parte iniziale della risposta, non è un non meglio definito qualcosa che viaggia "con" la risposta.
    • "dopo la linea vuota sopra il documento richiesto". "dopo" che cosa? dopo il 200 ok? e non ci sono header? e che significa "sopra"? casomai sarà prima, non sopra.
    • "non vuole che sia memorizzato e si realizza con un response header..." response header inserito dove? in quale response?
    • "e due jpg che vuole che si memorizzino" dove sono quei jpg? come descrive la sua volontà di memorizzarli e dove? nel documento html? e, per inciso, come fa il browser a capire se sta ricevendo un documento html o un documento jpg?
    • "nella home page c'è un documento html"; la home page E' un documento html.
    • mi dispiace veramente ma davvero uno svolgimento di questo genere non è accettabile
  8. Server che mantiene sessioni con URL rewriting: in ogni documento tornato dal server, gli URL delle immagini su quel server è modificato. Credo di averlo ripetuto dieci volte. Il contenuto delle immagini non si modifica, il nome (URL) si.
  9. Quando mai abbiamo visto una http response contenente uno header user-agent?
  10. "Il minimo numero di connessioni è 2 perché sono state aperte 2 sessioni". A parte il fatto che le sessioni sono 3, ma la giustificazione è sbagliata. Si può aprire una connessione senza aprire una sessione (in generale anche se non in questo caso). E si potrebbe aprire e chiudere più sessioni in una stessa connessione (in generale anche se non in questo caso). Il tempo di vita di una connessione non c'entra nulla con il tempo di vita di una sessione.
  11. Questi 3 contatori sono mantenuti in modo separato per ogni singola pagina ("pagina=documento html")". "Elencare i contatori e fornirne il valore". Perché uno risponde a questa domanda scrivendo un racconto in cui descrive cosa fa ogni utente? Racconto dal quale, peraltro, non si riesce a ricostruire l'elenco dei contatori e dei valori corrispondenti? Non è chiesto il contributo di ogni utente al valore finale di ogni contatore (che può eventualmente essere una informazione aggiuntiva)
  12. "Descrivere il traffico DNS trasmesso e ricevuto".
    1. Un elenco di RR è una descrizione di traffico DNS trasmesso e ricevuto?
    2. Una tabella con le colonne nome, tipo, indirizzo IP è ...?
    3. Un elenco di indirizzi IP è ...?
  13. Per quale caspita di motivo una DNS request contiene oltre al nome ed al tipo anche "port 80"????
  14. Per quale caspita di motivo un browser che deve localizzare il server su cui si trova http://bayern.de/index.html invia una DNS request "bayern.de NS ?" e, se possibile ancora peggio, perché si ritiene soddisfatto dalla coppia NS/A che riceve in risposta???
  15. Inserire in ogni pagina un documento di track.com diverso è una soluzione corretta, ma molto più complicata da realizzare praticamente della "vera" soluzione: lo stesso documento di track.com è inserito in tutte le pagine di uno stesso sito (nel qual caso la distinzione tra pagine diverse dello stesso sito si ottiene con lo header Referer)
    • ed usando opportunamente il valore di Referer si potrebbe anche usare lo stesso documento per tutti i siti...basterebbe isolare la seconda componente dell'URL contenuto nel Referer per capire da quale sito proviene la request...
  16. Scrivere un segmento HTML "<....link a server >" è inaccettabile: va bene non ricordarsi la sintassi esatta di ogni singolo costrutto html, ma almeno un link html bisogna saperlo scrivere; specialmente se uno, oltre a non sapere scrivere un link, descrive le immagini come "<IFRAME src: img2.jpg>".
  17. Nessuno pretende che uno si ricordi a memoria tutti gli header http. Ma è troppo chiedere che lo header "set-cookie:" non sia chiamato "id-set:"??? Ed è troppo chiedere che se proprio uno non si ricorda "Host:" usi un nome diverso da "Location:" (che significa tutt'altro)???
  18. Che senso ha fornire come stima del numero di connessioni ">=14"??? 87432 è un numero possibile? ammesso e non concesso che uno si sia confuso con il verso della disuguaglianza, allora 0 o 1 sarebbero stime possibili?
  19. Ogni anno, invariabilmente, c'è qualcuno che crea sessioni con URL rewriting scrivendo response contenenti header "SID=12150". Ormai non so più cosa fare. Esiste una slide con un response header di nome "SID"? Esiste una slide che dica che l'URL rewriting è realizzato inserendo un apposito response header?
  20. Per quale motivo se la home page di bayern.de contiene "<IFRAME src="wid">" il browser dovrebbe inviare una richiesta ad un server diverso da bayern.de per prelevare l'URL wid?
  21. Varie persone hanno fatto ragionamenti più o meno comprensibili per giustificare l'affermazione che quando si usa il proxy cambia il conteggio fatto da track.com in quanto cambia l'indirizzo IP di provenienza. I conteggi richiesti nell'esame sono fatti in base solo al contenuto delle request http (Referer, User-Agent, Cookie o altro, ci sono varie implementazioni possibili). Gli indirizzi IP non c'entrano nulla.