Gdzie pobiera się strona www?

Tu dyskutujemy i rozwiązujemy problemy związane z innymi językami do Tworzenia Stron WWW.
mario88
Stały Bywalec
Stały Bywalec
Posty: 128
Dołączył(a): sobota, 14 marca 2015, 19:04

Gdzie pobiera się strona www?

Post przez mario88 »

Witam,
mógłby ktoś wytłumaczyć jak działa mechanizm pobierania strony www? To znaczy wiadomo że jeżeli podaję adres strony to pobiera się ona najpierw na komputer i dopiero mogę ją zobaczyć w przeglądarce. Ale do jakiej lokalizacji ona się pobiera? Jak to się dzieje? ;)

Pozdrawiam
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Gdzie pobiera się strona www?

Post przez Morfidon »

Hej,

Temat jest bardzo rozległy i można by na ten temat napisać potężny artykuł, a nawet książkę.

Bardzo w skrócie pomijając niektóre kroki:
1) Przeglądarka wysyła HTTP request do serwera
2) Serwer odpowiada z zawartością, która jest przez Ciebie pobierana na Twój dysk twardy
3) Zawartość jest interpretowana tzn. dokument HTML jest parsowany krok po kroku przez parser (program do przetwarzania kodu) i to jest interpretowane na to co widzisz tutaj, dodatkowo niektóre elementy zapisywane są w podręcznej pamięci przeglądarki po to aby nie musiały być za każdym razem ściągane. Niekiedy serwer najpierw wykonuje jakiś skrypt np. PHP, który ostatecznie jest zwracany w postaci kodu HTML. Wcześniej mogą być jeszcze interpretowane zasady .htaccess co ma być podane czy też nie. Dochodzi jeszcze Javascript, który gdy się wykonuje to zatrzymuje całkowicie interpretacje kodu HTML, aż do wykonania się tego skryptu chyba, że wczyta się go z atrybutem defer. Dlatego pliki JS warto dawać na końcu strony lub też z atrybutem defer.

Pozdrawiam,

Arkadiusz
mario88
Stały Bywalec
Stały Bywalec
Posty: 128
Dołączył(a): sobota, 14 marca 2015, 19:04

Re: Gdzie pobiera się strona www?

Post przez mario88 »

A wiadomo do jakiego folderu konkretnie pobiera się strona? To znaczy do jakiegoś tymczasowego folderu systemu, folderu przeglądarki czy jeszcze gdzieś indziej?
Interpreter jest wbudowany w przeglądarkę? Jeżeli tak to każda z nich ma inny, i to powoduję że strony wyglądają nieco inaczej w każdej z nich? A odnośnie osadzania plików javascript, czy osadzanie z atrybutem defer ma jakieś wady? Nigdy nie widziałem żeby ktoś stosował takie rozwiązanie, jest to jakaś nowość? :)
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Gdzie pobiera się strona www?

Post przez Morfidon »

Tu masz gdzie są pobierane tymczasowo dla każdej przeglądarki:
http://jaxov.com/2009/09/cache-location ... -explorer/

Interpreter to program należący do aplikacji jaką jest przeglądarka. Każda przeglądarka może interpretować dosłownie wszystko inaczej. Nie bez powodu są problemy w tym, że niektóre aspekty programowania działają w jednej, a drugiej nie, a w niektórych działają trochę inaczej. Najgorzej wypada na tym tle stare IE.

Większość kodu działa identycznie bo interpreter działa zgodnie z tym co napisano w specyfikacji języka za którą w teorii powinni iść twórcy przeglądarek podczas implementacji kodu interpretującego nasz kod. Na szczęście jest coraz mniej z tym problemów :)

Jedyną wadą osadzenia JS pliku z atrybutem defer jest to, że jeśli masz skrypt, który musi się wykonać przed wczytaniem treści to wtedy nie wiadomo kiedy on dokładnie zostanie wykonany. Defer sprawia, że JS plik wczytuje się asynchronicznie co oznacza w tym samym momencie gdy wczytuje się dokument HTML. Jeśli plik HTML wczyta się szybciej od pliku JS, a plik JS powiedzmy miał wpłynąć jakoś na layout, albo dodać coś do strony / zmienić funkcjonalność to może pojawić się to z opóźnieniem.

W internecie jest dużo starych tutoriali, dlatego nie widziałeś nic na temat defer. Dużo osób nie aktualizuje swojej wiedzy i po prostu nie wiedzą o niektórych aspektach. Właśnie aktualizuję kurs Javascript ponieważ jest parę rzeczy, które uważam, że warto dodać do kursu jak między innymi informację dot. atrybutu defer.

Jako ciekawostka jeśli ustawisz źródło pliku .js na zewn. źródło bez atrybutu defer i ta strona padnie to Twoja strona może nie wczytać się w ogóle. Niektóre strony mają wiele plików .js bez atrybutu defer i gdyby jeszcze tego było mało to w różnych plikach oraz wszystko znajduje się u góry strony. Przez taki zabieg spowalniają wczytywanie swojej strony czasem o kilka sekund.

Więcej o osadzaniu w darmowej lekcji:
https://www.youtube.com/watch?v=rSNDWUesgbM

Pozdrawiam :)
mario88
Stały Bywalec
Stały Bywalec
Posty: 128
Dołączył(a): sobota, 14 marca 2015, 19:04

Re: Gdzie pobiera się strona www?

Post przez mario88 »

Dzięki za link i objaśnienie, dobrze wiedzieć takie rzeczy. :)
Post Reply