DZWONEK

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu

Strony są podzielone na statyczne i dynamiczne w zależności od zachowania dokumentu w przeglądarce. Z drugiej strony pojęcia te są często używane w innym sensie. Dokumenty są również podzielone na statyczne i dynamiczne, w zależności od sposobu tworzenia dokumentu.

Po zachowaniu dokumentu w przeglądarce użytkownika wyróżnia się:

  • Statyczne strony html
    Statyczny - oznacza, że \u200b\u200bstrona zawsze wygląda tak samo, w zależności od działań użytkownika. Na przykład menu jest zorganizowane za pomocą łączy do poszczególnych stron, a nie listy rozwijanej.
  • Dynamiczne strony html
    Te strony mogą już reagować na działania użytkowników i zmieniać się. Na przykład po kliknięciu tekstu może pojawić się wyskakujący blok tekstu z tłumaczeniem słów. Nawiasem mówiąc, w ten sposób została zaimplementowana jedna z wtyczek tłumacza do przeglądarki Firefox.

Dynamika na stronach internetowych realizowana jest za pomocą skryptów, które są wykonywane przez przeglądarkę. Wiele elementów języka html obsługuje definicję programów obsługi zdarzeń. Na przykład możesz ustawić obsługę zdarzenia „kliknięcia myszą” na zdjęciu. Następnie, jeśli użytkownik kliknie ten obraz, zostanie wywołany program obsługi zdefiniowany dla tego.

To może wydawać się nieco zagmatwane, ale nie martw się. Kiedy się z tym spotkasz, wszystko będzie łatwiejsze.

Najpopularniejszym językiem tworzenia dynamiki na stronach internetowych jest JavaScript. (Nie myl z językiem programowanie w języku Java... To dwie zupełnie różne jednostki).
Rzadziej używany VBscript (wizualny skrypt podstawowy). (Microsoft jak zwykle poszedł własną drogą).

Zgodnie z metodą tworzenia dokumenty są ponownie dzielone na statyczne i dynamiczne.

Strony nazywane są statycznymi, jeśli znajdują się na serwerze w postaci html.
A dynamiczne to te, które są generowane „w locie” na żądanie przeglądarki.

Jak łatwo jest sprawdzić, czy serwer ma zwykły plik html, to podejście jest bardzo ograniczone. Na przykład masz sklep internetowy i dodałeś nowy produkt... Jeśli Twój sklep składa się ze „statycznych” stron html, musisz ręcznie edytować kilka innych stron. Przynajmniej jest to katalog produktów i prawdopodobnie formularz zamówienia. Jeśli zabraknie Ci dowolnego produktu, ponownie musisz zaktualizować witrynę. To jest bardzo niewygodne. Dlatego nie znajdziesz ani jednego sklepu internetowego w formacie html. (Chociaż można wymyślić system, który automatycznie generuje ponownie witrynę po zmianie produktu. Ale nie jest to zbyt eleganckie rozwiązanie i nigdy o tym nie słyszałem).

Jeśli witryna zawiera często zmieniające się treści ( zadowolony - informacje na stronie), wtedy z pomocą przyjdą Ci skrypty, działa na serwerze... I to jest kluczowa różnica między tymi skryptami, od tych opisanych wcześniej (tych napisanych w JavaScript). Działa to tak:

  1. Przeglądarka żąda dokumentu z serwera
  2. Serwer określa, że \u200b\u200bdokument jest skryptem i uruchamia go w celu wykonania
  3. Skrypt generuje stronę html
  4. Serwer wysyła wygenerowaną stronę do przeglądarki, dzięki czemu przeglądarka nawet nie wie, że skrypt został uruchomiony na serwerze

Istnieje kilka języków programowania, w których można pisać skrypty generujące strony „dynamiczne”. Najpopularniejsze z nich to:

  1. Pyton
  2. Kod binarny (program w C lub C ++ skompilowany do kodu wykonywalnego)

Każdy z tych języków ma swoje specyficzne cechy zastosowania. Możesz pisać skrypty w dowolnym języku. Najważniejsze jest poznanie jego mocnych i słabych stron oraz efektywne ich wykorzystanie. Bardziej szczegółowo opowiem o tych językach na naszych stronach z listami mailingowymi. W międzyczasie ważne jest, aby wiedzieć, że tak jest inne języki programowanie, w którym programuje się witryny o często zmieniającej się treści

Z reguły, jeśli widzisz, że adres strony kończy się na .html lub .htm, jest to zwykła strona statyczna. (Oczywiście możesz skonfigurować serwer tak, aby wykonywał skrypty, które kończą się tymi samymi zakończeniami, ale nie jest to praktyczne. Wszystkie te same .html i .htm są standardem i nie powinieneś redefiniować tych zakończeń.) Jeśli widzisz inne zakończenia, to najprawdopodobniej jest to skrypt. Na przykład skrypty na język PHP zwykle mają rozszerzenie .php, w Perl - .pl, ASP - .aspx
Jeśli adres nie zawiera nazwy strony, serwer użyje dokumentu domyślnego (zwykle jest to index.html lub index.htm lub index.php).

Muszę powiedzieć, że teraz system hybrydowy nabiera rozpędu. Jego nazwa przypomina holenderski klub piłkarski - AJAX, co oznacza: Asyncronous JavaScript And XML (nie wiem, jak wygląda nazwa holenderskiego klubu :)). Technologia ta umożliwia skryptom JavaScript dostęp do dowolnego skryptu na serwerze i otrzymywanie informacji z serwera. To z kolei daje użytkownikowi elastyczność i umożliwia przeładowanie tylko części zawartości strony, a nie całej (co znacznie oszczędza przepustowość).

wnioski

Statyczne strony HTML nie są zbyt elastycznym rozwiązaniem. Powinieneś ich używać tylko wtedy, gdy masz całkowicie statyczną zawartość. Na przykład publikujesz książkę w Internecie. Książka została już napisana i nie ulegnie zmianie. W takim przypadku znacznie wydajniejsze i łatwiejsze jest ułożenie książki jako statycznego dokumentu html.

Jeśli masz często zmieniające się informacje w swojej witrynie, to wybór powinien zostać zatrzymany przy użyciu skryptów.
Oto scenariusze, które cię pochwaliłem. Jednak skrypty mają jedną wadę: do swojej pracy wymagają dodatkowych zasobów z serwera. Jeśli strona html ma być tylko odczytana z serwera i wysłana do przeglądarki, to skrypt należy najpierw uruchomić i wykonać. Ponadto bardzo często skrypty wykorzystują system zarządzania bazą danych ( DBMS) do przechowywania zmieniających się danych, co powoduje dodatkowe obciążenie.

Alexander Arkhipov

Bezpośredni link zindeksowany do strony - ten link nie jest zamykany zakazem Tagi HTML i / lub atrybutów, a także bez przekierowań (przekierowań). Na przykład, jeśli zdecydujesz się umieścić link do mojej witryny w swojej witrynie / blogu, radzimy nie blokować go przed robotami wyszukującymi z zakazującym atrybutem nofollow. Jeśli już zdecydowałeś się umieścić link do jednej z moich stron, otwórz link do indeksowania. Będę wdzięczny za bezpośrednie indeksowane linki do mojej witryny.
Jeśli jest używana w Twojej witrynie / blogu, grafika zapożyczona z tej witryny / treść tekstowa lub jakikolwiek fragment / cytat, odsyłacz do witryny nie może zawierać żadnych zakazujących atrybutów i / lub przekierowań.

Co to jest TFP i FTP, jaka jest różnica?

TFP i FTP nie mają ze sobą nic wspólnego. Jedyne, co ich łączy, to po prostu współbrzmienie wymowy, które mogą kogoś zmylić.
TFP - (czas na drukowanie), oznacza „czas na wydruk”. Termin ten jest używany przez fotografów i modelki. TFP to rodzaj waluty używanej w branży fotograficznej. TFP z reguły jest zabezpieczone umową między modelką a fotografem, aby uniknąć wszelkiego rodzaju kłopotów związanych z prawami autorskimi itp.
Kiedy modelka zgadza się na TFP, oznacza to, że jest gotowa do pracy za darmo przez określony czas, a za pracę otrzyma swoje zdjęcia (wszystkie lub niektóre, z obróbką lub bez).
Teraz o FTP.
FTP (protokół przesyłania plików) Jest protokołem przesyłania plików używanym przez twórców stron internetowych i innych. Aby współpracować z serwerem za pośrednictwem tego protokołu, użyj Klient FTP to program, który współpracuje bezpośrednio z serwerem FTP.
Protokół FTP służy do przesyłania dokumentów sieciowych, takich jak HTML, PHP, CSS, JPEG itp. Z prywatnego urządzenia programisty na serwer hostingowy. Ten sam protokół służy do pobierania dokumentów sieciowych z serwera na prywatne urządzenie dewelopera.

Jakie jest rozszerzenie pliku?

Rozszerzenie pliku, a raczej rozszerzenie nazwy pliku to sekwencja pewnych znaków dodanych do nazwy pliku. Te znaki mają na celu identyfikację typu lub, jak mówią, formatu pliku. Rozszerzenie nazwy pliku to nic innego jak kombinacja liter i / lub cyfr występujących po ostatniej kropce w nazwie pliku, na przykład fotograf.gif, gdzie „fotograf” to nazwa pliku, a „.gif” to jego rozszerzenie. Istnieje ogromna liczba rozszerzeń plików, ale wszystkie są zgodne z określonymi standardami i zastosowaniami. Ale jeśli chcesz wymyślić oryginalne rozszerzenie dla jakiegoś pliku, na przykład nazwa_pliku.fotograf, nie ma problemu, proszę! Ale system Windows nie będzie mógł otworzyć takiego pliku, jeśli na komputerze nie ma odpowiedniego programu, który widzi to rozszerzenie. Na przykład, jeśli w systemie Windows chcesz otworzyć plik z rozszerzeniem .gif, ten system operacyjny wie o tym rozszerzeniu i otworzy obraz. Ale jeśli chcesz otworzyć plik z rozszerzeniem .fotograf, taki plik się nie otworzy, ponieważ system Windows nie zna tego rozszerzenia. Plik z tym rozszerzeniem można otworzyć w aplikacji obsługującej to rozszerzenie.

Co to jest witryna z wizytówkami, czym one są?

Witryna z wizytówkami to strona internetowa, której głównym celem jest przedstawienie opinii publicznej informacji o firmie lub osobie. Taka witryna zazwyczaj składa się z niewielkiej liczby statycznych lub dynamicznych stron.
Strony witryny wizytówkowej powinny zawierać podstawowe informacje o firmie / osobie, wytwarzanych przez nią towarach i usługach. Mogą to być strony z cennikami, danymi kontaktowymi i zawsze z formularzem sprzężenie zwrotne... Witryna z wizytówkami fotografa z reguły różni się od innych podobnych witryn przepięknym wyglądem i bogactwem fotografii. Strona fotografa musi zawierać jego portfolio i kontakty. W ostatnim czasie coraz częściej można spotkać witrynę wizytówkową, której część stron zbudowana jest w technologii FLASH lub całkowicie na FLASH.
Witryny FLASH wyglądają dobrze, ale takie witryny są dziś indeksowane przez wyszukiwarki bardzo słabo lub wcale.

Co to jest dynamiczna strona internetowa / witryna internetowa?

Dynamiczna strona internetowa to strona, na której treść lub jej część można generować (zmieniać) w czasie rzeczywistym bez przyciągania dodatkowych ruchów ciała. W przypadku stron z linkami dynamicznymi stosowany jest tak zwany silnik CMS (Content Management System).
Jak to działa? Na przykład strona, którą obecnie widzisz w oknie przeglądarki, nie istnieje w tym formularzu. Składa się z oddzielnych części (szablonów), które składają serwer w jedną całość. Oznacza to, że kiedy żądana jest strona, serwer sieciowy przetwarza żądanie i natychmiast „w locie” zbiera stronę internetową z oddzielnych części i przekazuje ją nam do przeglądania w przeglądarce. Zmienia się tylko zawartość strony, a szablon strony pozostaje niezmieniony.
Wyobraź sobie szafę, która ma kilka półek z różnymi rzeczami. Na jednej półce jest treść tekstowa (baza danych), na drugiej - pliki graficzne (zdjęcia, elementy graficzne), na trzecim - skrypty (na przykład skrypty PHP), na czwartym - style CSS itd ... Tak więc, gdy serwer otrzyma zapytanie o tę lub inną treść, wie, gdzie leży, i szybko zestawia dla nas stronę z niezbędnych części: z bazy pobiera niezbędną treść tekstową, z półki z grafiką - niezbędne pliki graficzne itp. Po zmianie części szablonu w jednym miejscu, zmiany te dotyczą wszystkich stron serwisu.

Co to jest statyczna strona internetowa / witryna internetowa?

Statyczna strona internetowa to dokument internetowy znajdujący się na serwerze w postaci, w jakiej użytkownik widzi go w swojej przeglądarce. Oznacza to, że taki dokument nie jest składany z oddzielnych części (szablonów), ale leży na serwerze w postaci złożonej i jest ładowany z serwera w jednym pliku ze stylami CSS i / lub połączonymi z nim skryptami.
Aby zmienić zawartość takiego dokumentu, należy najpierw wyedytować go na działającym komputerze w jakimś edytorze HTML, a następnie ponownie wgrać (wgrać) na serwer. Aby zmienić jakąś część projektu lub, na przykład, dodać / usunąć element menu nawigacyjnego, w tym celu musisz zmodyfikować (zmienić) wszystkie strony witryny.

Projektant i programista stron internetowych, jaka jest różnica?

Projektant stron internetowych i programista stron internetowych pracują w tej samej dziedzinie, ale wykonują różne zadania. Projektant stron internetowych zajmuje się prototypowaniem projektu strony, opracowywaniem szablonu projektu strony internetowej, tworzeniem szaty graficznej, krojeniem na osobne fragmenty i optymalizacją, doborem czcionek i kolorów. Projektant stron internetowych może wykonać układ stron serwisu, ale nie jest to jego odpowiedzialność, w tym celu są specjalnie przeszkoleni ludzie - projektanci układu.
Kim jest programista sieciowy?
Programista stron internetowych, a raczej programista stron internetowych (programista serwerów), to osoba, która tworzy specjalne aplikacje internetowe, pisze skrypty w różnych językach programowania dla określonych modułów stron internetowych.
Podsumowując, aby strona była zarówno piękna, jak i funkcjonalna, wymaga to zarówno projektanta, jak i programisty. Aby strona była również przyjazna dla użytkownika, tutaj potrzebujesz

Promocja serwisu (promocja) rozumiana jest jako promocja serwisu na szczyt wyników wyszukiwania na określone słowa kluczowe w wyszukiwarkach systemy Google, Yandex itp.
Najpopularniejsze SERP - jest to pierwsza strona witryny wyszukiwarki z pierwszymi 10 linkami do witryn. W przypadku tych 10 stanowisk toczy się nie dająca się pogodzić walka między stronami o tej samej tematyce. Według statystyk te strony, które znajdują się na szczycie góry (zajmują trzy pierwsze pozycje), gromadzą największą liczbę odwiedzających. Niektóre zasoby płacą dużo pieniędzy, aby dostać się na ten szczyt. Ale nie wystarczy tam być, trzeba tam zostać, a to prowadzi do ciągłej walki nie tylko wśród dużych firm SEO, ale także prywatnych

Pracując dzień po dniu, aby aktualizować zawartość swojej witryny sieci Web o interesującą zawartość, prawdopodobnie myślisz, że każdego dnia tworzone są setki nowych witryn sieci Web i codziennie dodawane są setki nowych dokumentów. Jak powstają te wszystkie nowe tablice stron i jak są one tak szybko aktualizowane? Wszystko to nie jest tak trudne, jak się wydaje na pierwszy rzut oka, ponieważ wykorzystuje koncepcję dynamicznych stron internetowych.

W tym artykule przeprowadzimy Cię przez etapy tworzenia mechanizmu publikacji informacji prasowych w witrynie sieci Web. Nasza witryna będzie łączyć w locie komunikaty prasowe przechowywane w bazie danych z szablonami stron internetowych. Nie jest naszym zamiarem wprowadzanie czytelników w podstawy narzędzi do tworzenia witryn sieci Web, ponieważ napisano o nich wiele książek i artykułów. Ten artykuł jest przeznaczony głównie dla tych użytkowników, którzy mają już doświadczenie w tworzeniu stron internetowych i prostych witryn. Naszym głównym celem jest pokazanie, jak rozpocząć tworzenie swojej pierwszej dynamicznej witryny internetowej. Aby zrozumieć artykuł, potrzebna jest podstawowa znajomość architektur systemów informatycznych, języka znaczników hipertekstowych (HTML) i języka programowania Perl. Do zbudowania tej witryny użyjemy trzech potężnych technologii open source: Apache, MySQL i Perl / DBI.

Co to jest statyczna witryna sieci Web?

Przed przystąpieniem do tworzenia dynamicznych witryn sieci Web ważne jest, aby zrozumieć, czym jest statyczna witryna sieci Web i statyczne strony internetowe, które ją tworzą. Statyczne strony internetowe są tworzone ręcznie, a następnie zapisywane i przesyłane do serwisu. Ilekroć zawartość takiej strony wymaga zmiany, użytkownik modyfikuje ją na swoim komputerze roboczym, zwykle za pomocą edytora HTML, zapisuje ją, a następnie ponownie przesyła do serwisu WWW. Jeśli przyjrzysz się bliżej portalowi, takim jak CNN.com lub BBC.co.uk, możesz pomyśleć, że te firmy zatrudniają armię projektantów układów do aktualizacji treści swoich witryn. W rzeczywistości jest lepszy sposób - wykorzystanie koncepcji dynamicznej strony internetowej.

Co to jest dynamiczna witryna internetowa?

Każda renderowana strona dynamicznych serwisów WWW oparta jest na szablonie strony, do którego wstawiana jest stale zmieniająca się treść, która jest zwykle przechowywana w bazie danych. Gdy użytkownik żąda strony, odpowiednie informacje są pobierane z bazy danych, wstawiane do szablonu w celu utworzenia nowej strony internetowej i wysyłane przez serwer sieci Web do przeglądarki użytkownika, która renderuje je zgodnie z oczekiwaniami. Oprócz treści, nawigacja w witrynie sieci Web może być również tworzona dynamicznie. Dlatego jeśli potrzebujesz zaktualizować zawartość swojej witryny, po prostu dodajesz tekst dla nowej strony, który następnie jest wstawiany do bazy danych za pomocą określonego mechanizmu. W rezultacie witryna sieci Web wydaje się aktualizować sama.

Tworzenie dynamicznej strony internetowej

Pierwszą rzeczą, której potrzebujesz, aby utworzyć witrynę dynamiczną, jest serwer WWW, taki jak Apache.

Serwer WWW może służyć do obsługi sklepu internetowego, serwera aktualności, wyszukiwarki, systemu nauka na odległość a nawet dla ogółu wymienionych obszarów. Wybór serwera WWW zależy od rodzaju aktywności, jaką osoba lub organizacja będzie wykonywała w Internecie.

Niewiele strategicznych decyzji podejmowanych w biznesie jest tak ważnych jak wybór platformy dla serwera WWW. Wydajność serwera jest niezwykle ważna przy określaniu niezawodności witryny, tego, jak reaguje na żądania klientów i ile wysiłku należy włożyć, aby zapewnić jej nieprzerwane działanie. Gdy właściwy wybór komponenty i projekt jakości Witryna sieci Web może zapewnić klientom i partnerom nowy, wygodniejszy sposób interakcji z firmą. Przeciążenie serwera sieci Web może spowodować, że serwer bazy danych lub inne zasoby staną się niedostępne dla klientów.

Duże firmy do niedawna polegały na Microsoft Internet Information Server, Netscape FastTrack, IBM WebSphere i Apache były używane głównie przez małe firmy. Jednak teraz sytuacja nieco się zmieniła i Apache zaczyna wspierać wydajność niektórych dużych projektów internetowych, w szczególności Yahoo.

Pełną wersję artykułu znajdziesz na naszym CD-ROM.

Apache zapewnia bogactwo funkcji umożliwiających dostosowanie serwera internetowego do potrzeb osób prywatnych i firm. Ustawienie jest wykonywane przy użyciu dyrektyw zawartych w pliki konfiguracyjne... Apache umożliwia tworzenie wirtualnych witryn internetowych, a także działa jako serwer proxy. Jeżeli zachodzi potrzeba udostępnienia zawartości serwera ograniczonej liczbie osób, serwer WWW można skonfigurować tak, aby przy dostępie do określonych katalogów serwer sprawdzał nazwy logowania i hasła samodzielnie lub w jednej z podłączonych do niego baz danych.

Następnie musisz zdecydować, w jaki sposób zamierzasz przechowywać zawartość (treść) wyświetlaną na stronie internetowej. W tym artykule na konkretnym przykładzie pokażemy, jak stworzyć bazę danych w MySQL DBMS, co pozwoli nam podzielić zawartość WWW na tabele zawierające pola i rekordy z danymi. Pole to dyskretna jednostka danych w tabeli. Na przykład możemy utworzyć tabelę tbl_news_items z polami col_title, col_date, col_fullstory, col_author. MySQL to doskonały wybór do tworzenia takiej bazy danych ze względu na łatwość obsługi i administracji, darmową dystrybucję na różne platformy, w tym Linux i Windows oraz szybko rosnącą popularność.

Następnie utworzymy dynamiczne strony szablonów HTML. Aby opracować aplikacje do interakcji z bazą danych i szablonami, będziemy używać języka Perl.

Tak naprawdę musimy stworzyć trzy programy w Perlu, czyli skrypty: jeden wyświetli linki do wszystkich dostępnych komunikatów prasowych (pr-list-dbi.pl), drugi wyświetli treść wybranego komunikatu prasowego (pr-content-dbi.pl) a trzecia pozwoli na dodanie nowego komunikatu prasowego do bazy danych (pr-add-dbi.pl). Prace nad układem można przypisać do ulubionego edytora HTML, na przykład Allaire HomeSite (http://www.allaire.com/). Pamiętaj tylko, że podczas tworzenia szablonu musisz zostawić puste obszary, w które zostanie wstawione dynamiczne wypełnienie (oczywiście o zmiennej długości).

Po opracowaniu ogólnego projektu komunikatów prasowych po prostu wstaw określone słowa kluczowe w puste miejsca powyżej (patrz poniżej). Gdy tylko użytkownik zażąda informacji prasowej, serwer WWW przeanalizuje kod Perla i zastąpi słowa kluczowe w szablonach treścią pobraną z bazy danych, czyli konkretną informacją prasową.

Ostatnią rzeczą do zrobienia jest przesłanie szablonów na serwer WWW w określonych katalogach. Możesz użyć klienta FTP CuteFTP (http://www.cuteftp.com/), ale my wolimy używać powłoki plików FAR. Dwie ważne rzeczy do zapamiętania: po pierwsze, pliki szablonów muszą zawierać nazwy kończące się na .pl, a po drugie, muszą być wykonywalne (w systemach UNIX chmod 0755 nazwa_tematu.pl). To wszystko!

Dodanie funkcjonalności

Dodanie funkcjonalności do mechanizmu wyzwalania prasy nie jest trudne. Możesz sortować linki do informacji prasowych dostępnych w bazie według daty lub tytułu, grupując je według lat. Lub, na przykład, możesz chcieć wyświetlać od czasu do czasu komunikat prasowy na swojej stronie internetowej, dostarczając od czasu do czasu informacje odwiedzającym, niezależnie od tego, kiedy został faktycznie opublikowany. Ale najprawdopodobniej najważniejszą i najbardziej użyteczną funkcjonalnością będzie dodanie formularza HTML do wprowadzenia treści informacji prasowej i opracowanie programu CGI w Perlu w celu przetworzenia tego formularza, a następnie wysłania dokumentu do bazy danych. Przypomnijmy, że CGI (Common Gateway Interface) to protokół, mechanizm lub formalna umowa między serwerem sieci Web a pojedynczym programem. Serwer koduje dane wejściowe, takie jak formularze HTML, a program CGI dekoduje je i generuje strumień wyjściowy. Specyfikacja protokołu nie mówi nic o żadnym konkretnym języku programowania. Dlatego programy zgodne z tym protokołem mogą być pisane w niemal każdym języku - w C, C ++, Visual Basic, Delphi, Tcl, Python, czy jak w naszym przypadku w Perlu.

Podsumujmy niektóre wyniki. Mamy nadzieję, że ten artykuł pomoże Ci zrozumieć zalety koncepcji dynamicznych stron internetowych nad statycznymi. Zastosowanie tej koncepcji ograniczy pracę ręczną, pomoże rozłożyć obciążenie serwera i szybko doda zawartość do witryny. Połączenie Apache, MySQL i Perl zapewni praktycznie bezpłatne, łatwe w użyciu, elastyczne w instalacji i konfiguracji międzyplatformowe i skalowalne środowisko programistyczne. Tutaj nie będziemy rozważać specyfiki ich instalacji, ponieważ po pierwsze, po prostu nie będzie wystarczająco dużo miejsca na ten artykuł, a po drugie, każde z tych narzędzi ma bardzo szczegółową dokumentację.

Tworzenie bazy danych w MySQL DBMS

Rozwój modelu bazy danych

Pierwszym i najważniejszym krokiem w tworzeniu bazy danych jest opracowanie jej modelu. Więc zacznijmy.

Krok 1

Musimy jakoś nazwać bazę danych. Nazwijmy to db_website.

Krok 2

Konieczne jest ustalenie, co dokładnie będą zawierać tabele bazy danych. Baza danych może zawierać setki tabel. Na początku potrzebujemy tylko jednego stołu do przechowywania naszych informacji prasowych. Nazwijmy to tbl_news_items.

Krok 3

Konieczne jest zdefiniowanie pól, które będzie zawierała nasza tabela. Pola te będą reprezentować wszystkie elementy informacji prasowej. W naszym przykładzie wykorzystujemy pięć pól: col_id (numeryczny identyfikator informacji prasowej), col_title (tytuł), col_date (data publikacji), col_fullstory (treść), col_author (nazwisko autora). Pole col_id będzie zawierało unikalny identyfikator, za pomocą którego użytkownik może zapytać o treść konkretnego komunikatu prasowego.

Tworzenie bazy danych

Teraz musimy nawiązać połączenie z MySQL DBMS i stworzyć naszą bazę danych. Poniżej pokażemy, jak to zrobić z wiersza poleceń. Jednak istnieje wiele systemów zarządzania lub menedżerów DBMS, które pozwalają na administrowanie nimi za pomocą przyjaznego interfejsu graficznego.

Przede wszystkim zdecydowanie powinieneś znać podstawy języka zapytania SQL (Structured Query Language). Dostawa MySQL DBMS obejmuje pełny opis obsługiwana specyfikacja SQL. Ten język jest łatwy do zrozumienia, ponieważ jego operatorzy i ich konstrukcje są łatwe do zrozumienia i zapamiętania. Do pracy potrzebne są instrukcje do tworzenia (CREATE lub INSERT), wybierania (SELECT) i usuwania (DROP lub DELETE) danych, a także ich zmiany (UPDATE, MODIFY). W konkretne przykłady użyjemy tylko kilku z nich.

Nie rozważać konfigurowania kont użytkowników i przypisywania niezbędne prawa dostęp, załóżmy, że używasz konta administratora (root).

Krok 1

Otwórz okno terminala (jeśli korzystasz z graficzna powłoka X Window Linux OS lub Windows 9x / NT / 2000) i połącz się z MySQL DBMS, wpisując wiersz poleceń mysql. W odpowiedzi powinieneś otrzymać monit o polecenie mysql\u003e.

Krok 2

Stwórzmy naszą bazę danych wpisując:

CREATE DATABASE db_website;

Pamiętaj, aby wpisać (;) po każdym poleceniu. Jest to bardzo ważne, ponieważ wysyła sygnał do MySQL, aby zakończyć wprowadzanie poleceń.

Użyj db_website;

Krok 4

Stwórzmy tabelę tbl_news_items, w której zdefiniujemy rodzaj danych, które będą przechowywane w jej polach. Wchodzić:

1.CREATE TABLE tbl_news_items (2.col_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3.col_title VARCHAR (100), 4.col_author VARCHAR (100), 5.col_body TEXT, 6.col_date DATE 7.);

Krok 5

Teraz, gdy utworzyliśmy tabelę do przechowywania naszych danych, musimy wypełnić ją przykładowymi danymi. Zwróć uwagę, że w poniższym poleceniu nie będziemy definiować pola col_id, ponieważ jest ono wypełniane automatycznie po dodaniu nowych danych. Należy również pamiętać, że składnia daty to<год/месяц/день>... Tak więc w wierszu polecenia mysql\u003e wprowadź następujące polecenie.

8. INSERT INTO tbl_news_items (col_title, _ col_author, col_body, col_date) 9. VALUES (10. 'Mój pierwszy komunikat prasowy', 11. 'Twoje imię', 12. 'Ten komunikat prasowy jest przechowywany w bazie danych MySQL', 13 „2001/4/15” 14.);

Wpisz więcej podobne prośby wstawić. Aby zobaczyć, co jest przechowywane w bazie danych, po znaku zachęty mysql\u003e wpisz:

SELECT * FROM tbl_news_items;

Tworzenie dynamicznych stron internetowych w Perlu

Przygotowanie do pracy

Do uruchamiania programów w języku Perl potrzebny jest interpreter języka Perl w wersji 5.005 lub 5.6 standardu Perl lub ActiveState Perl dla dystrybucji UNIX lub Win32. Jeśli tworzysz aplikacje działające pod Win32, pakiet z ActiveState jest nieco wygodniejszy w użyciu, a ponadto zawiera narzędzie PPM do instalowania dodatkowych modułów.

Aby zorganizować interakcję naszych programów Perla z MySQL DBMS, pakiet Perl musi zawierać moduł DBI. Ponieważ moduł w zasadzie sam nie robi nic, tylko przesuwa wszystkie operacje interakcji z bazami danych do odpowiadającego im sterownika, wymagana jest instalacja biblioteki DBD-Mysql (sterownik bazy danych MySQL dla modułu DBI). Jak powiedział Tim Bunce, autor i programista modułu, „DBI jest interfejsem API umożliwiającym dostęp do baz danych z programów Perla. Specyfikacja DBI API definiuje zestaw funkcji, zmiennych i reguł używanych do przejrzystego łączenia się z bazami danych. "

Koncepcja sterowników bazy danych jest bardzo wygodna, ponieważ w swojej aplikacji Perl używasz standardowych wywołań DBI, które są następnie przekazywane modułom do odpowiedniego sterownika, a to z kolei będzie bezpośrednio współdziałać z bazą danych bez konieczności uczenia się właściwości techniczne każdy konkretny DBMS. Tak więc istnieją sterowniki DBD :: Sybase, DBD :: Oracle, DBD :: Informix itp. (Rys. 1,).

Wyjdźmy trochę poza zakres artykułu. Powiedzmy, że pakiet DBI nie zawiera sterownika dla określonego DBMS. W tym przypadku włączone pomoc przyjdzie Most DBD-ODBC. Wystarczy stworzyć nowe źródło danych (Data Source Name) dla drajwera ODBC (Open DataBase Connectivity), w którym należy wybrać typ tego DBMS, adres hosta, z którym ma zostać nawiązane połączenie, nazwę bazy danych oraz dane autoryzacyjne, czyli nazwę użytkownika i hasło (rys. . 3). Następnie, korzystając z modułu DBI, wejdź w interakcję z bazą danych. Ponadto moduł Win32 :: ODBC (Win32-ODBC) jest zwykle zawarty w standardowej dystrybucji ActiveState Perl. Praca z nim różni się nieco od pracy z DBI, ale generalnie jest bardzo podobna. Jedyną różnicą jest to, że Win32 :: ODBC jest modułem tylko dla Win32 i umożliwia wydajniejszą pracę z natywnymi funkcjami ODBC niż DBD :: ODBC.

Można narysować paralelę między ODBC i DBI. DBI jest analogiczne do Administratora ODBC (Menedżera sterowników baz danych). Każdy sterownik DBD odpowiada w swoich funkcjach sterownikowi ODBC. Jedyną rzeczą, która może być myląca, jest fakt, że, jak wspomniano powyżej, istnieje sterownik DBD :: ODBC. Ale pozwala tylko na ustanowienie połączenia DBI ze sterownikami ODBC.

Aby zainstalować DBI i DBD-Mysql, używając narzędzia PPM w Win32, wprowadź w wierszu poleceń:

PPM zainstaluj DBI

Należy pamiętać, że w tym momencie komputer musi być połączony z Internetem. Jeśli odpowiedni moduł jest dostępny w Twoim dysk lokalnyskorzystaj z informacji pomocy, wprowadzając polecenie:

Instalacja pomocy PPM

W przypadku użytkowników systemu UNIX instalacja modułu DBI będzie taka sama, jak instalacja innych modułów Perla:

Tar –zxvf DBI-1.06.tar.gz cd DBI-1.06 / perl Makefile.PL make make test make install

Możesz także użyć powłoki CPAN. Jeśli wersja pakietu z ActiveState dla systemu UNIX jest zainstalowana na komputerze, możesz również pracować z narzędziem instalacyjnym PPM. Czasami zdarza się, że powłoki CPAN i PPM nie działają, jeśli w sieci firmowej, do której jest podłączony komputer, jest zainstalowana zapora lub firewall. W takim przypadku pomogą Ci tylko moduły z ręcznie załadowanym kodem źródłowym. Aby je zainstalować i połączyć się z Perlem lub Apache, będziesz potrzebować interpretera Perla, kompilatora C / C ++ lub GCC / PGCC oraz niektórych narzędzi do budowania make (dostarczanych przez jeden z klonów UNIX, a także Microsoft Visual C ++), nmake lub dmake. W związku z tym procedura instalowania modułów jest nieco skomplikowana. Prawie każdy z nich zawiera dokumentację „kompilacji”, która powinna Ci to ułatwić.

Wyświetlanie listy artykułów

Teraz, gdy masz już działającą bazę danych prasowych, możesz łatwo połączyć ją ze stroną internetową. Zacznijmy od stworzenia prostej strony wyświetlającej listę wszystkich dostępnych informacji prasowych. Zauważ, że domyślnie serwer WWW Apache "myśli", że wszystkie twoje dokumenty powinny znajdować się w katalogu htdocs, a pliki wykonywalne w cgi-bin. Dlatego konieczne jest umieszczenie wszystkich plików z rozszerzeniem .pl w katalogu cgi-bin. Z kolei wygenerowane pliki Szablony HTML należy umieścić w katalogu tpl. Hierarchia katalogów będzie wyglądać następująco:

/ (korzeń dowolnego dysku) / local / local / usr / local / usr / bin / local / usr / cgi-bin / local / usr / htdocs / local / usr / tpl

W systemach DOS / Windows ścieżka do cgi-bin może wyglądać następująco:

C: \\ local \\ usr \\ cgi-bin

Krok 1

Używając swojego ulubionego edytor tekstu, utwórz plik pr-list-tpl.htm:

15. 16. 17. Informacje prasowe 2001 18. 19. 20. @[email chroniony] 21. 22.

Ten plik ma na celu wyświetlenie listy wszystkich dostępnych komunikatów prasowych.

Krok 2

Utwórz plik pr-list-block-tpl.htm, który wyświetli każdy blok ze znalezionym komunikatem prasowym jako tabelę:

23.

24. 25. 26.
@[email chroniony]
@[email chroniony], _ @[email chroniony]

Krok 3

Utwórz plik pr-content-tpl.htm, który będzie zawierał treść komunikatu prasowego:

27. 28. 29. Komunikaty prasowe 2001: @ TITLE @ 30. 31. 32.

@[email chroniony]

33. 34. 35. 36. 37.
@[email chroniony]
Autor: @[email chroniony] Data: @ [email chroniony]
@[email chroniony]
38. Pokaż listę komunikatów prasowych. 39. 40.

Krok 4

Stwórz skrypt Perla pr-list-dbi.pl, który odczyta dane z bazy danych db_website i za pomocą szablonów plików HTML wyświetli listę komunikatów prasowych (tekst tego skryptu znajdziesz na naszej płycie CD).

Teraz przejrzyjmy listę kodu i zobaczmy, jak działa program do wyświetlania komunikatów prasowych.

Linie 1-9 są jak blok inicjalizacyjny, w którym deklarowane są wszystkie zmienne globalne i stałe:

41. #! / Local / usr / bin / perl 42.43. Use DBI; 44. $ dbh \u003d DBI-\u003e connect (‘dbi: mysql: db_website’, ’root’, ’’); 45. $ path \u003d "/ local / usr / tpl"; 46. \u200b\u200b$ TPL_LIST \u003d "$ ścieżka / pr-list-tpl.htm"; 47. $ TPL_LIST_BLOCK \u003d "$ ścieżka / pr-list-block-tpl.htm"; 48. 49. print "Typ treści: tekst / html \\ n \\ n";

Najpierw przekazujemy serwerowi WWW Apache ścieżkę wskazującą, gdzie znajduje się interpreter Perla, który jest uruchamiany, gdy skrypt jest żądany, sprawdza go pod kątem błędów, a następnie uruchamia. Następnie deklarujemy moduł DBI (DataBase Interface), którego metody zostaną użyte w programie do interakcji z bazą danych (linia 3). Następnie nawiązujemy połączenie z naszą bazą danych db_website (4) z nazwą logowania użytkownika root (administrator) i pustym ciągiem znaków (domyślnie) jako hasłem. W zmiennej $ path określ ścieżkę, w której znajdują się pliki szablonów HTML (5). W zmiennych odpowiednio $ TPL_LIST i $ TPL_LIST_BLOCK należy podać ich nazwy (6, 7). Następnie mówimy serwerowi WWW, że wszystkie wychodzące dane muszą być prezentowane w formacie MIME text / html, aby wyprowadzić strumień HTML do przeglądarki użytkownika (9).

Wiersze 11-22 przedstawiają treść programu:

50,51. Otwórz (L, „$ TPL_LIST”); 52. while ($ line1 \u003d ) (53. chomp ($ line1); 54. if ($ line1 \u003d ~ / \\ @ BLOCK \\ @ /) (55. read_db (); 56. ins_data (); 57.) else (58. print "$ line1 \\ n "; 59.) 60.) 61. zamknij (L); 62,63. $ Dbh-\u003e odłącz;

Otwórz plik szablonu pr-list-tpl.htm (11) i przejrzyj go w pętli (12-20), zapisując każdy odczytany wiersz do zmiennej $ line. Podczas każdej iteracji sprawdzamy obecność słowa kluczowego @ w tej linii. [email chroniony] (14-19), co oznacza, że \u200b\u200bw to miejsce musisz wstawić blok z komunikatem prasowym. Po jego znalezieniu wywołujemy procedury read_db () i ins_data ().

Wiersze od 26 do 39 to treść procedury read_db (), która odczytuje zawartość tabeli tbl_news_items zawierającej nasze komunikaty prasowe:

64.65.66. Sub read_db (67. $ c \u003d 0; 68. my ($ sql) \u003d "SELECT * FROM tbl_news_items"; 69. $ rs \u003d $ dbh-\u003e przygotuj ($ sql); 70. $ rs -\u003e execute; 71. while (my $ ref \u003d $ rs-\u003e fetchrow_hashref ()) (72. $ id [$ c] \u003d "$ ref -\u003e ('col_id')"; 73. $ title [$ c] \u003d "$ ref -\u003e ('col_title')"; 74. $ author [$ c] \u003d "$ ref -\u003e ('col_author')"; 75. $ date [$ c] \u003d "$ ref -\u003e (' col_date ') "; 76. $ c ++; 77.) 78. $ rs-\u003e finish (); 79.)

Inicjalizujemy licznik $ c \u003d 0, tworzymy zapytanie, aby wybrać wszystkie dane z tabeli (28), wykonujemy zapytanie (29, 30) i pobieramy dane do zestawu rekordów (zestawu rekordów) $ rs. Następnie w pętli (31-37) wyodrębniamy dane z zestawu rekordów za pomocą metody fetshrow_hashref i zwracamy odwołanie do tablicy asocjacyjnej% ref (31) zawierającej nazwy i wartości pól bieżącego rekordu. Zapisujemy wyodrębnione dane (32-35) do zwykłych tablic @id, @title, @author i @date odpowiadających ich typom. Zamykamy zestaw rekordów (38).

Wiersze 41-53 są treścią procedury ins_data (), która implementuje wstawianie danych pobranych z bazy danych do wychodzącego strumienia danych; linie 55-63 - treść procedury pr_block () wywołanej w pętli z procedury ins_data ():

80. 81. sub ins_data (82. $ toread \u003d "pr-read-dbi.pl"; 83. for ($ i \u003d 0; $ i<$c; $i++) { 84. $line = &pr_block; 85. 86. $line =~ s/\@NUMBER\@/$id[$i]/; 87. $line =~ s/\@TITLE\@/$title[$i]/; 88. $line =~ s/\@AUTHOR\@/$author[$i]/; 89. $line =~ s/\@DATE\@/$date[$i]/; 90. $line =~ s/\@READ\@/$toread/; 91. print "$line"; 92. } 93. } 94. 95. sub pr_block { 96. my($block) = ‘’; 97. open (B, "$TPL_LIST_BLOCK"); 98. while ($line=) (99. $ blok \u003d $ blok. $ Linia; 100.) 101. zamknij (B); 102. return ($ blok); 103.)

Tak więc, po otrzymaniu w wyniku procedury read_db () maksymalnej wartości licznika $ c, w pętli (43-52) uruchamiamy procedurę pr_block (), która odczytuje zawartość szablonu HTML pr-list-block-tpl.htm i zapisuje ją do zmiennej $ block (59), który jest następnie zwracany (62) w zmiennej $ line (44) procedury ins_data (). W dalszej części tego samego cyklu zastępujemy (46-50) słowa kluczowe @ znalezione w wychodzącym strumieniu liniowym $ [email chroniony], @[email chroniony], @[email chroniony], @[email chroniony], @[email chroniony] do wartości tablic @id, @title, @author, @date i zmiennej $ toread odpowiadającej danej iteracji pętli ($ i).

Wyświetlenie tekstu komunikatu prasowego

Po wyświetleniu listy wszystkich komunikatów prasowych dostępnych w bazie danych (rys. 4), musimy dać użytkownikowi możliwość wglądu w tekst dowolnego z nich (można również znaleźć odpowiedni skrypt na naszej płycie CD).

Nowy skrypt pr-read-dbi.pl będzie się nieco różnić od tego, który już stworzyliśmy pr-list-dbi.pl.

Ta aukcja jest w 98% podobna do listy 1, chociaż z pewnymi niewielkimi różnicami:

  • podłączona biblioteka CGI do odczytu parametru id (9) z ciągu zapytania (na przykład http: //localhost/cgi-bin/pr-content-dbi.pl? id \u003d 1);
  • używany jest tylko jeden szablon HTML (pr-content-tpl.htm);
  • zapytanie do bazy danych zostało uzupełnione o warunkową klauzulę SQL WHERE w celu wybrania wszystkich danych odpowiadających danemu komunikatowi prasowemu za pomocą identyfikatora col_id;
  • z bazy odczytywane jest również pole col_body z tekstem wybranego komunikatu prasowego.

Stworzenie nowej informacji prasowej

Rozszerzymy funkcjonalność naszego systemu o możliwość tworzenia nowych komunikatów prasowych, bez konieczności bezpośredniej pracy z bazą danych w celu uzupełnienia tabeli tbl_news_items o nowe informacje.

Tak więc nowy program w Perlu (który podobnie jak dwa poprzednie znajduje się na płycie CD) będzie różnił się od poprzednich przede wszystkim tym, że nie jest przeznaczony do wyświetlania danych, ale do dodawania ich do bazy danych. Dlatego musimy nieco zmienić część odpowiedzialną za interakcję z bazą danych za pomocą zapytania SQL INSERT i odpowiednich instrukcji modułu DBI.

Wiersze od 12 do 18 to główna część programu:

12. if ($ cmd ne "add") (13. & show_form; 14.) else (15. $ dbh \u003d DBI-\u003e connect ('dbi: mysql: db_website', _ 'root', ''); 16. & add_pr; 17.dbh-\u003e odłącz; 18.)

Tutaj sprawdzamy, czy przybył zespół, aby dodać komunikat prasowy do bazy danych. Gdy tylko nadejdzie, nawiązujemy połączenie z bazą danych (15), wykonujemy podprogram app_pr () (16) i przerywamy połączenie (17). Jeśli nie było polecenia, po prostu wyświetlamy formularz wypełniania (13) danych komunikatu prasowego - procedurę show_form ().

Wiersze 20-36 są treścią procedury dodawania komunikatu prasowego pr_add ():

19. 20.sub add_pr (21. $ title \u003d $ q-\u003e param ("pr_title"); 22. $ author \u003d $ q-\u003e param ("pr_author"); 23. $ body \u003d $ q-\u003e param ( "pr_body"); 24. $ body \u003d ~ s / \\ r \\ n /
/ g; 25.26.my ($ sql) \u003d "INSERT INTO tbl_news_items (col_title, col_author, col_body, col_date) VALUES (\\ '$ title \\', \\ '$ autor \\', \\ '$ body \\', CURDATE ()) "; 27. $ rs \u003d $ dbh-\u003e do ($ sql); 28.29.if ( [email chroniony]) (30. $ rc \u003d $ dbh-\u003e rollback; 31.) else (32. $ rc \u003d $ dbh-\u003e commit; 33.) 34. 35. print "Location: / cgi-bin / pr-list-dbi .pl \\ n \\ n "; 36.)

Najpierw przetwarzamy dane formularza (22-25), tworzymy zapytanie SQL (27) i wykonujemy je (27) za pomocą metody DBI $ dbh-\u003e do (). Ponieważ tutaj wykonywana jest procedura wstawiania danych do bazy danych, należy zadbać o możliwość anulowania operacji w przypadku awarii. Aby to zrobić, wstawiliśmy kod cofnięcia transakcji i cofnięcia do poprzedniego stanu (30-34). Jeśli $ dbh-\u003e do () zawiedzie, cofnij wprowadzone zmiany (31). Jeśli awaria nie wystąpiła, potwierdzamy wprowadzone zmiany (33). Następnie po wszystkich czynnościach wystarczy przejść na stronę z listą wszystkich komunikatów prasowych (36).

Wiersze 37-55 to treść procedury wyjściowej formularza służącej do wprowadzania informacji o nowej informacji prasowej (przy użyciu szablonu HTML, którego nazwa jest określona w zmiennej $ TPL_INSERT, pr-add-tpl.htm):

37. 38. sub show_form (39. print "Content-type: text / html \\ n \\ n"; 40. 41. open (L, "$ TPL_INSERT"); 42. while ($ line \u003d ) (43. chomp ($ line); 44. if ($ line \u003d ~ / \\ @ /) (45. if ($ line \u003d ~ / \\ @ ADD \\ @ /) (46. $ toadd \u003d "pr-add -dbi.pl "; 47. $ line \u003d ~ s / \\ @ ADD \\ @ / $ toadd /; 48.) else (49. $ tolist \u003d" pr-list-dbi.pl "; 50. $ line \u003d ~ s / \\ @ LISTA \\ @ / $ tolist /; 51.) 52.) 53. print "$ line \\ n"; 54.) 55. close (L);

Przeciążenie systemu

Ponieważ tworzysz dynamiczną witrynę sieci Web, ilość zawartych w niej informacji może odpowiednio szybko wzrosnąć. Ponadto wraz ze wzrostem popularności twojego zasobu rośnie również liczba jego odwiedzających, co może prowadzić do przeciążenia serwera, czyli do spadku wydajności systemu. Zanim zaczniesz szukać sposobów na zwiększenie mocy sprzętu i spróbujesz znaleźć konfigurację nowego systemu, możesz spróbować naprawić jeden z możliwe przyczyny nadmierne zużycie pamięci RAM. Ten sam Perl może być winowajcą. Faktem jest, że za każdym razem, gdy odwołujesz się do określonego skryptu Perla, serwer WWW ładuje interpreter do baran (zajmuje od 500-1000 KB na dysku twardym), a ten ostatni analizuje program od początku do końca w poszukiwaniu błędy składniowe... Następnie czyta go ponownie, inicjuje zmienne i funkcje, odczytuje dane wejściowe (parametry), przetwarza i zwraca wyniki. Czy możesz sobie wyobrazić, co się stanie, jeśli komunikaty prasowe jednocześnie chcą zobaczyć setki odwiedzających Twoją witrynę?

Aby przyspieszyć ten proces, stworzono specjalne rozwiązania, które są dodatkowymi modułami dla serwera WWW Apache - mod_fastcgi i mod_perl.

Moduł FastCGI (mod_fastcgi) zakłada szerokie wykorzystanie narzędzi wymiany danych pomiędzy uruchomionymi procesami (zadaniami) system operacyjny... Na początku swojej pracy serwer WWW aktywuje program CGI i pozostawia ten program i kilka jego kopii uruchomionych w tło... Wszelkie żądania do programu zostaną po prostu przeniesione do już aktywnych kopii, co odciąży serwer od dodatkowego obciążenia związanego z ponowną aktywacją procesu.

Moduł mod_perl umożliwia załadowanie Perla do pamięci RAM w tej samej przestrzeni adresowej, co sam serwer WWW Apache, i pozostawienie Perla w pamięci, aż ten ostatni wyjdzie, uniemożliwiając załadowanie następnej kopii interpretera podczas uzyskiwania dostępu do programu CGI. Ten moduł jest używany częściej niż FastCGI, ponieważ nie wymaga żadnych zmian w programie.

ComputerPress 6 "2001

W Internecie istnieje ogromna liczba różnych zasobów. Każdy projekt składa się głównie ze stron dokumentów HTML, które są podzielone na statyczne i dynamiczne zgodnie z zachowaniem dokumentu w przeglądarce. Z drugiej strony pojęcia te są często używane w innym sensie. Tak więc, zgodnie z metodą tworzenia, dokumenty są również podzielone na statyczne i dynamiczne.

Definicja witryn statycznych oznacza, że \u200b\u200bstrony zawsze wyglądają tak samo, niezależnie od działań użytkownika. Witryny statyczne są zwykle mniej interesujące dla użytkownika, ponieważ praktycznie nie zawierają elementów interaktywnych, w przeciwieństwie do witryn dynamicznych.

Witryny dynamiczne, które obejmują strony dynamiczne generowane w locie na żądanie przeglądarki. Są to strony, które mogą już reagować na działania i zmiany użytkowników. Na przykład po kliknięciu tekstu może pojawić się wyskakujący blok tekstu z tłumaczeniem słów. Użytkownik może wchodzić w interakcję z dynamicznymi stronami, jednocześnie wyświetlając natychmiastowo wyniki swoich działań.

Statyczne strony witryny

Witryna statycznaza zasób sieciowy uważa się strony statyczne (html, htm, dhtml, xhtml), które tworzą jedną całość. Zawiera (jako tag HTML) tekst, obrazy, treści multimedialne (audio, wideo) i znaczniki HTML. Tagi mogą być zarówno usługami przeznaczonymi dla przeglądarki, jak i służącymi do umieszczania, wyglądu i wyświetlania informacji. Wszelkie zmiany w serwisie statycznym dokonywane są w kodzie źródłowym dokumentów (stron) zasobu, dla których musisz mieć dostęp do plików na serwerze WWW.

Statyczne strony serwisu są przechowywane na serwerze jako pliki dokumenty HTML... Strony z witryn statycznych są spakowane ręcznie. Jeśli chcesz zmienić zawartość strony, musisz edytować kod HTML każdej strony.

Zwykle witryna statyczna zawiera jedną lub niewielką liczbę stron lub, na przykład, jest to witryna z wizytówkami firmy, a informacje na niej nigdy się nie zmieniają lub są bardzo rzadko aktualizowane. Na takim zasobie sieciowym nie ma takich możliwości jak np. Komentowanie czy rejestracja itp.

Ostatecznie statyczny zasób może być aktualizowany tylko przez osobę dobrze zorientowaną w tworzeniu stron internetowych, ponieważ nie ma panelu administracyjnego, więc wszystkie aktualizacje w projekcie będą musiały być wykonywane za jego pośrednictwem źródło.

Witryny statyczne są tańsze i zajmują mniej miejsca na hosting, dlatego wiele małych firm nadal woli je od witryn dynamicznych.

Zalety witryn statycznych obejmują:

  1. Są łatwe i szybkie w rozwoju
  2. Są tanie w rozwoju, minimalizują obciążenie serwera WWW i ładują się szybko.
  3. Nie wymagający zasobów hostingu.
  4. Wystarczy po prostu przenieść statyczną stronę na nowy hosting.

Oprócz zalet strony statyczne mają również wady:

  1. Do aktualizacji projektu wymagane jest doświadczenie w tworzeniu stron internetowych. Aby zaktualizować nawet najmniejsze szczegóły takiego zasobu, będziesz musiał samodzielnie poradzić sobie z kodem HTML i CSS lub za każdym razem będziesz musiał skorzystać z usług webmastera.
  1. „Zawieszanie” treści. Ze względu na to, że zawartość strony statycznej jest aktualizowana bardzo rzadko, ma to bardzo niekorzystny wpływ na ruch i promocję projektu w. Oczywiście taki zasób można promować, ale głównie za pomocą płatnych środków.
  1. Ponadto w przypadku dużych projektów nie zaleca się używania witryny statycznej.

Stąd jest oczywiste, że jeśli na serwerze znajduje się zwykła strona html, to podejście jest bardzo ograniczone. Na przykład istnieje sklep internetowy, do którego został dodany nowy produkt. Jeżeli taki sklep internetowy składa się ze „statycznych” stron, wówczas trzeba będzie ręcznie poprawić kilka innych stron. Przynajmniej jest to katalog produktów i najprawdopodobniej formularz zamówienia. A jeśli skończy się jakikolwiek produkt, ponownie musisz zaktualizować witrynę statyczną, co jest bardzo niewygodne. W związku z tym trudno jest znaleźć w Internecie sklep internetowy, który używa „czystego” kodu HTML.

Witryna dynamiczna

Witryna dynamiczna- zasób sieciowy składający się z dynamicznych stron - szablonów, treści, skryptów i innych, w postaci oddzielnych plików. Dynamiczne strony, które są ostatecznie wyświetlane w przeglądarce użytkownika, są generowane po stronie serwera na żądanie, ze strony szablonu i oddzielnie przechowywanych treści (informacje, skrypty itp.). Z reguły do \u200b\u200bwyświetlenia dowolnej liczby podobnych stron używana jest jedna strona szablonu, do której ładowana jest odpowiednia treść, co pozwala na dostosowanie wygląd dynamiczna witryna (wiele jej stron), edytując tylko jeden szablon.

Strony dynamiczne są generowane przez serwer WWW z kilku plików (szablonów). Wszystkie informacje są zwykle przechowywane w bazie danych. Blogi to prawie wszystkie witryny dynamiczne. Gdy użytkownik żąda strony, odpowiednie informacje są pobierane z bazy danych, wstawiane do szablonu, tworząc stronę internetową i wysyłane przez serwer sieciowy do przeglądarki użytkownika. Dlatego podczas aktualizacji zawartości zasobu dynamicznego wystarczy dodać tekst nowej strony, która następnie trafia do bazy danych. Ostatecznie wynika z tego, że dynamiczna witryna niejako aktualizuje się sama.


Zalety witryn dynamicznych to:

  1. Zasób jest bardziej funkcjonalny, ponieważ zarządzanie treścią odbywa się za pomocą specjalnych formularzy, które ułatwiają dodawanie, edytowanie i usuwanie informacji.
  2. Podczas dodawania lub edytowania treści nie jest wymagana żadna szczególna znajomość webmasteringu (HTML, CSS).
  3. Zdolność dynamicznej strony do zmiany treści w odpowiedzi na działania odwiedzających.
  4. Możliwość tworzenia dużych projektów wielofunkcyjnych.
  5. Strony dynamiczne są znacznie łatwiejsze do modyfikacji i aktualizacji.
  6. Rozdzielenie informacji i projektu w dynamicznej witrynie pozwala na bardziej elastyczne zarządzanie nią.
  7. Ciągłe aktualizowanie dynamicznej witryny daje duże możliwości promocji, co pozytywnie wpływa na promocję projektu i ma większą liczbę odwiedzających.

Oprócz zalet dynamiczne witryny nie są pozbawione wad:

  1. Konieczność użycia dodatkowego narzędzia programoweco przekłada się na wysoki koszt tworzenia i utrzymania dynamicznych stron.
  2. Zwiększone wymagania dotyczące mocy sprzętu systemy serwerowe... Ten problem staje się szczególnie zauważalny w dynamicznych witrynach o dużym ruchu.
  3. Hosting będzie również odpowiednio droższy, ponieważ w przypadku takiego projektu będziesz musiał podłączyć dodatkowe funkcje.
  4. Złożoność dużych zmian strukturalnych w dynamicznych stronach. W tym przypadku wszystko jest powiązane z oprogramowaniem używanym przez zasób. Każdy program ma swoje własne ograniczenia, do ominięcia których trzeba zmienić program, zmodyfikować stary lub poszukać nowego.
  5. Aby strony dynamiczne działały, musisz mieć odpowiednią wiedzę.

Narzędzia do tworzenia dynamicznych stron

Jeśli witryny statyczne nie podlegają prawie żadnym zmianom, a strona pojawia się na ekranie użytkownika w swojej „oryginalnej” formie, to strona dynamiczna, widziana przez osobę, nie istnieje na serwerze. Jest zbierany na kilka różnych sposobów z danych przechowywanych na serwerze, a dopiero potem jest pokazywany odwiedzającemu.

Pierwszą opcją może być połączenie kilku (dwóch lub więcej) oddzielnych części w jedną całość - to najłatwiejszy sposób na wygenerowanie.

Drugą opcją jest wypełnienie strony szablonu dowolnymi informacjami przechowywanymi oddzielnie lub uzyskanymi w wyniku działania algorytmu (np. W wyniku obliczeń).

Trzecią i chyba najbardziej powszechną opcją jest połączenie dwóch pierwszych we wszystkich możliwych odmianach, tj. strona składa się z kilku części, w których wprowadzane są różne zmiany.

Najpopularniejszym narzędziem do tworzenia dynamicznych stron jest język programowania JavaScript. Znacznie rzadziej używany jest VBscript (wizualny skrypt podstawowy).

Jeśli zasób zawiera często zmieniającą się zawartość, zwykle używane są skrypty, które w przeciwieństwie do JavaScript są wykonywane na serwerze.

W takim przypadku witryna dynamiczna działa w następujący sposób:

  1. Przeglądarka żąda dokumentu z serwera.
  2. Serwer określa, że \u200b\u200bdokument jest skryptem i uruchamia go w celu wykonania.
  3. Skrypt generuje stronę html.
  4. Serwer wysyła wygenerowaną stronę do przeglądarki, dzięki czemu przeglądarka nawet nie wie, że skrypt został uruchomiony na serwerze.

Istnieje kilka języków programowania, które umożliwiają pisanie skryptów dla stron dynamicznych. Najpopularniejsze z nich to:

Perl
SSI
PHP
ŻMIJA
Pyton
Jawa
Kod binarny (program w C lub C ++ skompilowany do kodu wykonywalnego).

Każdy z tych języków programowania ma swoje specyficzne cechy zastosowania. Możesz pisać skrypty w dowolnym języku. Najważniejsze to poznać jego mocne i słabe strony i efektywnie z nich korzystać.

Witryny dynamiczne nie tylko stawiają nowe wymagania dotyczące ich tworzenia i utrzymywania, są znacznie droższe w rozwoju, a także wymagają utrzymania nowej jednostki personalnej - programisty. Jednocześnie należy zauważyć, że technologie nie stoją w miejscu, dlatego rozwijają się możliwości tworzenia dynamicznych stron. I tu znaleziono sposób w postaci tworzenia wysokiej jakości zasobów na CMS, które cieszą się coraz większą popularnością.

CMS to skrót od Content Management System, co dosłownie oznacza System Zarządzania Treścią zasobu. Mówiąc najprościej, to jest to samo pakiet oprogramowania, co pozwala na zmianę wyglądu i zawartości stron dynamicznych w sposób, w jaki chce tego użytkownik. Nawiasem mówiąc, CMS jest oparty na co najmniej jednym z powyższych języków programowania.

Obecnie w Internecie działa wiele takich systemów, część z nich jest bezpłatna, część płatna. Często takie systemy są dostarczane swoim klientom przez odpowiednie firmy programistyczne. Każdy system jest indywidualny i ma swoje zalety i wady.

Dlatego dynamiczne witryny są znacznie bardziej elastyczne w zarządzaniu. Strony dynamiczne to zbiór tekstu i grafiki, język znaczników - podobnie jak witryny statyczne. Jednak oprócz tego strony dynamiczne wykorzystują również różne technologie do „zbierania” stron internetowych w locie. Takie zasoby pomagają ich właścicielom zjednoczyć wokół siebie społeczność odwiedzających i dają znacznie więcej możliwości komunikowania się z publicznością, co pozwala różne funkcje uczynić go bardziej interesującym dla odwiedzających.

Dynamiczne zasoby można rozwijać od podstaw, ręcznie tworząc wszystkie niezbędne kody programów, skrypty itp. Jednak znacznie częściej do tworzenia dynamicznych stron wykorzystywane są specjalne systemy zarządzania treścią - CMS... CMS pozwala na korzystanie z gotowych modułów i komponentów oprogramowania, bez konieczności każdorazowego tworzenia ich „od podstaw”. W oparciu o jeden CMS można stworzyć dowolną liczbę projektów.

Jednocześnie, pomimo wyraźnych zalet stron dynamicznych, nie należy zakładać, że witryny dynamiczne są zawsze właściwą decyzją i całkowicie porzucać strony witryn statycznych. Zawsze powinieneś wychodzić z sytuacji. Nic dziwnego, że mówi się, że nawet z popędzać nadal potrzebuję koncertu. W projekcie należy często używać stron statycznych. Jeśli projekt jest mały, składa się tylko z kilku stron, a zawartość na nim nie jest aktualizowana, to nie ma sensu tworzyć silnika zasobu - łatwiej jest raz rozłożyć wszystkie potrzebne strony. Ale nie we wszystkich przypadkach jest to możliwe.

DZWONEK

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu