Systemy internetowe Wykład 6 Architektura WWW - cd Monitorowanie transmisji HTTP Oprogramowanie monitorujące klasy Local Proxy, służące do monitorowania transmisji HTTP, np.: Spike Proxy: funkcjonuje jako serwer HTTP Proxy rejestruje przesłania HTTP, możliwy jest odczyt i modyfikacja żądań i odpowiedzi HTTP badanie serwerów HTTP pod kątem podatności na włamania. Nakładka LiveHTTPHeaders komunikaty żądań i odpowiedzi HTTP są wyświetlane w panelu bocznym przeglądarki. 1
Adres URL URL (Uniform Resource Locator) identyfikuje dokumenty udostępniane przez serwery HTTP, zawiera: nazwę protokołu komunikacyjnego (HTTP, HTTPS, FTP), adres komputera na którym ulokowany jest serwer HTTP, ścieżkę dostępu do dokumentu nazwę dokumentu. Wyłącznie znaki alfanumeryczne i kilka znaków specjalnych, pozostałe znaki powinny być zapisane jako heksadecymalne kody poprzedzone znakiem "%". Składnia zdefiniowana w dokumencie RFC 1738. http:// www.wp.pl /moj_katalog /moja_strona.html Dokumenty statyczne i dynamiczne Dokument statyczny - gotowy do pobrania plik zapisany w systemie plików serwera HTTP. szybki dostęp do treści dokumentu, konieczność modyfikacji dokumentów, gdy zmianie ulegają opisywane przez nie dane. Dokument dynamiczny (1993) dokument generowany automatycznie przez serwer HTTP: serwer HTTP otrzymuje żądanie od klienta, serwer HTTP uruchamia program, program konstruuje dokument wynikowy. 2
Dynamika stron WWW Zastosowanie elementów aktywnych po stronie klienta (ang. client-side), JavaScript, CSS, aplety Javy związane z rodzajem oprogramowania klienckiego - strona może być różnie interpretowana przez różne przeglądarki. Zastosowanie elementów aktywnych po stronie serwera (ang. server-side): klient otrzymuje gotową stronę WWW wygenerowaną z uwzględnieniem kryteriów zadanych przez użytkownika, minimalizacja ilości czynności wykonywanych po stronie klienta, wynik niezależny od przeglądarki. Server-side Technologie serwletów: logika prezentacji ma postać aplikacji wykonywalnej, która odpowiada za wygenerowanie kompletnego dokumentu, serwlety Java. Technologie szablonów: logika prezentacji ma postać szablonu dokumentu, w który wplecione są fragmenty kodu wykonywalnego, PHP, ASP.NET, JavaServer Pages. Aplikacja WWW - zestaw programów komputerowych znajdujących się po stronie serwera HTTP, komunikujących się z użytkownikiem za pomocą dokumentów dynamicznych obsługiwanych przez klientów HTTP. 3
Baza danych 3 6 7 4 Aplikacja WWW 5 1 2 Architektury aplikacyjne M Graficzny interfejs użytkownika Aplikacja Baza danych KS Graficzny interfejs użytkownika Aplikacja Sieć Baza danych WWW Graficzny interfejs użytkownika Sieć Aplikacja Sieć Baza danych 4
Rozszerzona architektura WWW Przeglądarka HTTP serwer HTTP serwer aplikacji aplikacja SQL Serwer bazy danych Wizualizacja graficznego interfejsu użytkownika Generowanie dokumentów dynamicznych Udostępnianie danych osadzanych w dokumentach dynamicznych Serwer aplikacji (1) Oprogramowaniem o charakterze systemowym. Zwalnia programistę z implementacji obsługi protokołu HTTP oraz obsługi komunikacji SQL. Zwalnia programistę z implementacji powtarzalnych funkcji aplikacyjnych: obsługa transakcji HTTP, rejestracja żądań w plikach dziennika, autoryzacja dostępu użytkowników do aplikacji, itd. Często zawiera w sobie funkcjonalność serwera HTTP. 5
Serwer aplikacji (2) Przykłady: BEA Weblogic, Borland Visibroker, JBoss AS, IBM WebSphere, Oracle Application Server, Kontener aplikacji (np. Tomcat) wykorzystywany do samodzielnego uruchamiania aplikacji, jako element serwerów aplikacji JEE (np. JBoss). Do działania prostych aplikacji (nie wymagają obsługi jednoczesnego dostępu tysięcy użytkowników), nie jest konieczny ani serwer aplikacji ani kontener. Architektura 4-ro warstwowa Warstwa 1 warstwa klienta Warstwa 2 komponenty logiki prezentacji Warstwa 3 komponenty logiki biznesowej Warstwa 4 warstwa danych Komponenty logiki prezentacji: przyjmowanie żądań od klientów HTTP, wywoływanie funkcji komponentów logiki biznesowej, generowanie dokumentów dynamicznych. Komponenty logiki biznesowej: realizacja procesów biznesowych i komunikację z bazą danych. 6
Architektura MVC (1) MVC Model, View, Controler Komponenty modelu (Model) odpowiadają za realizację procesów biznesowych i komunikację z bazą danych. Komponenty prezentacji (View) odpowiadają za generowanie dokumentów dynamicznych i wypełnianie ich danymi przekazywanymi przez komponenty modelu. Komponenty sterujące (Controler) odpowiadają za przyjmowanie żądań od klientów HTTP i koordynację ich obsługi, polegającą na wywoływaniu funkcji komponentów modelu i prezentacji. Architektura MVC (2) baza danych model użytkownik kontroler widok Zalety architektury MVC: brak zależności modelu od widoków; łatwiejsza rozbudowa widoków. Wady architektury MVC większa złożoność aplikacji. 7
Zalety i wady aplikacji WWW Zalety: niskie wymagania sprzętowe, łatwość użytkowania aplikacji, wygoda administrowania aplikacjami, ułatwiona ochrona własności intelektualnej twórców oprogramowania. Wady: trudność wytwarzania oprogramowania, uproszczenie graficznego interfejsu użytkownika, konieczność zakupu serwera, konieczność zakupu oprogramowania serwera aplikacji. Internet Engineering Task Force IETF - nieformalne, międzynarodowe stowarzyszenie osób zainteresowanych ustanawianiem standardów technicznych i organizacyjnych w Internecie. IETF generuje dokumenty RFC (Request For Comments, w których zawarte są definicje standardów i protokołów internetowych (np. MIME, URL, SSL/TLS, elementy HTTP, SMTP). IETF ma charakter otwarty wystarczy zapisać się do grupy mailowej wybranej grupy roboczej IETF. 8
World Wide Web Consortium W3C komercyjne organizacja, która zajmuje się ustanawianiem standardów pisania i przesyłu stron WWW. Została założona 1.10.1994r. przez Tima-Berners-Lee. W3C jest obecnie zrzeszeniem ponad 400 organizacji, firm, agencji rządowych i uczelni z całego świata. W3C publikuje rekomendacje (odpowiednik RFC). Przykładowe zainteresowania W3C: HTML; CSS; DOM; elementy HTTP; SVG; VoiceSML. 9
SEO - definicja SEO (search engine optimization) - optymalizacja dla wyszukiwarek internetowych (pozycjonowanie strony). SEO obejmuje procesy zmierzające do osiągnięcia przez dany serwis internetowy jak najwyższej pozycji w wynikach wyszukiwarek dla wybranych słów i fraz kluczowych. Pozycjonowanie jest procesem ciągłym, co wynika z tego, że cały czas zmieniają się mechanizmy i algorytmy stosowane w wyszukiwarkach. SERP - Search Engine Results Page - lista wyników zwróconych przez wyszukiwarkę. 10
SEO kryteria Elementy, które maja wpływ na pozycje strony w wynikach wyszukiwania: treści obecne na stronie (słowa kluczowe, nagłówki, częstotliwość, unikalność), funkcjonowanie strony (szybkość, błędy, optymalizacja rekomendacje), popularność strony wśród użytkowników (liczba linków, jakość stron linkujących, social media). SEO przykładowe elementy pozycjonowania optymalizacja treści pod kątem pozycjonowanego słowa kluczowego (słowa kluczowe, nagłówki, title) usprawnienie funkcjonowania strony pod względem technicznym (błędy, szybkość ładowania, grafika), ustalenie odpowiedniej struktury strony (podstrony, kanibalizm słów kluczowych) stosowanie przyjaznych adresów url wyczerpujący, ale krótki opis strony (description) wersja serwisu na urządzenia mobilne zdobywanie linków z innych stron. 11
SEO rozwój (1) 1. Analiza słów kluczowych podanych przez autora w nagłówku strony. 2. Analiza treści strony; Nieetyczne metody pozycjonowania: duże nagromadzenie słów kluczowych w treści strony słowa kluczowe niezgodne z treścią strony ukrywanie słów kluczowych, inna wersja strony dla robota, inna dla użytkownika. Wykrycie usunięcie strony z wyników wyszukiwania. SEO rozwój (2) 3. Analiza topologii sieci (np. zliczanie linków). Google bomb masowe dodawanie na wielu stronach linku do wybranej strony ze wskazanym słowem kluczowym Zapytanie: "miserable failure" oficjalna strona George'a W. Busha. Zgodnie z oficjalnym stanowiskiem Google w 2007r. dokonano modyfikacji algorytmów wyszukiwania w taki sposób, że stały sie one odporne na efekt google bomb. 4. Real Time Search korzystanie z aktualnych wyników z serwisów społecznościowych (2009). 12
PageRank W Google tworzenie listy wyników (SERP) jest oparte na wartości indeksu PageRank stron. PageRank jest oparty na 2 zasadach: jakość tekstu jest proporcjonalna do liczby tekstów na niego się powołujących, jakość tekstu jest zależna od jakości odnośników wskazujących na rozpatrywany tekst. Szczegóły właściwego algorytmu nigdy nie zostały upublicznione. Obecnie PageRank jest tylko jednym z wielu elementów decydujących o ostatecznej pozycji strony. Ban i filtr Google (1) Google aktualizuje algorytmy wyszukiwania, prowadząc w ten sposób walkę z nieuczciwą konkurencją. Na witryny prowadzone przez nieuczciwych webmasterów i pozycjonerów zostają nałożone kary (filtry i bany). Ban powoduje usunięcie witryny z wyszukiwarki. Przyczyny: kopiowania treści; ukrywanie tekstu i linków; wyłudzania pieniędzy; Doorway Page witryna przenosząca na inną witrynę; Cloaking. 13
Ban i filtr Google (2) Filtr to kara polegająca na obniżeniu pozycji określonych słów, fraz, bądź nazw własnych w wyszukiwarce o kilkadziesiąt miejsc (30-70). Filtr nie jest więc nakładany na całą stronę, ale na kilka fraz szukania. Zazwyczaj jest nakładany jest na określony czas. Główną przyczyną nakładania filtra Google jest nienaturalne linkowanie nagły przyrost liczby linków przekierowujących na daną stronę (System Wymiany Linków - SWL). Ban i filtr Google (3) Nagły spadek ruchu na witrynie. Operator site:www.wi.zut.edu.pl Widzimy stronę i podstrony OK Nie widzimy nic BAN! (albo brak indeksacji) Google Webmaster Tools usługa do obserwowania ruchu na zarządzanych stronach oraz diagnozowania problemów. Zdjęcie bana lub filtru z serwisu trzeba zidentyfikować przyczynę nałożenia kary - audyt SEO strony internetowej usunąć elementy, które przyczyniły się do otrzymania bana wysłać prośbę o zdjęcie kary (i czekać...). 14
Dziękuję za uwagę 15