standard definiujący protokół HTTP (najnowsza wersja 1.1)
standard definiujący język HTML (najnowsza wersja 4.0)
standard definiujący sposoby kodowania znaków narodowych
specyfikacje używanych języków programowania, w wypadku, gdy stroną, po której odbywa się wykonanie programu jest strona klienta (Java, JavaScript)
2.Standardy nieoficjalne
język używany na stronach serwisu
3. standardy bezpieczeństwa
wielkość pojedynczej strony, wielkość plików graficznych prezentowanych na stronach
1.1. Protokół HTTP
Protokół HTTP określa, najprościej mówiąc, metody porozumiewania się naszej przeglądarki z serwerem WWW abyśmy mogli obejrzeć wybraną stronę WWW. Zasada działania tego protokołu jest następująca: przeglądarka wysyła do serwera żądanie o wysłanie określonego dokumentu oraz kilka innych, istotnych dla serwera informacji, a serwer wysyła do przeglądarki dokument wraz z serią innych informacji. Każde zapytanie (żądanie) klienta (czyli przeglądarki) składa się z trzech części:
linii zapytania (klient: polecenie method, adres dokumentu i wersja protokołu HTTP; serwer: wersja protokołu HTTP,
kod stanu serwera, opisujący m.in. informację czy dana strona istnieje, czy nie i opis.
listy nagłówków (klient: opcjonalne informacje powiadamiające serwer m.in. o tym, jakie rodzaje dokumentów potrafi
obsłużyć przeglądarka, typ przeglądarki itp.; serwer: dane dotyczące serwera i dokumentu)
części zasadniczej (klient: informacje dodatkowe wykorzystywane przez serwer np. podczas wykonywania skryptów
CGI; serwer: treść dokumentu, wynik działania skryptu CGI bądź, w wypadku gdy żądany dokument nie istnieje, bądź
skrypt nie może być wykonany, czytelną informację o zaistniałym błędzie)
Specyfikację protokołu HTTP jest istotna bezpośrednio tylko dla twórców serwerów i przeglądarek WWW, jednak znajomość mechanizmu działania HTTP przydatna jest także podczas projektowania stron.
1.2. Język HTML
Hypertext Markup Language (HTML) jest prostym językiem formatowania tekstu używany do tworzenia dokumentów hipertekstowych niezależnych od platformy. To HTML jest językiem, który sprawia, iż oglądane przez nas strony wyglądają tak samo ( a przynajmniej podobnie), niezależnie od tego z jakiej przglądarki korzystamy ( Internet Explorera, Netscape Navigatora czy innej). Najnowsza specyfikacja HTML opisuje jego wersję oznaczoną numerem 4.0, większa część przeglądarek WWW pozwala na pełne korzystanie jedynie ze stron napisanych w starszych wersjach języka.
Generalnie zawsze, a przynajmniej wtedy, jeśli kierujemy się tym, by ze strony korzystać mogło jak najwięcej użytkowników, przy projektowaniu korzystać ze specyfikacji HTML o jedną wersje wstecz względem najnowszej (w chwili obecnej odpowiada to wersji 3.2). Pamiętać należy także o tym, że właściwie żaden z popularnych programów służących do korzystania z WWW nie jest w pełni zgodny z oficjalną specyfikacją HTML, co spowodowane jest powolnym, w stosunku do rozwoju wymagań użytkowników, rozwojem tejże specyfikacji. Aby sprostać wymaganiom i rosnącym możliwościom oferowanym przez Internet, firmy oferujące przeglądarki wprowadziły zmiany i rozszerzenia obejmujące rozwiązania niektórych, nie istniejących w standardzie, a oczekiwanych i potrzebnych funkcji, głównie, choć nie tylko, obejmujących funkcje multimedialne.
Z dużą ostrożnością należy traktować rozszerzenia stosowane przez poszczególnych producentów przeglądarek, nawet tych, które stosuje największa ilość Internautów. Nieufność tą uzasadnia przede wszystkim niemożność pewnego stwierdzenia, który z programów jest rzeczywiście najpopularniejszy (większość publikowanych sondaży jest częścią działań marketingowych producentów oprogramowania) oraz, co być może ważniejsze, nietrwałość takich standardów; któż bowiem zagwarantuje, że uznana za najpopularniejszą przeglądarka będzie taką za rok albo dwa. Przeprojektowywanie strony od początku jest bardziej pracochłonne niż stosowanie standardu.
Należy także pamiętać o użytkownikach, korzystających z przeglądarek tekstowych (wbrew pozorom np. lynx jest bardzo popularną przeglądarką). Jeśli nie jest możliwe stworzenie osobnej wersji strony, przeznaczonej dla przeglądarek tekstowych, dobrze jest pamiętać przynajmniej o umieszczeniu opisów do rysunków, które będą się pojawiać zamiast nich (przydatne także dla osób, które mają, ze względu na wolną transmisję (np. połączenie modemowe) wyłączoną obsługę rysunków w przeglądarce graficznej.
1.3. Kodowanie znaków narodowych
Czas przejść do problemu, który od dawien dawna stanowi powód wielu tzw. flame wars[1]. Jest nim problem kodowania polskich znaków w serwisach WWW. Wydawałoby się, iż problem nie istnieje: Polska Norma (PN-93 T-42118) definiuje bowiem odpowiedni sposób kodowania. Polska Norma ma jednak to do siebie, iż obowiązuje jedynie w Polsce, natomiast większość oprogramowania powstaje jeśli nie za oceanem, to przynajmniej na pewno za granicą. Sam ten fakt nie powodowałby jeszcze zamieszania, biorąc pod uwagę, że Polska Norma zgodna jest w tym względzie ze standardem ogólnoświatowym, ISO-8859-2. Niestety, niektórzy producenci oprogramowania usiłowali wypromować własne pomysły dotyczące tego, jak mają być reprezentowane znaki polskiego alfabetu. Mowa o firmie Microsoft, która wprowadziła tzw. stronę kodową 1250, usiłując metodą faktów dokonanych uczynić ją standardem. Internet jednak, w przeciwieństwie do rynku aplikacji biurowych nie został praktycznie zmonopolizowany przez giganta z Redmond. Microsoft z czasem uznał ISO-8859-2 za standard w sieci i wszystkie aplikacje internetowe tej firmy pozwalają na jego obsługę. Problem nie zniknął jednak - w większości programów działających na platformie MS Windows CP-1250 nadal obowiązuje. Dotyczy to również narzędzi do tworzenia stron WWW, a także powoduje trudności przy konwertowaniu dokumentów napisanych przy pomocy innych aplikacji. Gdzieniegdzie w Internecie nadal pokutują strony, na których polskie znaki są do odczytania jedynie dla osób używających MS Windows, a co gorsza zdarza się nadal (chociaż na szczęście zauważalna jest tendencja spadkowa) nowe strony kodowane w CP-1250. Zupełnie niezrozumiałe jest (i wyraźnie nacechowane złą wolą) promowanie CP-1250 w publikacjach mających na celu nauczyć podstaw pisania stron w języku HTML i ze swej strony stanowczo odradzam korzystanie z takowych "samouczków". Niestety problem z kodowaniem polskich znaków nie kończy się na konflikcie ISO-8859-2 z CP-1250. Oliwy do ognia dolewa standard języka HTML, proponując własne metody oznaczania znaków nie znajdujących się w alfabecie łacińskim, z których korzystają niektóre aplikacje służące do tworzenia stron WWW, co gorsza niezależnie od platformy systemowej (te same metody stosuje np. FrontPage Microsoftu, jak i tryb PGSGML w uniksowym edytorze Emacs). Generalnie, problem ten dotyczy narzędzi, które przewidują tworzenie stron zgodnych z ISO-8859-1, jednak dobrze jest zwrócić uwagę (podglądając efekt działania programu jakimkolwiek edytorem tekstowym), czy zamiast znaków polskiego alfabetu nie pojawiają się znaczki
typu ó.
1.4. Języki programowania WWW
Od niedawna programowanie WWW jest jedną z szybciej rozwijających się i najbardziej obiecujących dziedzin internetowej informatyki. Programy działające via WWW podzielić można na dwa podstawowe rodzaje:
Programy wykonywane na serwerze WWW
Programy wykonywane po stronie klienta WWW
Przykładem języków wykorzystywanych w programach pierwszego typu są Java i JavaScript. Języki takie jak Java, dzięki temu, co stanowi ich istotę, czyli dzięki niezależności od platformy mają stać się językami przyszłości. Oficjalnie firma Sun (twórca języka Java) ma prawo ustanawiać standard tego języka, istnieje jednak kilka jego wersji różniących się w szczegółach. Nie polecam w związku z tym stosowania stron wykorzystujących Javę bez (przynajmniej) pozostawienia użytkownikowi możliwości wyboru strony bez tego udogodnienia.
Inaczej wygląda sytuacja, jeśli chodzi o języki, które wykonują programy służące modyfikacji zawartości stron bądź do tworzenia dynamicznie dokumentów WWW. Dzięki zastosowaniu mechanizmu CGI (Common Gateway Interface), który zleca serwerowi wykonanie odpowiedniego programu (np. na podstawie umieszczenia w URL adresu skryptu wraz z parametrami) i przesłanie wyników jego działania do klienta (w przeciwieństwie do języków pierwszego rodzaju, które przesyłają klientowi kod programu do wykonania) są one niewidoczne dla przeglądarki, która otrzymuje dokładnie takie same dane, jak w wypadku przesyłania przez serwer strony będącej zwykłym dokumentem HTML. W wypadku, gdy serwer WWW pracuje pod kontrolą systemu operacyjnego U*X, do pisania skryptów CGI można użyć dowolnego języka programowania, którego kompilator badź interpreter zainstalowany jest na serwerze, takiego jak C, C++, tcl, Pascal, czy nawet języka skryptów shella; najczęściej jednak używany jest język Perl (w dowolnej wersji, najlepiej jednak w wersji 5). Skrypt CGI pobiera parametry umieszczone w adresie URL, który go uruchamia i wyprowadza efekt swojego działania na standardowe wyjście, a serwer przesyła go do programu klienckiego.
2.1. Standardy nieoficjalne
Najważniejsze spośród standardów nieoficjalnych starają się określić dobre zwyczaje, które warto stosować podczas projektowania strony. Część z nich omówiłem wcześniej, teraz pozostaje jedynie zwrócić uwagę na pozostałe. Warto przygotować stronę w taki sposób, aby jej ładowanie wraz z rysunkami zajęło niezbyt wiele czasu. Dokonywane na Zachodzie badania dotyczące preferencji użytkowników pokazały, iż w wypadku, gdy strona ładuje się w całości dłużej niż 20 sekund, większość potencjalnych jej odbiorców przerywa ładowanie i rezygnuje z oglądania strony. Aby tak się nie działo, należy zadbać o to, by:
pojedyncza strona nie była zbyt duża
wielkość plików graficznych włączonych do strony pozwalała na ich szybkie ściągnięcie.
Lepiej jest stronę podzielić na niewielkie fragmenty, niż dopuścić, by jej wielkość nadmiernie wzrosła. Wielkość pojedynczego pliku graficznego powinna być najmniejsza z możliwych, nie większa jednak niż 40kb (optimum to 10-20kb).
3. Podsumowanie
Standardy nie są bynajmniej stworzone po to, by komukolwiek przeszkadzać, wręcz przeciwnie, mają one za zadanie jedynie pomoc projektantom. Z tego powodu dziwna może być niechęć do ich stosowania. Być może powodem jest niechęć do ciągłej nauki i trzymania ręki na pulsie, czytania wielu umieszczonych w różnych zakamarkach Internetu dokumentów, sprawdzania efektów swej pracy na wiele różnych sposobów. Standardy dla WWW są ustanawiane przez W3C i właśnie na stronach tej organizacji najlepiej szukać dokładniejszych informacji.
Szczególnie warte uwagi są: http://www.w3.org/TR/REC-html40 (HTML 4.0)