^
Christmas Special day Offer
PHP – interpretowany skryptowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.
PHP jest najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym (np. za pomocą biblioteki GTK+, używając rozszerzenia PHP-GTK). Implementacja PHP wraz z serwerem WWW Apache oraz serwerem baz danych MySQL określana jest jako platforma AMP (w środowisku Linux – LAMP, w Windows – WAMP)
Skrypty napisane w PHP są z reguły umieszczane w plikach tekstowych (czasami razem z kodem HTML lub XHTML). Dzięki temu PHP jest podobny w założeniach do coraz rzadziej stosowanego mechanizmu Server Side Includes. PHP pozwala także na wykonywanie skryptów z linii poleceń podobnie jak Perl, Python oraz Ruby. Jego modułowa budowa daje również możliwość programowania samodzielnych aplikacji z interfejsem graficznym. PHP umożliwia współpracę z wieloma rodzajami źródeł danych, takich jak systemy zarządzania bazami danych, pliki tekstowe, dokumenty XML oraz serwisy WWW.
Pierwsza wersja PHP, rozpowszechniana pod nazwą PHP/FI (Personal Home Page/Forms Interpreter), została stworzona przez Rasmusa Lerdorfa w roku 1994 jako zestaw skryptów Perla służący do monitorowania internautów odwiedzających jego witrynę. Gdy ruch stał się zbyt duży, przepisał je w języku C, dodając przy tym nowe opcje. Niedługo później ludzie zaczęli prosić go o możliwość użycia tych narzędzi na swoich stronach, zatem 8 czerwca 1995 roku autor udostępnił publicznie kod źródłowy (PHP Tools 1.0). Już kilka miesięcy później projekt przekształcił się w zalążek znanego obecnie języka programowania, gdy został połączony z innym narzędziem Rasmusa Lerdorfa – Form Interpreter, które dało drugi człon nazwy. W 1997 roku pojawiło się PHP/FI 2.0, posiadające wtedy kilka tysięcy aktywnych użytkowników na całym świecie oraz obsługujące 50 tys. domen. Wersja ta spędziła większość „życia” na beta testach. Oficjalne wydanie było tylko jedno i ukazało się w listopadzie 1997 roku.
W 1997 roku projektem zainteresowali się dwaj izraelscy programiści: Zeev Suraski i Andi Gutmans. Odkryli oni, że PHP/FI ma zbyt małe możliwości na potrzeby aplikacji eCommerce, którą tworzyli na uniwersytecie. Zdecydowali wtedy, że przepiszą kod PHP całkowicie od nowa, korzystając z pomocy już istniejącej społeczności PHP. W czerwcu 1998 roku ogłosili PHP 3.0 jako następcę PHP/FI, którego dalszy rozwój został wtedy zatrzymany. Był to wielki krok naprzód. PHP 3.0 posiadało całkowicie nową architekturę, która znacznie zwiększała wydajność. Pojawiły się w niej zalążki programowania obiektowego, ale najważniejszą cechą aplikacji była jej modułowość. Użytkownicy mogli rozszerzać teraz funkcjonalność języka poprzez dodawanie nowych modułów.
Krótko po wydaniu PHP 3, w zimie 1998 Zeev Suraski oraz Andi Gutmans jeszcze raz zabrali się za przepisywanie kodu źródłowego PHP, korzystając z doświadczeń nabytych przy pracach nad poprzednią wersją. Za główne cele obrali poprawienie modułowości oraz wydajności złożonych aplikacji. Choć dotychczasowa wersja potrafiła sobie z nimi poradzić, nie była jednak stworzona do tego celu i przegrywała przez to z innymi rozwiązaniami.
W połowie roku 1999 ukazał się oficjalnie Zend Engine, nowy silnik języka skryptowego, wokół którego niedługo później zaczęto budować PHP 4. Jego nazwa to kompromisowe połączenie imion twórców projektu. Nowa, oparta na nim wersja PHP, ukazała się w maju 2000 roku. Tak jak poprzednio, był to potężny krok naprzód. Programiści mieli do dyspozycji teraz wiele nowych narzędzi, konstrukcji językowych oraz bezpieczniejszy system wejścia/wyjścia. Od strony administracyjnej pojawiło się oficjalne wsparcie dla wielu nowych serwerów. Przez cztery lata od chwili wydania ukazały się trzy kolejne edycje tej wersji oznaczone numerami: 4.1, 4.2 oraz 4.3. W każdej z nich odczuwalne było zwiększenie bezpieczeństwa, szybkości działania oraz możliwości. W 2004 roku obsługiwały one łącznie 20% wszystkich domen sieciowych.
W 2002 roku Zeev Suraski oraz Andi Gutmans ponownie rozpoczęli znaczącą modernizację silnika PHP mającą na celu dodanie do tego języka modelu obiektowego z prawdziwego zdarzenia. W lutym 2003 ukazała się pierwsza wersja alpha nowej wersji PHP oznaczonej numerem 5.0.0. Stabilna wersja ukazała się prawie półtora roku później, w lipcu 2004 roku. Nowości sprawiły, że PHP może konkurować teraz z innymi rozwiązaniami server-side, jak równy z równym. Pojawił się całkowicie nowy model programowania obiektowego, przez co niestety została utracona część kompatybilności z poprzednimi wersjami PHP. Jest to spowodowane zmianą sposobu reprezentacji obiektów. W wersjach wcześniejszych obiekt był jednocześnie zmienną, co sprawiało duże trudności, dlatego też w wersji 5 na wzór Javy zmienna obiektowa stała się jedynie referencją do właściwego obiektu. Obecnie operacja przypisania powoduje powstanie drugiej referencji wskazującej na ten sam obiekt. Przebudowano także wiele modułów, w tym do obsługi XML-a i komunikacji z bazą danych, czyniąc je bardziej przyjaznymi dla programistów. Oprócz tego udostępniono zbiór interfejsów znacznie rozszerzających możliwości klas użytkownika. Nastąpiły także zmiany oraz nowości w systemie modułów PHP. Funkcje obsługi języka XML zostały przepisane i wbudowane bezpośrednio w jądro aplikacji. Oprócz narzędzi obsługujących model DOM udostępniono SimpleXML – prosty interfejs do modyfikacji dokumentów XML. Wprowadzono SQLite, nowy, domyślnie „wkompilowany” silnik baz danych. 24 listopada 2005 roku ukazała się wersja 5.1, w której pojawił się PDO – ujednolicony sterownik oraz preprocesor zapytań umożliwiający komunikację z różnymi systemami baz danych. Kolejna wersja – 5.2, pojawiła się 2 listopada 2006 roku i skoncentrowana była na rozbudowie mechanizmów wejścia/wyjścia (obsługa formatów ZIP i JSON, filtry wejścia, obserwacja postępów przesyłania plików) i zarządzaniu pamięcią. Ostatnim z tej gałęzi miało być wydanie 5.2.16, mające zakończyć okres oficjalnego wsparcia dla PHP 5.2. 6 stycznia 2011; ponad 9 lat temu wydano jednak wersję 5.2.17, która naprawia błąd mogący powodować zawieszenie serwera.
30 czerwca 2009 wydano PHP 5.3. Główne zmiany obejmują wprowadzenie w języku obsługi przestrzeni nazw. Pojawiły się również wyrażenia lambda i tzw. domknięcia (znane z takich języków jak JavaScript, Ruby czy Lisp). Oprócz tego dopracowano również obsługę metod statycznych i poprawiono działanie PHP pod systemem Windows wprowadzając kompilacje VC9 oraz eksperymentalne wersje binarne pod x64. Ponadto wprowadzono mysqlnd – opcjonalny, natywny zamiennik PHP dla libmysql oraz poprawiono wiele błędów.
W połowie roku 2005 zaczęły pojawiać się oficjalne sygnały, że rozpoczęto wstępne prace nad PHP 6. Głównym celem jest dalsze dążenie do ujednolicenia projektu, wprowadzenia dalszych możliwości wymaganych przez złożone projekty (m.in. pełne wsparcie unicode czy system cache’owania kodu). Usuwane są też kolejne archaiczne rozwiązania pochodzące jeszcze z czasów PHP/FI oraz PHP3, co w przypadku najstarszych skryptów ponownie spowoduje problemy z kompatybilnością. Zmiany koncentrowały się przede wszystkim wokół wbudowania w język obsługi Unicode, dalszych usprawnień modelu obiektowego oraz wycofania obsługi wybranych, przestarzałych rozwiązań.
Przeciągające się prace nad PHP 6 sprawiły, że niektóre z planowanych wcześniej rozszerzeń takich, jak wprowadzenie przestrzeni nazw i funkcji anonimowych, dołączono już do wcześniejszych wersji, tworząc gałąź 5.3. Ostatecznie w marcu 2010 roku rozwój wersji 6.0 w dotychczasowym kształcie został oficjalnie zawieszony wskutek braku postępów w implementacji standardu Unicode oraz wewnętrznych sporów w gronie czołowych programistów. W związku z tym gałąź trunk, gdzie dotychczas trwał rozwój PHP 6, została zarchiwizowana, a następnie reaktywowana na bazie wersji 5.3.0. W późniejszych miesiącach podjęto decyzję, że najbliższe nowe wydanie będzie nosić numer 5.4.
Prace nad nową główną wersją PHP, nazwaną PHP 7 rozpoczęły się oficjalnie w roku 2014. Wśród twórców rozgorzały dyskusje na temat nazwy następnego wydania PHP. Chociaż eksperymentalna wersja PHP 6, której celem było wprowadzenie wsparcia dla Unicode, nie została nigdy wydana, wiele artykułów i książek odwoływało się do starej nazwy PHP 6. Mogłoby to prowadzić do nieporozumień, gdyby nowe wydanie, zawierające inne funkcje, a niezawierające wsparcia dla Unicode, również nazywało się PHP 6. W wyniku głosowania wybrano nazwę PHP 7.
Bazą PHP 7 stała się eksperymentalna gałąź, oryginalnie nazwana PHPNG (PHP Next Generation), mająca na celu optymalizację wydajności PHP przez refaktoryzację Zend Engine, zachowując niemal całkowitą zgodność języka. Począwszy od 14 lipca 2014 r., główny punkt odniesienia testowania wydajności PHPNG, którym jest WordPress, wskazuje niemal 100% wzrost wydajności. Zmiany wprowadzone w PHPNG powinny również ułatwiać implementowanie usprawnień wydajności w przyszłości, ponieważ bardziej zwarte struktury danych oraz inne zmiany uważane są za lepiej nadające się do pomyślnej migracji do kompilacji Just-in-time.
PHP 7 wyróżnia się między innym ulepszoną składnią zmiennych, wewnętrznie spójną i kompletną, co jest od dawna problemem w PHP. Pozwala to na użycie operatorów ->
, []
, ()
, {}
i ::
z dowolnymi poprawnymi wyrażeniami po lewej. Wersja ta dodaje także dwa nowe operatory – ??
(znany z języków takich jak C#) oraz <=>
. Pośród nowości znalazło się także kilka nowych funkcji, możliwość umieszczania tablic w stałych, czy klasy anonimowe. Jest to też pierwsza wersja, która w typowaniu argumentów funkcji pozwala na użycie typów skalarnych (string, integer, float, boolean). Wprowadzono również możliwość określenia typu zwracanego przez funkcję.
Cała funkcjonalność PHP zawarta jest w czterech zbiorach modułów różniących się od siebie dostępnością dla programisty.
Zdecydowana większość modułów ma budowę proceduralną. Dopiero w PHP 5 rozpoczęto tworzenie w pełni obiektowych rozszerzeń oraz obiektowych zamienników starych funkcji.
W roku 1997 język PHP/FI obsługiwało około 50 tysięcy domen internetowych. Do roku 2005 udział PHP rósł. Później uległ stabilizacji na poziomie ok. 20 milionów domen(9% wszystkich). Obecnie jest dominującym językiem programowania i obejmuje około 75% domen internetowych.
W PHP powstała znaczna część obecnie istniejących aplikacji sieciowych. Należą do nich systemy zarządzania treścią, systemy forów dyskusyjnych, aplikacje pocztowe oraz klienty baz danych.
Protokół przesyłania plików (FTP) jest uważany za standardowy protokół sieciowy używany podczas przesyłania plików pomiędzy klientem a serwerem w sieci. Protokół odnosi się do systemu reguł, które stosują komputery sieciowe w celu wzajemnej komunikacji. Jest to również protokół klient-serwer, który jest wykorzystywany przy przesyłaniu plików pomiędzy różnymi urządzeniami w Internecie. FTP wykorzystuje internetowe protokoły TCP/IP w celu umożliwienia procesu przesyłania danych. Promuje udostępnianie plików pomiędzy urządzeniami zdalnymi poprzez niezawodny i efektywny transfer danych. FTP pozwala ludziom jako użytkownikom wymieniać i udostępniać dane w obrębie ich obszarów i w całym Internecie.
FTP działa w oparciu o model klient-serwer, w którym serwer FTP i klient FTP wykonają całą operację transferu plików. Serwer FTP zostanie skonfigurowany w sieci i zostanie zidentyfikowana konkretna lokalizacja przechowywania plików, tak jak folder. Ta konkretna lokalizacja stanie się teraz nowym miejscem przechowywania udostępnianych danych, w którym będą przechowywane pliki, które użytkownik chce udostępniać. Użytkownicy końcowi będą musieli uzyskać dostęp do wspomnianego serwera plików poprzez FTP, aby rozpocząć kopiowanie plików do lokalnego folderu lub lokalnego systemu. Protokół FTP jest zależny od protokołu TCP/IP w celu umożliwienia funkcjonowania sieci i opiera się na wykorzystaniu jednego lub więcej klientów FTP.
Klient FTP będzie działał jako agent komunikacyjny, który będzie współdziałał z serwerem w celu pobrania i przesłania plików. W ten sposób klienci FTP wysyłają takie połączenia na serwery FTP. Podczas słuchania prośby klienta o przesłanie lub pobranie plików, serwer FTP wykona już operację przesyłania plików.[3] Ponadto, gdy rozpocznie się sesja FTP pomiędzy klientem a serwerem, klient zainicjuje połączenie TCP wraz z zakończeniem serwera. Klient wyśle informacje kontrolne na ten temat. Kiedy serwer otrzyma ten dokument, nawiąże połączenie danych z klientem. Dzięki temu istnieje limit jednego pliku, który można przesłać za pomocą jednego połączenia danych.
Połączenie sterujące pozostanie aktywne przez cały czas trwania sesji użytkownika. FTP musi utrzymywać stan ze swoim użytkownikiem przez cały czas trwania sesji. Jest to odróżnienie od innego protokołu, HTTP, który jest bezpaństwowy i nie musi śledzić żadnego stanu użytkownika.
Poniżej przedstawiono podstawowe zadania, które FTP może naprawdę wykonać:
Trzy rodzaje struktur danych dozwolone przez FTP:
Zarówno FTP, jak i HTTP są powszechnie uznawane za protokoły transferu plików, najczęściej używane do przesyłania danych pomiędzy klientem a serwerem. Funkcje HTTP są takie same w przypadku funkcji łączących FTP i SMTP. Jednakże, one również ustaliły różnice.
W związku z tym, FTP jest starszy i jest zastępowany nowymi protokołami, podczas gdy HTTP będzie tam w niedalekiej przyszłości.
Jest to aplikacja kliencka, która została zaprojektowana tak, aby wyglądać i czuć się bardzo podobnie do widoku systemu plików eksploratora interfejsu użytkownika Windows.
Umożliwia to użytkownikom, którzy nie mają dostępu do Internetu i kopiowanie plików za pomocą anonimowego FTP poprzez wysłanie wiadomości e-mail i umieszczenie słowa pomoc w treści tekstu.
Jest to strona internetowa, na której użytkownicy mogą w prosty sposób przesłać lub pobrać określone pliki.
Jest to komputer dedykowany, który świadczy usługę FTP. Zaprasza hakerów i wymaga sprzętu lub oprogramowania zabezpieczającego, takiego jak używanie nazw użytkowników, haseł i kontroli dostępu do plików.
Jest to aplikacja komputerowa, która uzyskuje dostęp do serwera FTP. Z tym, użytkownicy muszą zablokować przychodzące połączenie FTP, które próbuje użyć trybu pasywnego i muszą sprawdzić wirusy dla wszystkich pobieranych plików.
W 1971 roku pierwszy standard FTP został opublikowany przez Abhaya Bhushana z MIT. Ta pierwsza wersja znana jest również jako RFC 114. W latach1971-1980 do przemysłu wprowadzono również inne wersje, mianowicie RFC 172, RFC 265 i RFC 354. W 1980 r. opublikowano obecnie używaną nowoczesną wersję standardu FTP. Uznawana za drugą generację, w 1985 r. RFC 959 została wprowadzona na rynek.
W latach 1980-1997 zdefiniowano funkcje klient-serwer. W 1997 roku protokół FTPS został zastosowany do FTP w trzeciej generacji. W 1998 roku zaproponowano rozszerzenie dla IPv6, NAT i rozszerzonego trybu pasywnego. W połowie 2000 roku, SFTP został po raz pierwszy zaproponowany w 1997 roku jako część standardu RFC 4251. Organizacje zaczęły używać rozwiązań MFT lub rozwiązań do zarządzania przesyłem plików jako zamiennika podstawowego serwera FTP. W porównaniu z FTP oferuje wyższy poziom bezpieczeństwa, zarządzania i kontroli transferu plików oraz obsługuje protokoły FTPS i SFTP.
Kaskadowe arkusze stylów (ang. Cascading Style Sheets, w skrócie CSS) – język służący do opisu formy prezentacji (wyświetlania) stron WWW. CSS został opracowany przez organizację W3C w 1996 r. jako potomek języka DSSSL przeznaczony do używania w połączeniu z SGML-em. Pierwszy szkic CSS zaproponował w 1994 r. Håkon Wium Lie.
Arkusz stylów CSS to lista dyrektyw (tzw. reguł) ustalających w jaki sposób ma zostać wyświetlana przez przeglądarkę internetową zawartość wybranego elementu (lub elementów) (X)HTML lub XML. Można w ten sposób opisać wszystkie pojęcia odpowiedzialne za prezentację elementów dokumentów internetowych, takie jak rodzina czcionek, kolor tekstu, marginesy, odstęp międzywierszowy lub nawet pozycja danego elementu względem innych elementów bądź okna przeglądarki. Wykorzystanie arkuszy stylów daje znacznie większe możliwości pozycjonowania elementów na stronie, niż oferuje sam (X)HTML.
CSS został stworzony w celu odseparowania struktury dokumentu od formy jego prezentacji. Separacja ta zwiększa zakres dostępności witryny, zmniejsza zawiłość dokumentu, ułatwia wprowadzanie zmian w strukturze dokumentu. CSS ułatwia także zmiany w renderowaniu strony w zależności od obsługiwanego medium (ekran, palmtop, dokument w druku, czytnik ekranowy). Stosowanie zewnętrznych arkuszy CSS daje możliwość zmiany wyglądu wielu stron naraz bez ingerowania w sam kod (X)HTML, ponieważ arkusze mogą być wspólne dla wielu dokumentów.
Pierwotnie HTML był językiem wyłącznie do opisu struktury dokumentu. Jednak z czasem zrodziła się potrzeba ożywienia wyglądu takich dokumentów. Powoli dodawano nowe znaczniki do HTML pozwalające kontrolować kolory, typografię, dodawać nowe media (np. obrazki). Te niestandardowe rozszerzenia realizowane były przez najpopularniejszych producentów przeglądarek bez porozumienia z drugim. Doprowadziło to do zaimplementowania nowych znaczników działających w konkretnej grupie przeglądarek i nie działających w innych przeglądarkach. Projektanci zostali zmuszeni do wysyłania do klienta różnych wersji tej samej witryny w zależności od użytej przeglądarki, uzyskanie identycznego wyglądu w różnych przeglądarkach było praktycznie niemożliwe. Håkon Wium Lie jako pierwszy zaproponował CHSS (Cascading HTML Style Sheets) w październiku 1994 roku. Później Lie i Bert Bos pracowali wspólnie nad standardem CSS (literka H została usunięta ze względu na możliwość stosowania stylów do innych podobnych do HTML języków).
W tym czasie została utworzona organizacja World Wide Web Consortium, która z Lie’em i Bosem na czele przejęła prace nad CSS. Pod koniec 1996 roku wydano oficjalną dokumentację CSS, Kaskadowe arkusze stylów, poziom 1.
W3C zatwierdziło dwa oficjalne standardy CSS: CSS 1 i CSS 2, a także dnia 7 czerwca 2011 roku standard CSS 2.1.
Trwają również prace nad CSS3. Wersja ta w stosunku do poprzedników wzbogaci się o wiele selektorów oraz właściwości, nowością jest także modułowy charakter języka – nie będzie to już jednolita rekomendacja, lecz kilkadziesiąt osobnych dokumentów, co pozwoli na włączanie lub wyłączanie odpowiednich modułów w przeglądarkach w zależności od chwilowych potrzeb.
Przed pojawieniem się CSS wszystkie informacje dotyczące wyglądu dokumentów HTML (między innymi rodzaj i kolor czcionki, ułożenie, marginesy) zawarte były w znacznikach HTML. Język CSS umożliwia przeniesienie tych informacji do osobnego pliku. Skutkuje to uproszczeniem i zwiększeniem przejrzystości samego dokumentu HTML. Bez użycia CSS w przypadku definiowania stylu dla nagłówka (h1) lub podtytułu (h2) jego definicja musiałaby zostać powtórzona w każdym miejscu, w którym pojawia się dana struktura. Efektem takiego działania byłoby zmniejszenie czytelności dokumentu i jego odporności na błędy oraz trudność w utrzymaniu. Dodatkowo, zmiany stylu w jednym z miejsc wiązałyby się z koniecznością wprowadzania zmian w każdym miejscu wystąpienia. CSS pozwala na rozgraniczenie warstwy prezentacji od struktury. Język ten umożliwia definicję kolorów, czcionek, układu, rozmiarów, marginesów oraz wielu innych cech związanych z warstwą prezentacji.
HTML (ang. HyperText Markup Language)- hipertekstowy język znaczników, stosowany do tworzenia dokumentów hipertekstowych
HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając odpowiednie znaczenie semantyczne poszczególnym fragmentom tekstu – formując hiperłącza, akapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.
HTML umożliwia określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek i kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów.
W 1980 fizyk Tim Berners-Lee, pracujący dla ośrodka naukowo-badawczego CERN, stworzył prototyp hipertekstowego systemu informacyjnego – ENQUIRE. System wykorzystywano do organizowania i udostępniania dokumentów związanych z badaniami naukowymi. Rewolucyjność pomysłu polegała na tym, że użytkownik, posługując się odnośnikami, mógł z jednej lokalizacji przeglądać dokumenty fizycznie znajdujące się w innych miejscach na świecie.
Język HTML składa się z kilku kluczowych komponentów:
Większość atrybutów elementów składa się z par nazwa-wartość, rozdzielonych znakiem "=", zawartych w znaczniku otwierającym elementu, po jego nazwie. Wartość może być zawarta w pojedynczych lub podwójnych cudzysłowach lub bez nich (o ile wartość nie zawiera spacji). W przeciwieństwie do atrybutów w postaci par nazwa-wartość istnieją atrybuty mające wpływ na element poprzez samo ich zawarcie w znaczniku otwierającym (np. ismap
atrybut dla znacznika img
).
Atrybut id
nadaje elementowi unikatowy identyfikator. Może on zostać użyty przez arkusze stylów do sprecyzowania wyglądu tego elementu lub przez skrypty np. do zmiany jego zawartości. Atrybut class
służy do sklasyfikowania elementów dla celów prezentacyjnych.
Począwszy od wersji 4.0, HTML definiuje listę 252 encji, pozwalających na zapisanie określonych znaków za pomocą specjalnych stałych.
HTML definiuje kilka typów danych, wprowadzanych m.in. jako wartości elementów lub atrybutów. Są to m.in. skrypty (script data), dane arkuszy stylów (stylesheet data), identyfikatory, nazwy, adresy URI, liczby, jednostki miary długości, języki, deskryptory mediów, kolory, kodowania znaków, data i czas, itp.
Aby uaktywnić definicję typu dokumentu (DTD) do celów poprawnej walidacji utworzonej strony, a także w celu uniknięcia działania przeglądarek w trybie quirks, dokument powinien rozpoczynać się deklaracją typu dokumentu (nieformalnie DOCTYPE). DTD, do którego odwołuje się sekcja DOCTYPE, zawiera gramatykę i zasady wykorzystywania znaczników w dokumencie podporządkowanemu określonemu DTD. Większość graficznych przeglądarek korzysta z sekcji DOCTYPE, a także innych dodatkowych informacji, warunkując tryb renderowania danej strony.
Przykład:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
W HTML5:
<!DOCTYPE html>
Powyższa deklaracja odwołuje się do wersji Strict DTD specyfikacji HTML 4.01, która nie posiada znaczników prezentacyjnych, takich jak <font>
, wykorzystując w tym celu kaskadowe arkusze stylów oraz znaczniki <span>
i <div>
. Walidatory kodu odczytują DTD w celu poprawnego sparsowania dokumentu i przeprowadzenia jego walidacji.
Dodatkowo HTML 4.01 obsługuje jeszcze wersje Transitional i Frameset. Wersja Transitional została stworzona do wykorzystywania w potrzebie używania elementów i atrybutów prezentacyjnych, natomiast wersja Frameset obsługuje dokumenty wykorzystujące mechanizm ramek
System zarządzania treścią (ang. Content Management System, CMS) – oprogramowanie pozwalające na łatwe utworzenie i prowadzenie serwisu WWW, a także jego późniejszą aktualizację i rozbudowę, również przez redakcyjny personel nietechniczny.
Kształtowanie treści i sposobu ich prezentacji w serwisie internetowym zarządzanym przez CMS odbywa się za pomocą interfejsów użytkownika, zazwyczaj w postaci stron WWW zawierających rozbudowane formularze.
Podstawowym zadaniem platform CMS jest oddzielenie treści (zawartości informacyjnej serwisu) od wyglądu (sposobu jej prezentacji). Po wprowadzeniu nowych informacji przez uprawnionego redaktora system zapisuje je (np. w bazie danych). Następnie system CMS generuje dynamicznie strony internetowe na podstawie treści pochodzącej z bazy danych oraz odpowiednich szablonów. Pozwala to na bardziej elastyczne a przede wszystkim wygodniejsze zarządzanie treścią niż ma to miejsce w przypadku zastosowania statycznych plików HTML.
Wykorzystanie szablonów stron sprawia, że zmiana koncepcji graficznej całego serwisu sprowadza się do przygotowania i zamiany szablonu (tzw. skórki). Dzięki takiemu podejściu proces publikacji w Internecie staje się prostszy. Ponadto te same dane można prezentować jednocześnie w różnych formatach, np. jako pliki PDF.
W ostatnich latach platformy CMS znacznie ewoluowały, dodając m.in. możliwość elastycznej i dynamicznej modyfikacji już nie tylko treści, ale i struktury.
Systemy zarządzania treścią zazwyczaj oparte są na bazach danych i językach skryptowych (server-side), lub specjalistycznym oprogramowaniu uruchamianym po stronie serwera. CMS może być formą oprogramowania klienckiego, które do aktualizacji strony może używać takich protokołów jak FTP. Coraz częściej wykorzystywane są złożone techniki opisu struktur dokumentów (np. XML).
Najczęściej systemy CMS są napisane w językach takich jak: ASP, JSP, PHP, czy Python.
W zależności od zastosowania systemy CMS podzielić można na kilka typów: na systemy zarządzania dokumentami (Document Management), wiedzą (Knowledge Management), zasobami cyfrowymi (Digital Asset Management), obiegiem treści (Enterprise Content Management), oraz na systemy zarządzania treścią znajdującą się na stronie internetowej (Web Content Management).
Źródło: Wikipedia.com