Hipertekst w sieci: WWW



Podobne dokumenty
Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Wybrane działy Informatyki Stosowanej

Programowanie w Internecie

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Języki programowania wysokiego poziomu WWW

Protokoły komunikacyjne

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

World Wide Web? rkijanka

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

FTP File Transfer Protocol

Programowanie Sieciowe 2 Protokoły komunikacyjne: FTP

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Wybrane działy Informatyki Stosowanej

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Programowanie w Internecie

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Protokoły Internetowe

Wprowadzenie do programowania www

Stos TCP/IP. Warstwa aplikacji cz.2

Instrukcja obsługi serwera FTP v

Laboratorium nr 4 - Badanie protokołów WWW

Technologia informacyjna

Dr Michał Tanaś(

Adres IP

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Technologie cyfrowe semestr letni 2018/2019

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Programowanie Komponentowe WebAPI

Application Layer Functionality and Protocols

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Bazy danych i strony WWW

1. Model klient-serwer

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

FTP co to takiego? FTP File Transfer Protocol (Protokół Przesyłania Plików) RFC 114,959

Laboratorium - Poznawanie FTP

(argument dla męskiej m. ęści populacji)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Sprawozdanie Laboratorium 4

Technologie internetowe

Sieci komputerowe Warstwa aplikacji

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

OpenLaszlo. OpenLaszlo

Protokoły warstwy aplikacji i ich zastosowanie

Instalacja Moodle na serwerze SBS2000/2003. Opiekun pracowni internetowej SBS

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Bazy Danych i Usługi Sieciowe

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Aplikacje WWW Wprowadzenie

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

Sprawozdanie nr 4. Ewa Wojtanowska

Sieci komputerowe i bazy danych

1. FTP 2. SMTP 3. POP3

TIN Techniki Internetowe zima

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Ślady w sieci. Piotr Kucharski. Społeczeństwo informacyjne, Szkoła Główna Handlowa indeks Logi. Zagrożenia i ucieczki Podsumowanie

Sieci komputerowe. Wstęp

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Propozycje projektów (gniazdka)

Protokoły sieciowe - TCP/IP

Bezpieczeństwo WWW. Plan prezentacji. WWW a protokoły TCP/IP; URL. Czym jest WWW?

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Języki i narzędzia programowania III. Łukasz Kamiński Wykład I

Sieci Komputerowe i Bazy Danych

Gatesms.eu Mobilne Rozwiązania dla biznesu

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Programowanie i projektowanie obiektowe

Linux -- u mnie działa!

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

Projekt e-deklaracje 2

Architektura aplikacji sieciowych. Architektura klient-serwer


INSTRUKCJA OBSŁUGI DLA SIECI

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

SZYBKI START. Obsługa skrzynki pocztowej systemu GroupWise przy użyciu przeglądarki Web lub urządzenia bezprzewodowego na stronie 5

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Sieci komputerowe. Wykład 7: Warstwa zastosowań: DNS, FTP, HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Programowanie internetowe

Warstwa aplikacji. Model TCP/IP Model OSI

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 2 Seria: Teleinformatyka 2013

Sieciowe systemy informacyjne

Instrukcja konfiguracji funkcji skanowania

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Seria: Teleinformatyka PROTOKÓŁ I SERWER FTP PRZYKŁADY KOMUNIKACJI Z SERWEREM FTP

Transkrypt:

Hipertekst w sieci: WWW World Wide Web (WWW) sieć połączonych ze sobą stron hipertekstowych hipertekst: pierwszy pomysł 1945 tekst zawierający odnośniki do innych tekstów wybranie odnośnika przeniesienie do odpowiedniego tekstu pierwotne wykorzystanie 1989 połączenie dokumentów dotyczących fizyki nuklearnej

Hipertekst w sieci: WWW Części składowe WWW: język opisu stron HTML (HyperText Markup Language) protokół komunikacyjny HTTP (HyperText Transfer Protocol) Programy obsługujące WWW: serwery WWW (Apache, Microsoft IIS) na porcie 80 klienci WWW, tzw. przeglądarki (IE, Netscape Communicator, Mozilla, Mozilla Firefox, Opera, lynx, links, )

Hipertekst w sieci: WWW Inne rodzaje plików poza stronami WWW: obsługa przez wtyczki (plug-ins) obsługa przez aplikacje wspierające MIME przypisanie typu pliku do wtyczki/aplikacji wspierającej Universal Resource Locator (URL) adres konkretnego zasobu, nie tylko serwera: prot://adres.dns.lub.ip(:port)/katalog/plik prot: http, ftp, mailto, gopher, file

WWW: Ciasteczka Problem bezpołączeniowości komunikacji przy użyciu HTTP: brak możliwości przechowywania preferencji użytkownika, danych o stanie zalogowany? Rozwiązanie ciasteczka (cookies) pliki wysyłane przez serwer, przechowywane przez przeglądarkę traktowane jako dane, a nie pliki wykonywalne teoretycznie nie powinny stanowić zagrożenia

domain domena serwera, z którego pochodzi ciasteczko path ścieżka do zasobu, którego dotyczy ciasteczko content interesujące serwer dane expires data wygaśnięcia (bez daty wygasa po wyłączeniu przeglądarki) secure nie wysyłaj, jeśli nie zostało nawiązane bezpieczne połączenie (np. transakcje bankowe, ) WWW: Ciasteczka Ciasteczka (cookies) struktura ciasteczka

WWW: Ciasteczka Ciasteczka (cookies) przy każdym nowym żądaniu przeglądarka sprawdza, czy nie ma ciasteczek dla danej domeny jeśli ma, wysyła ciasteczko razem z żądaniem serwer odbiera ciasteczko i generuje na jego podstawie odpowiednią witrynę

WWW: Ciasteczka Ciasteczka (cookies) problemy: ciasteczka mogą zawierać wirusy potencjalne błędy przeglądarki mogą spowodować uaktywnienie tych wirusów ciasteczka mogą służyć do nielegalnego zbierania informacji o użytkownikach sieci

WWW: Ciasteczka Ciasteczka (cookies) problemy: ciasteczka mogą zawierać wirusy potencjalne błędy przeglądarki mogą spowodować uaktywnienie tych wirusów ciasteczka mogą służyć do nielegalnego zbierania informacji o użytkownikach sieci

HTML Statyczny Opis Strony Strona HTML znaczniki (tags) mogą być zagnieżdżone tekst specjalne: tabele formularze

Dynamiczne Strony WWW Generowanie HTML po stronie serwera: CGI (Common Gateway Interface) PHP (PHP: Hypertext Preprocessor) ASP (Active Server Pages) JSP (Java Server Pages) Generowanie dynamicznej zawartości po stronie klienta: JavaScript

Dynamiczne Strony WWW CGI: użytkownik przesyła dane przy pomocy formularza serwer przekazuje dane do programu CGI program CGI zwraca gotową stronę WWW lub jej część serwer przesyła stronę do użytkownika Program CGI musi być wykonywalny na serwerze programy nie są przenośne UNIX: najczęściej Perl, albo wykonywalne pliki binarne

Dynamiczne Strony WWW PHP, JSP, ASP: użytkownik przesyła dane przy pomocy formularza serwer dynamicznie generuje stronę WWW ze statycznej zawartości i z interpretowanych skryptów (wstawek) serwer przesyła stronę do użytkownika Skrypty są przenośne i powinny na każdej platformie generować tę samą stronę

Dynamiczne Strony WWW JavaScript: język skryptowy zbliżony w składni do Javy interpretowany i wykonywany w przeglądarce widoczny w źródle strony Zastosowania: proste aplikacje w oparciu o HTML (np. kalkulator adresów IP) efekty specjalne (menu, specjalne kursory, animowany tekst, ) strony interaktywne Aplety Java interpretowane przez JVM (maszynę wirtualną Javy) ustandaryzowane zachowanie (w przeciwieństwie do JS)

Dynamiczne Strony WWW Kontrolki ActiveX: kompilowane mini-aplikacje szybki czas wykonania nieprzenośne

Dynamiczne Strony WWW CGI PHP/JSP/ ASP JavaScript/ aplety Java Active X Język programowania dowolny określony określony dowolny Program wykonywalny kompilowany interpretowany interpretowany kompilowany Kod wstawiony między statyczny HTML nie tak tak nie Kod przenośny nie tak tak nie Dobry do aplikacji wymagających obliczeń tak nie nie tak Miejsce wykonania serwer serwer przeglądarka przeglądarka Dobra integracja z serwerem WWW nie tak n/d n/d

HTTP HyperText Transfer Protocol (protokół transferu hipertekstu) Komendy: GET nazwa_pliku.htm HTTP/1.1 pobierz stronę HEAD pobierz sam nagłówek PUT, POST, DELETE modyfikuj witrynę (rzadko używane) TRACE prześlij żądanie z powrotem (ustalanie źródła błędu) CONNECT nie używane OPTIONS pytanie o parametry serwera i pliku

HTTP Odpowiedzi: Linia stanu (status line) kod + komentarz: 1xx informacja (100 przyjmuję żądanie) 2xx operacja zakończona sukcesem (204 brak zawartości) 3xx przekierowanie (301 strona przesunięta, 304 strona w pamięci podręcznej wciąż aktualna) 4xx błąd po stronie klienta 5xx błąd po stronie serwera (500 wewnętrzny błąd serwera, 503 spróbuj później) Nagłówki Treść strony

HTTP Odpowiedzi: Linia stanu (status line) kod + komentarz: Nagłówki Treść strony

HTTP Odpowiedzi: Linia stanu (status line) kod + komentarz: Nagłówki Treść strony: wydane komendy: telnet www.ietef.org 80 GET /rfc.html HTTP/1.1

HTTP Proxy Przechowywanie stron w pamięci podręcznej: na komputerze klienta na serwerze proxy klient wysyła żądanie do serwera proxy odpowiedź z pamięci podręcznej lub przekazanie żądania do serwera docelowego Jak długo przechowywać dane w cache? decyzja na podstawie nagłówka Last-Modified decyzja na podstawie komunikacji z serwerem docelowym (nagłówek If-Modified-Since ) połączenie obu metod

Bezprzewodowe WWW: WAP Wireless Access Protocol (protokół dostępu bezprzewodowego) używany w telefonach komórkowych, palmtopach (PDA), notebookach WAP 1.0: oparty na WML (modyfikacja XML) własne protokoły WAP 2.0: oparty na XHTML (modyfikacja HTML) używa protokołów Internetu lub protokołów WAP 1.0 dynamiczna zmiana zawartości (np. ceny akcji) integracja z funkcjami telefonu multimedia wtyczki w przeglądarce

Bezprzewodowe WWW: WAP Alternatywa: 802.11: Zalety: znacznie większa szybkość standardowe strony nie wymagają modyfikacji Wady: nie wszystkie urządzenia wspierają 802.11 konieczna obecność stacji bazowej

Komunikatory Internetowe: GG Liczne dostępne komunikatory: ICQ, GG, AOL Instant Messaging, MS Messenger Gadu-Gadu polski komunikator połączenie HTTP (rejestracja, zmiana hasła, odnajdywanie serwera) i własnego protokołu komunkacyjnego

Komunikatory Internetowe: GG Nawiązanie połączenia z serwerem: przez HTTP z serwerem appmsg.gadugadu.pl serwer odpowiada adresem IP właściwego serwera GG nawiązanie komunikacji z właściwym serwerem: serwer przesyła pakiet WELCOME zawierający ziarno do utworzenia zaszyfrowanego hasła użytkownik odsyła serwerowi UIN (numer użytkownika), zaszyfrowane hasło, i podstawowe parametry (wersja, status, opis, )

Komunikatory Internetowe: GG Każdy pakiet: typ pakietu długość pakietu treść

Komunikatory Internetowe: GG Typy pakietów odpowiedzi serwera: nawiązanie połączenia potwierdzenie połączenia, lub błąd przesłanie swojej listy kontaktów dane kontaktów (status, opis, adres IP, port, ) eksport/import listy kontaktów na/z serwera wysłanie wiadomość potwierdzenie: numer odbiorcy numer sekwencyjny typ wiadomości treść wiadomości odbiór wiadomości: j. w. + czas nadania kontakt z katalogiem publicznym (wyszukiwanie znajomych)

Komunikatory Internetowe: MSN/Windows Messenger Trzy typy serwerów: Dispatch Server (odpowiedzialny za odsyłanie do NS) Notification Server (logowanie, nawiązywanie sesji, powiadamianie o stanie, komunikacja z SS) Switchboard Server (przesyłanie konkretnych wiadomości)

Komunikatory Internetowe: MSN/Windows Messenger Komunikaty 7bit ASCII ACK Switchboard Client Sends a positive message delivery acknowledgement. ADD Client Notifcation Notification Client Adds to the user's FL, AL, and BL. Notifies the client of asynchronous additions to a user's list. ANS Client Switchboard Accepts a request for a switchboard server session. BLP Client Notifcation Notification Client Changes the user's message privacy setting, which determines how to treat messages from users not already in the BL or AL. BYE Switchboard Client Notifies a client that a user is no longer in the session. CAL Client Switchboard Initiates a switchboard server session. CHG Client Notifcation Notification Client Sends a client state change to the server. Echos the success of the client's state change request. FLN Notification Client Notifies the client when users in the FL go off-line GTC Client Notifcation Notification Client Changes the user's prompt setting, which determines how the client reacts to certain RL changes. INF Client Client Dispatch Dispatch Notification Client Requests set of support authentication protocol from the server. Provides the set of supported authentication protocols to the client. Notification Client ILN Notification Client Notifies the client of a the initial online state of a user in the FL, while either logging on or adding a user to the FL. IRO Switchboard Client Provides the initial roster information for new users joining the session. JOI Switchboard Client Notifies a client that a user is now in the session.

Komunikatory Internetowe: MSN/Windows Messenger Komunikaty 7bit ASCII LST Client Notification Retrieves the server's version of the user's FL, RL, AL, or BL. Notifcation Client MSG Client Switchboard Sends a message to the members of the current session. MSG Notification Switchboard Client Client Delivers a message from another client or from a server-side component. NAK Switchboard Client Sends a negative message delivery acknowledgement. NLN Notification Client Notifies the client when users in the FL go on-line or when their on-line state changes. OUT All All Ends a client-server Session. REM Client Notifcation Notification Client Removes from the user's FL, AL, and BL. Notifies the client of asynchronous removals from a user's list. RNG Notification Client Notifies the client of a request by another client to establish a session via a switchboard server. SYN Client Notification Initiates client-server property synchronization. Notifcation Client USR All All Authenticates client with server, possibly in mulitiple passes. VER Client Dispatch Negotiates common protocol dialect between client and Server. Dispatch Client XFR Client Notification Requests a Switchboard server for use in establishing a session. Notifcation Client XFR Dispatch Client Notification Client Notification of login-ns to the client or notification to move to a different NS.

Komunikatory Internetowe: IMPP Instant Messaging/Presence Protocol RFC 2779 (IETF) Przyszłość komunikacji wspólny standard

Transport plików: FTP File Transfer Protocol (Protokół transferu plików) Serwer TCP/IP Klient Interfejs użytkownika Interpreter poleceń 21 komendy odpowiedzi ASCII xxxx Interpreter poleceń Proces transferu danych zzzz dane ASCII lub binarny yyyy Proces transferu danych System plików System plików

Transport plików: FTP Tryb aktywny Tryb pasywny

Transport plików: FTP Tryb aktywny (przykład) Tryb pasywny (przykład) testbox1:$ ftp -d testbox2 Connected to testbox2.slacksite.com. 220 testbox2.slacksite.com FTP server ready. Name (testbox2:slacker): slacker ---> USER slacker 331 Password required for slacker. Password: TmpPass ---> PASS XXXX 230 User slacker logged in. ---> SYST 215 UNIX Type: L8 Remote system type is UNIX. Using binary mode to transfer files. ftp> ls ftp: setsockopt (ignored): Permission denied ---> PORT 192,168,150,80,14,178 200 PORT command successful. ---> LIST 150 Opening ASCII mode data connection for file list. drwx------ 3 slacker users 104 Jul 27 01:45 public_html 226 Transfer complete. ftp> quit ---> QUIT 221 Goodbye. testbox1:$ ftp -d testbox2 Connected to testbox2.slacksite.com. 220 testbox2.slacksite.com FTP server ready. Name (testbox2:slacker): slacker ---> USER slacker 331 Password required for slacker. Password: TmpPass ---> PASS XXXX 230 User slacker logged in. ---> SYST 215 UNIX Type: L8 Remote system type is UNIX. Using binary mode to transfer files. ftp> passive Passive mode on. ftp> ls ftp: setsockopt (ignored): Permission denied ---> PASV 227 Entering Passive Mode (192,168,150,90,195,149). ---> LIST 150 Opening ASCII mode data connection for file list drwx------ 3 slacker users 104 Jul 27 01:45 public_htm 226 Transfer complete. ftp> quit ---> QUIT 221 Goodbye.

Inne protokoły warstwy aplikacji NNTP Network News Transport Protocol Usenet tzw. grupy dyskusyjne służą do wymiany informacji oraz plików (grupy typu xxx.binaries.yyy.zzz) nieco zbliżone do systemu poczty elektronicznej, ale wszelkie wiadomości są widoczne przez wszystkich użytkowników Usenetu archiwa grup dyskusyjnych świetne źródło informacji na różne tematy (m.in. Google Groups, Deja News)

Inne protokoły warstwy aplikacji Protokoły P2P peer-to-peer (Kademlia, Overnet, KaZaa, DC ) Zdecentralizowana wymiana plików decentralizacja przechowywanych plików często również decentralizacja informacji o tym, gdzie można znaleźć pliki (Overnet, Kademlia, KaZaa)