Języki programowania wysokiego poziomu WWW
Zawartość Protokół HTTP Języki HTML i XHTML Struktura dokumentu html: DTD i rodzaje html; xhtml Nagłówek html - kodowanie znaków, język Ciało html Sposób formatowania tekstu Nagłówki, paragrafy i podstawowe formatowanie Listy wypunktowane i numerowane Hiperłącza
Protokół HTTP HTTP (ang. Hypertext Transfer Protocol) protokół przesyłania dokumentów hipertekstowych WWW. Za pomocą protokołu HTTP przeglądarka wysyła żądanie do serwera i otrzymuje odpowiedź. Najważniejsze cechy: Znormalizowany sposób komunikacji, umożliwia komunikowanie się komputerów niezależnie od platformy Ma formę transakcji, składających się z żądania (request) oraz odpowiedzi (response) Bezstanowy nie zachowuje żadnych informacji o zrealizowanej transakcji; Stanowość zapewnia najczęściej mechanizm sesji kontrolowanej przez serwer, do czego wykorzystuje się mechanizm ciasteczek (cookies) zapisywanych przez klienta
Protokół HTTP Żądanie HTTP ma postać: Metoda Zasób Wersja-http Nagłówek Przykład: Nagłówek [pusta linia] Zawartość (jeżeli potrzebna) GET / HTTP/1.1 Host: www.domena.com Connection: keep-alive
Protokół HTTP Odpowiedź HTTP ma postać: Wersja-http Kod-odpowiedzi Uzasadnienie Nagłówek Przykład: Nagłówek [pusta linia] Zawartość (jeżeli potrzebna) HTTP/1.1 200 OK. Server: Apache Content-type: text/html [Dokument HTML]
Protokół HTTP Zdefiniowano 8 metod (rodzajów żądań) HTTP: GET pobranie wskazanego przez URI zasobu; najczęściej wykorzystywany POST przesłanie danych od klienta do serwera, np. danych formularza; dane przekazywane są do wskazanego zasobu, tj. skryptu CGI, PHP, HEAD pobranie informacji o wskazanym zasobie PUT umieszczenie zasobu (pliku) na serwerze DELETE usunięcie zasobu z serwera OPTIONS informacje o kanale komunikacyjnym TRACE do celów diagnostycznych CONNECT dotyczące tunelowania
Protokół HTTP Serwer HTTP musi obowiązkowo odpowiadać tylko na dwa rodzaje żądań: GET HEAD Dodatkowo, jeżeli aktywny jest mechanizm dynamicznego tworzenia stron WWW, na żądanie POST Pozostałe mogą nie działać, serwer odpowiada wówczas kodem 501: HTTP/1.1 501 Not Implemented
Protokół HTTP Ważniejsze kody odpowiedzi serwera HTTP: 200 OK serwer przesyła żądany dokument w zawartości 204 No contenet serwer zrealizował żądanie, jednak nie wymaga ono przesłania zawartości 301 Moved prmanently zasób został przeniesiony 401 Unauthorized dostęp do zasobu wymaga autoryzacji 403 Forbidden serwer zrozumiał zapytanie, jednak dostęp do zasobu jest zabroniony 404 Not found serwer nie odnalazł zasobu 500 Internal Server Error serwer nie może zrealizować żądania z powodu błędów w oprogramowaniu (np. CGI) 501 Not implemented metoda nie jest obsługiwana (np. PUT) 503 Service unavailable usługa niedostępna (przeciążenie)
Przeglądarki internetowe Aplikacje służące do pobierania i wyświetlania dokumentów z serwerów WWW (protokoły HTTP i HTTPS, dokumenty HTML i XHTML, wraz z osadzonymi arkuszami CSS, obrazkami itd.) 1990 WordWideWeb program Tima Bernersa-Lee, 1993 Lynx przeglądarka tekstowa na platformę UNIX, 1993 Mosaic pierwsza graficzna przeglądarka; pierwowzór IE i NN 1994 Opera komercyjna od 1996, darmowa od 2005 1994 Netscape Navigator pierwsza komercyjna przeglądarka 1995 MS Internet Explorer udostępniona w Win95 1998 Mozilla upubliczniona wersja NN 2000 Konqueror na platformę Linux 2002 FireFox wywodzi się z Mozilli, obecnie druga na rynku 2003 Safari wywodząca się z Konquerora 2008 Google Chrome wywodzi się z KHTML (jak Konqueror)
Przeglądarki internetowe Lynx Mosaic Internet Explorer Netscape Navigator Mozilla Firefox Sea Monkey Konqueror Safari Opera
Przeglądarki internetowe Wojny przeglądarek Pierwsza wojna przeglądarek: 1997-1999 MS Internet Explorer vs Netscape Navigator Niestandardowe rozszerzenia ("fajniejsze" strony WWW); początkowo wygrywa NN, przeważa fakt, że IE jest darmowy Efekt: całkowita dominacja IE, zastój w rozwoju przeglądarek i standardów HTML
Przeglądarki internetowe Wojny przeglądarek Druga wojna przeglądarek: 2002-? MS Internet Explorer vs (Firefox + Safari + Opera) Zgodność ze standardami i likwidacja monopoli; paradoksalnie, IE przeważa ponieważ nie respektuje standardów W3C
Język HTML HTML (ang. Hypertext Markup Language) język znaczników hipertekstowych obecnie dominujący język stron internetowych. Opisuje strukturę informacji zawartych w dokumencie (nagłówki, akapity listy, tabele, ) Umożliwia określenie sposobu prezentacji poszczególnych elementów dokumentu (wyrównanie, obramowanie, odstępy, czcionka, kolor, ) Umożliwia osadzanie w dokumencie dodatkowych elementów (grafika, animacje, aplety, formularze, ) Umożliwia osadzanie w dokumencie skryptów, wpływających na zachowanie przeglądarki (JavaScript, VB Script, )
Język HTML Wersje języka HTML 1980 prototyp hipertekstowego systemu informacyjnego 1989 propozycja hipertekstowego systemu opartego na sieci Internet, projekt W3 (WordWildWeb) 1991 pierwsza publicznie dostępna specyfikacja HTML (22 znaczniki, z czego 13 jest używanych w HTML 4.01) 1993 propozycja (draft) opublikowana przez IETF (Internet Engineering Task Force) 1995 HTML 2.0, pierwsza oficjalna specyfikacja IETF 1996 HTML 3.0; powstaje W3C 1997 HTML 4.0 1998 HTML 4.01 2008 wersja robocza (working draft) HTML 5.0
Język HTML HTML wywodzi się z języka SGML (ang. Standard Generalized Markup Language). SGML jest językiem służącym do definiowania dowolnych znaczników i ustalania zasad ich poprawnego użytkowania. Ze względu na złożoność standardu SGML bardzo mało narzędzi implementuje pełen standard. W związku z trudnościami implementacyjnymi powstał język i standard XML będący początkowo podzbiorem reguł SGML. Ważnym elementem dokumentów SGML jest definicja typu dokument (DTD, Document Type Definition), tj. formalna definicja składni oraz struktury dokumentu;
Język HTML Przykładowy fragment SGML:
Język XHTML XHTML (ang. Extensible Hypertext Markup Language) rozszerzalny język znaczników hipertekstowych uważany za następcę języka HTML, intensywnie promowany. Oparty na XML (zamiast SGML); Obsługa przestrzeni nazw XML - możliwość stosowania rozszerzeń (np. SVG, MathML, ) Bardziej restrykcyjne reguły - obowiązkowe znaczniki zamykające - rozróżniane małe i wielkie litery Łatwiejsza walidacja dokumentów (ale nie weryfikacja) Inny typ MIME zawartości application/xhtml+xml zamiast text/html
Język XHTML Wersje języka XHTML 2000 XHTML 1.0, zatwierdzony jako rekomendacja W3C; Odpowiedni przeredagowany HTML 4.0 (zgodność z XML); Trzy warianty (Strict, Transitional, Frameset) jak HTML 4.0 2001 XHTML 1.1, rekomendowany jako następna HTML, mający go zastąpić 2005 XHTML 2.0, wersja robocza (draft) 2008 XHTML 5, wersja robocza (draft) języka HTML 5 w wariancie opartym na XML