2012-08-23 5 views
17

Qual è la differenza tra:uso corretto di KeepAlive in Apache .htaccess

Header set Connection keep-alive

e

KeepAlive on

in Apache .htaccess?

Quale codice e opzioni dobbiamo inserire nell'intestazione di un file php? E che cosa nel file htaccess?

risposta

33

Se si imposta semplicemente l'intestazione Connection: keep-alive non sarà sufficiente. Il client penserà che sia una connessione keep-alive ma il server potrebbe decidere di chiudere la connessione. Inoltre, il client non sa quante richieste possono essere offerte attraverso la connessione keep-alive. C'è un colpo di testa aggiuntivo che viene utilizzato per tenere traccia delle richieste inviate tramite una connessione keep-alive che assomiglia a questo:

Keep-Alive: timeout=15, max=100 

che dice al cliente che può inviare fino a più di 100 richieste su l'attuale connessione keep-alive (e conta alla rovescia mentre si continua a utilizzare detta connessione keep-alive) e che il client ha 15 secondi per effettuare richieste aggiuntive prima che la connessione venga chiusa.

Utilizzare semplicemente l'intestazione non è sufficiente per stabilire una connessione keep alive perché il server deve negoziarlo. Entrambe le estremità hanno bisogno di conoscere il keep-alive e entrambe le estremità devono fare la contabilità corretta. Devi dire ad apache di gestire keep-alive alla fine e semplicemente mandare l'header non lo farà. È necessario attivare keep-alive sull'uso della seconda direttiva:

KeepAlive on 

E inoltre, è possibile modificare il meccanismo keep-alive con direttive come:

KeepAliveTimeout 15 
MaxKeepAliveRequests 100 
+0

Grazie @ Jon Lin che è una impressionante chiaro risposta ben scritta! Ti auguro un buon giorno, contatterò i miei amministratori del server. – Sam

+1

In hosting condiviso l'uso di KeepAlive spesso non è consentito: quando lo si inserisce in .htaccess il server dice 'Si è verificato un errore: 500 - errore interno del server' :(:(:( – Sam

+1

' Header set Connection keep -alive 'ha funzionato per me sul mio hosting condiviso fonte: http://www.feedthebot.com/pagespeed/keep-alive.html – retrovertigo