Domanda

Quando si sono serviti di una pagina web, che costruisce il documento DOM? E 'rigorosamente il server di stampa HTML? Come è coinvolto il browser? Sono in particolare interessato a sapere come è la proprietà document.cookie popolata.

A) Il server popola document.cookie

  1. Il browser memorizza un cookie per foobar.com nel disco rigido degli utenti.
  2. La prossima volta foobar.com è visitato, i regali del browser tutti i cookie per foobar.com al server.
  3. Il server costruisce la proprietà DOM document.cookie sulla base di questi biscotti.

B) Il browser popola document.cookie

  1. Il browser memorizza un cookie per foobar.com nel disco rigido degli utenti.
  2. La prossima volta foobar.com è visitato, il server va avanti sulla costruzione e servire il codice HTML.
  3. Da qualche parte prima o dopo il browser afferra tutti i cookie sul disco rigido e lo popola document.cookie.

Sono interessato a queste informazioni perché sto studiando come cookie di strippaggio a server proxy, come vernici e Squid può influenzare i cookie. Se document.cookie è stato costruito dal server (opzione A di cui sopra), quindi vorrei assumere biscotto strippaggio dai proxy pregiudicherebbe la proprietà document.cookie. Sono comunque partito propenso a pensare B è il caso dal momento che ho una direttiva in un server Varnish per togliere specificamente un cookie, ma i dati del cookie rimane persistente document.cookie anche dopo la rimozione dalla richiesta.

Questa domanda è particolarmente importante per le persone che hanno siti web che stanno dietro per unghie, dal momento che la richiesta che viene attaccato con un cookie nega l'uso di dati memorizzati nella cache e genera un colpo di back-end.

È stato utile?

Soluzione

Il DOM è costruito e utilizzato dal browser in base alla risposta del server. Parte del lavoro di motore di layout di un browser è quello di analizzare il codice HTML restituito dal server nel DOM. Purtroppo, i diversi browser utilizzare diversi motori di layout , così l'albero DOM ha a volte le differenze all'interno di esso.

document.cookie specifico è un attributo del DOM Level 1 spec . Come è stato detto, la risposta corretta è più o meno (B). I cookie sono confezionati come parte della richiesta che un client invia al server, e anche se il server può impostare i cookie nella risposta, alla fine tutti si risiedono nel lato client.

Altri suggerimenti

Il server invia i dati al browser che lo interpreta e costruisce un albero DOM. i cookie vengono inviati insieme con i dati e non sono integrati nel DOM, ma invece memorizzati sulla macchina locale. fondamentalmente B. Il browser in grado di manipolare i cookie sulla macchina; il server può manipolare i cookie è rilasciato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top