Czy webówka jest dla mnie?

Mirosław Zelent | 10-09-2016

Paradygmat działania klasycznej aplikacji internetowej nie zmienił się od lat – jest oparty na tzw. architekturze klient-serwer i protokole HTTP. Wszędzie widać to "HT": HTML, HTTP – o co tutaj chodzi? HT oznacza Hypertext, czyli hiperłącza (linki) – od lat sześćdziesiątych dwudziestego wieku taki mamy pomysł na działanie stron internetowych: kliknięcie w hiperłącze potrafi przenieść nas do kolejnej podstrony, a czasem także na inny serwer, do kolejnego miejsca w sieci.

Porównanie do pajęczyny nasuwa się tu samo. Pierwsze strony główne stanowiły po prostu spis tekstowych linków – stąd tradycja nazywania dokumentu głównego nazwą: index.html (index, czyli skorowidz, lista tematów, indeks pojęć, taki jak na końcu papierowego podręcznika).

HTTP to akronim oznaczający Hypertext Transfer Protocol, zaś HTML to Hypertext Markup Language. Markup Language, czyli "język znaczników". I rzeczywiście, kiedy wejdziemy na dowolną stronę internetową i wybierzemy w przeglądarce opcję "Wyświetl źródło strony" to naszym oczom ukaże się tekstowy opis witryny, niczym matriksowy kod stanowiący drugie dno oglądanej naszymi oczami rzeczywistości:

Źródło HTML

Znacznik po znaczniku (czy jak mówią niektórzy: tag po tagu), ten kod determinuje strukturę strony, określa sposób jej wyświetlania, definiuje wszystkie elementy interfejsu, które zapełnią wirtualne płótno karty przeglądarki. Cholernie to ciekawe dla ludzi lubiących pogłówkować, w tym zwłaszcza dla introwertyków. Widząc taki kod, człowiek (jako system otwarty), zadaje sobie najważniejsze na świecie pytanie: "Dlaczego?" oraz "Co te zapisy oznaczają?". Ciekawość nas swędzi, ciekawość nas boli – potrzebujemy wiedzieć i rozumieć. I dlatego programowanie przyciąga nas, ludzi ciekawych świata, jak magnes. Łączy dziecięcą fascynację tajemnicą z dorosłym pragmatyzmem i zimną jak sztylet z lodu logiką.

Podjęcie tego intelektualnego wyzwania: "chcę wiedzieć, chcę zrozumieć", oznacza też wysiłek,  chwile zwątpienia, walkę z własnymi słabościami, z brakiem cierpliwości, z chęcią rzucenia tego w cholerę. Jednak jest coś godnego w podjęciu tej próby, istnieje w tej decyzji wiele hartu ducha. Przypomina to odpowiedź Neo na pytania Agenta Smitha (film "Matrix"): "Dlaczego walczysz? Dlaczego mimo tylu upadków wstajesz i kontynuujesz ten proces?" – "Bo chcę" – odpowiada Neo, albo też odczytując jego imię jako anagram: "One" – ten wybrany.

Coś w tym jest – tak jak wiedźmińską próbę traw przetrwało średnio 3 na 10 adeptów, tak przygodę z programowaniem przechodzą jedynie nieliczni, ci wybrani. Większość ludzi porzuca naukę po wyczerpaniu się początkowego entuzjazmu, który naturalnie zawsze towarzyszy byciu w czymś początkującym. I nie ma w tym nic złego – w życiu testujemy wiele różnych dziedzin, wiele różnych przedmiotów zainteresowań, ścieżek rozwoju, dróg życiowych, możliwych pasji. Ostatecznie, programowanie może nie okazać się dla Ciebie tym, czym chcesz się w życiu zajmować zawodowo i to jest jak najbardziej OK. Być może też jesteś tutaj tylko po to, aby po prostu zdać egzamin – i to też jest w porządku, uwierz mi – okaże się to całkiem nietrudne.

Zachęcam Cię tylko do jednego: podejdź do kursu z otwartą głową, z krytycznym myśleniem, oraz ze szczerością wobec siebie. Poznasz naukę ścisłą jaką jest programowanie, a także poobserwujesz siebie w trakcie nauki – to bezcenne doświadczenia. Jednak dopiero po wejściu nieco głębiej w tę dziedzinę zdołasz odpowiedzieć sobie na pytanie: czy ja to lubię (na tym poziomie) i czy sprawia mi to radość? Jak również: Czy na pewno na co dzień wygląda to tak jak myślałe(a)m na początku że wygląda? Cokolwiek postanowisz – czas spędzony na kursie programowania nauczy cierpliwości, uporu i analityki – słowem: nie będzie to czas stracony!

A wracając do okna z widokiem kodu HTML w przeglądarce – po bliższym przyjrzeniu się tym enigmatycznym zapisom, odnajdujemy w kodzie witryny także linki do plików .css oraz .js:

Źródło CSS Źródło JS

Pliki te także można bez problemu otworzyć i przejrzeć całą ich zawartość. Jednakże plików (czy też w ogóle pojedynczych linii) języków PHP i SQL próżno nam szukać w kodzie. Jak to jest, że kod HTML, CSS i JavaScript jest jawny, a PHP i MySQL ukryły się przed naszym okiem?

Odpowiedź jest wbrew pozorom banalna i logiczna: otóż do plików z kodem PHP czy MySQL nie możemy jako zwykły internauta zajrzeć, gdyż pliki te znajdują się jedynie na serwerze, na którym umieszczony jest portal onet.pl. Tylko autorzy portalu mają dostęp do swojego kodu PHP i stworzonych przez siebie zapytań SQL (jak i własnej bazy danych MySQL). Zatem aby dobrze zrozumieć naturę tworzenia witryn internetowych, trzeba nam najpierw z uwagą prześledzić komunikację, która zachodzi pomiędzy klientem chcącym wejść na stronę www, a serwerem wysyłającym w odpowiedzi żądaną witrynę.