2010-10-06 11 views

Odpowiedz

12

są te żądania GET (wszystkie w tym samym połączeniu TCP/IP) obsługiwane przez serwer w

równolegle lub kolejno?

Jest przetwarzany w sekwencji. Nazywa się to pipelining. Pipelining jest częścią HTTP/1.1 i oznacza, że ​​klient nie musi czekać na zakończenie bieżącego żądania do przed wysłaniem następnego żądania przez trwałe połączenie. Może wysyłać kilka żądań przez to samo połączenie bez oczekiwania na odpowiedzi na poprzednie żądania. Żądania są przetwarzane w sposób FIFO, tj. Klient może wysłać kilka żądań w sekwencji, a serwer powinien wysłać odpowiedź na każde żądanie w tej samej kolejności, w której odebrano żądanie. Jeśli więc serwer, z którego korzystasz w standardzie HTTP/1.1, powinien być obsługiwany po kolei.

4

HTTP rurociąg dzieje sekwencyjnie. Nie ma żadnego wsparcia dla żadnego rodzaju przeplatania w HTTP.

Jednak w przypadku potokowania serwer może znać wszystkie żądania przed zakończeniem obsługi ostatniego. Teoretycznie może wykonywać niezbędne operacje we/wy równolegle.

Nie wygląda na to, że zrobi to nginx.

+2

Przeprowadziłem kilka testów z serwerem WWW Apache i mogę potwierdzić, że jest on sekwencją infaktu - wczesne powolne żądanie opóźni przetwarzanie kolejnych szybszych żądań. –

Powiązane problemy