Voglio sapere che cosa fa un server per eseguire un'applicazione php. Di seguito è quello che penso:
cliente A tipi www.blahblahblah.blah /
- Il server risolve url e directory ecc.
- Server vai all'indice.php
- index.php ha una classe Pattern Singleton con una variabile statica chiamata instance.
Ora il server assegna la memoria a quella variabile statica nella propria RAM in modo che tutte le richieste successive a questa prima utilizzino la stessa variabile statica? O per ogni nuova richiesta il server assegna nuova memoria e quella nuova avrà un nuovo spazio assegnato a quella variabile statica?
La mia confusione: se ogni richiesta viene eseguita nel proprio spazio di memoria, allora cos'è una connessione persistente?
Seconda cosa che mi chiedo: posso avere un programma desktop che invia continuamente una chiave speciale alla mia applicazione web e la mia applicazione web sta inviando continuamente la chiave per rendere HTTP una connessione piena invece di una connessione meno? In questo modo posso confermare chi è connesso alla mia APP come client, invece, che è connesso a INTERNET. Conosco le sessioni ma rendono meno la connessione http e quindi c'è possibilità di spoofing e dirottamento di sessione. So che puoi rendere sicura la sessione, ma la mia app non saprà se il cliente è morto e può cancellare i dati dalla sessione e dire agli altri che il client blah è disconnesso.