Jest w tym wiele warstw. Co ważne, wiele z nich jest wymiennych.
Na przykład możesz mieć sieć koncentryczną, Ethernet lub Wi-Fi na poziomie fizycznym. HTTP działa na wszystkich, ale każdy z nich ma nieco inną obsługę wysyłanego ładunku.
HTTP działa na innym protokole, zwanym TCP, który z kolei mniej więcej działa na innym protokole, zwanym IP (obecnie głównie w dwóch wariantach - IPv4 i IPv6).
Tak więc serwer HTTP rejestruje w systemie operacyjnym adres IP (jak 184.38.45.1
, lub najczęściej „dowolny”) wraz z portem TCP ( 80
domyślnym dla HTTP, ale ogólnie od czegoś 1
do 65535
). Teraz serwer HTTP informuje system operacyjny, aby wysłał polecenie ping, gdy pojawią się dane (lub inna wiadomość). System operacyjny wie, kiedy to nastąpi, ponieważ sterownik karty sieciowej tak mówi. A sterownik karty sieciowej jest informowany przez samą kartę sieciową, która faktycznie ma własne oprogramowanie do interpretacji sygnałów elektrycznych na kablu sieciowym (lub sygnałów bezprzewodowych w powietrzu itp., Masz pomysł).
Uwaga dodatkowa :
Jeśli chcesz dowiedzieć się więcej o tym, jak karta sieciowa może zainicjować komunikację ze sterownikiem / systemem operacyjnym, możesz poszukać podstawowych informacji o przerwaniach sprzętowych - w zasadzie to, co aktualnie wykonuje procesor, jest zatrzymywane, a przepływ programu przechodzi w przerwanie procedura obsługi - niezwykle prosty fragment kodu, który zajmuje się powiadamianiem systemu, a następnie natychmiast przywraca kontrolę do pierwotnej czynności wykonywanej przez procesor. W rzeczywistości może odpowiedzieć na wiele pytań na temat wewnętrznego działania systemu operacyjnego i samego komputera - na przykład, w jaki sposób system operacyjny może „ukraść” procesor z uruchomionych aplikacji i przetasować zasoby procesora między różnymi aplikacjami działającymi w tym samym czasie, nawet jeśli nie współpracują.
Powrót do biznesu:
W analogii ręcznego telefonu wyobraź sobie, że telefon tak naprawdę nie dzwoni. Aby wiedzieć, czy próbujesz zadzwonić, musisz okresowo patrzeć na ekran i sprawdzać. Aby ułatwić zarządzanie serwerem HTTP (ponieważ istnieje już kilka warstw, które wykonują tę kontrolę okresową), możesz faktycznie zablokować próbę sprawdzenia.
Zamiast więc sprawdzać, widzieć, że nic tam nie ma i sprawdzać ponownie, w zasadzie cały czas patrzysz na ekran. Jednak w zasadzie masz do czynienia z całym oddzielnym systemem (w twoim przypadku centrum słuchu, które sprawdza wibracje powietrza pod kątem przydatnych informacji, pierścień), więc tak naprawdę nie wymaga twojej uwagi (czasu procesora).
Jest to dodatkowo ulepszone przez techniki, które pozwalają monitorować wiele połączeń jednocześnie (IOCP). Zbliża się to coraz bardziej do systemu dzwonienia telefonu - masz pokój z dziesięcioma tysiącami telefonów, ale dbasz tylko o te, które w tej chwili dzwonią, a inni nie zwracają na ciebie uwagi.