Come fanno alcuni siti web a sapere quando passo a un'altra scheda?
Un modo per farlo è tramite i cookie e gli id. In primo luogo, sei loggato al sito e hai una sessione. Questo è gestito utilizzando i cookie; ogni volta che visitate una pagina del sito, il vostro browser invierà un cookie che normalmente contiene un qualche tipo di id. In questo modo il server può identificare qualsiasi richiesta proveniente da voi, è davvero da voi. Quindi, in questo caso, sia la vostra scheda originale che quella nuova invieranno lo stesso cookie.
In secondo luogo, può anche aggiungere un altro, diverso id (chiamatelo id della pagina), a qualsiasi link o modulo che inviate sul sito. Così un modulo su una pagina potrebbe contenere l'id 1234, e ogni link conterrà anche quell'id. Ogni nuova pagina visitata potrebbe contenere un nuovo id. Così in qualsiasi punto, il sito sa che la prossima richiesta dal vostro browser (identificato dai cookie) dovrebbe contenere anche quest'altro id. Se navigate nel sito in modo normale, cliccando sui link, inviando moduli, questo sarà vero e tutto andrà bene.
I casi in cui la vostra prossima richiesta NON presenterebbe il secondo id previsto sono:
- si preme il pulsante indietro (si invierebbe un vecchio id di pagina)
- si apre una nuova scheda (questo dipende dal browser, ma se si apre la stessa pagina su cui si è già nella scheda originale, si invierebbe l'id della pagina corrente, non l'id della pagina successiva, che il server si aspetta)
In entrambi i casi, si invia una richiesta con un id di pagina che il server non si aspetta e può fare un'ipotesi su cosa si è fatto.
Articoli simili
- Cos'è una guida passo passo per sviluppare una web app da zero?
- Come costruire un'applicazione di messaggistica passo dopo passo per Android
- Come dovrei imparare gli algoritmi e risolvere i problemi su CodeChef, SPOJ passo dopo passo?
- Qual è un processo passo dopo passo per ottenere 1000 download sul mio gioco Android?