1. Protokoły. Co programy wykorzystują do komunikacji przez sieć? wykorzystują protokoły komunikacyjne



Podobne dokumenty
rk HTML 4 a 5 różnice

Języki programowania wysokiego poziomu WWW

Typowane zagadnienia jakie mogą pojawić się na egzaminie: wykład 1

Programowanie współbieżne i rozproszone

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Programowanie w Internecie

Aplikacje WWW Wprowadzenie

Programowanie internetowe

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Technologie internetowe

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Wybrane działy Informatyki Stosowanej

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Internet (słowo pisane wielką literą jako nazwa własna!) to globalna sieć komputerowa korzystająca ze stosu protokołów TCP/IP.

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

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

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

mgr inż. Michał Paluch

Wybrane działy Informatyki Stosowanej

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Aplikacje Internetowe termin dodatkowy

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

nope. Co oznacza kod odpowiedzi 200? Co oznacza kod odpowiedzi 401? Jaka jest różnica między HEAD i GET? Na ilu bitach kodowany jest IPv6?

Kurs HTML 4.01 TI 312[01]

HTML 5 język wykorzystywany do tworzenia i prezentowania stron internetowych www. Jest

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

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

Specyfikacja techniczna. mprofi Interfejs API

Programowanie Komponentowe WebAPI

29. Poprawność składniowa i strukturalna dokumentu XML

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Wybrane działy Informatyki Stosowanej

OpenLaszlo. OpenLaszlo

Facelets ViewHandler

Zaawansowany kurs języka Python

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

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

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

Dokument hipertekstowy

TIN Techniki Internetowe zima

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

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Wybrane działy Informatyki Stosowanej

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

Serwery aplikacji. dr Radosław Matusik. radmat

Modele danych walidacja widoki zorientowane na model

Ćwiczenie: JavaScript Cookies (3x45 minut)

1 Wprowadzenie do J2EE

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

Serwery aplikacji. dr Radosław Matusik. radmat

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Wymagania edukacyjne: Statyczne witryny internetowe (na podstawie programu nr )

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

Aplikacje internetowe - laboratorium

Aplikacje WWW - laboratorium

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

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

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Podstawy (X)HTML i CSS

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

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

Aplikacje Internetowe, Servlety, JSP i JDBC

Zadanie programistyczne nr 3 z Sieci komputerowych

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

Dokumentacja SMS przez FTP

EJB 3.0 (Enterprise JavaBeans 3.0)

2 Podstawy tworzenia stron internetowych

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

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

Baza danych sql. 1. Wprowadzenie

1. Model klient-serwer

Bazy danych i strony WWW

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Specyfikacja HTTP API. Wersja 1.6

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

I. Dlaczego standardy kodowania mailingów są istotne?

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

CouchDB. Michał Nowikowski

1. W protokole http w ogólnym przypadku elementy odpowiedzi mają: a) Postać tekstu b) Postać HTML c) Zarówno a i b 2. W usłudze DNS odpowiedź

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

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

Sprawozdanie nr 4. Ewa Wojtanowska

Podstawy technologii WWW

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

Bazy Danych i Usługi Sieciowe

Serwery aplikacji. dr Radosław Matusik. radmat

Forum Client - Spring in Swing

XHTML2 i HTML5 Przyszłość WWW oparta o nowe standardy sieciowe HTML5 i XHTML2

Gatesms.eu Mobilne Rozwiązania dla biznesu

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Instrukcja laboratoryjna

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

PROJEKTOWANIE APLIKACJI INTERNETOWYCH


Transkrypt:

1. Protokoły Co programy wykorzystują do komunikacji przez sieć? Co to jest protokół komunikacyjny? wykorzystują protokoły komunikacyjne zestaw regół dotyczących komunikacji Do czego służą protokoły warstwy aplikacyjnej? do definiowania semantyki komunikatów wymienianych pomiędzy programami Przykłady protokołów warstwy aplikacyjnej HTTP FTP SMTP POP3 Do czego wykorzystywany jest protokół HTTP? 1) komunikacji pomiędzy przeglądarką internetową a serwerem www 2) komunikacji między fragmentami oprogramowania po stronie serwera Klasy w javie InetAddress - przechowuje adres NetworkInterface - reprezentuje interfejs sieciowy Socket - końcówka połączenia Co to jets ramkowanie? Jakie są typy ramkowania? Kto otwiera połączenie HTTP? Co zawiera żądanie HTTP? Co zawiera odpowiedź HTTP? Jak działa serwer iteracyjny? Jakie są podejścia do serwera współbieżnego? ServerSocket - służy do nasłuchiwania ramkowanie to sposób na określenie rozmiaru danych przesyłanych przez protokół delimiter based - określony znak kończący blok danych explicit length - na początku przesyłany jest rozmiar dalszej części połączenie otwierane jest przez klienta -linia żądania zakończona CRLF -dowolna ilość nagłówków, z których każdy jest zakończony CRLF -pustej linii CRLF -treśći (jej długość musi zostać podana w nagłówku Content-length) -linia statusu zakończona CRLF -dowolna ilość nagłówków, z których każdy zakończony jest CRLF -pustej linii CRLF -treść (jej długość możę być określona przy pomocy Content-length lub przez zamknięcie połączenia z klientem) w trakcie obsługiwania jednego klienta reszta czeka w kolejce client per thread - każdy klient dostaje nowy

wątek thread pool - istnieje pula wątków i klient dostaje wątek z puli lub czeka egzekutor - podobne do puli wątków 2. Java bazy danych JDBC Czego wymaga JDBC do połączenia z baządanych? Jakie są typy sterowników JDBC? Java DataBase Connectivity wymagane jest dostarczenie przez producenta bazy sterownika (zestaw klas zapewniających implementację zdefiniowanych w standardzie interfejsów) Trzeba później zarejestrować sterownik w klasie DriverManager Typ 1 - JDBC-ODBC bridge + nie wymaga sterownika od producenta bazy - wolne i wymaga oprogramowania po stronie klienta -nie można korzystaćwielowątkowo Typ 2 - wywołania natywne sterownika +szybsze -wymaga dodatkowej biblioteki nie javowej Typ 3 - sterownik implementuje API używane przez dodatkową aplikację middleware +warstwa izolacji +100% java -wymagane oprogramowanie middleware Do czego służy klasa DriverManager? Co to jest DataSource?... Co to jest DAO typ 4 - sterownik dla Javy implementuje API używane przez serwer baz danych +100% java +nie wymaga żadnego dodatkowego oprogramowania zajmuje się zarządzaniem sterownikami. Żeby połączyć się z bazą trzeba zarejestrować w niej sterownik. (DriverManager.registerDriver(Driver drivername);) DataSource reprezentuje pulę połączeń do zastosowania w aplikacjach wielowątkowych (Data Access Object) wzorzec projektowy (fasada) dla dość skomplikowanego API JDBC.

3. Protokoły kontynuacja Jakie są możliwości kodowania przesyłanych danych? Protokół HTTP jest protokołem tekstowym, jakie sątego zalety i wady? Jaki nagłówek mówi o kodowaniu zawartości? little endian - od najmniej znaczących big endian - od najbardziej znaczących + brak problemów z kodowaniem - większa ilość przesyłanych danych Content-Type Jakie znaki są zarezerwowane w URI?! * ' ( ) ; : @ & = + $, /? % # [ ] Do czego służy HTTP Dlaczego HTTP nie jest w stanie stwierdzić że poszczególne żądania należą do danej konwersacji między klientem a serwerem? Co to jest URI? Jak zbudowane jest URI? służy do wymiany danych w sieci. Jest protokołem request-response, klient wysyła żądanie na co serwer odsyła mu odpowiedź bo HTTP jest bezstanowy ujednolicony identyfikator zasobu, URI nie musi pozwolić na znalezienie zasobu scheme://authority/path?query#fragment wymagame jest scheme i path, jeżeli nie ma authority to path nie może zaczynać się od // scheme - nieistotna wielkość znaków, poza literami mogą pojawić się. + - authority - zaczyna się od // i kończy /? lub # [userinfo@] host [: port] path - jeżeli authority jest puste to nie może zaczynać się od //, separatorem w path jest / może dodatkowo zawierać ; i = query - zaczyna się od? a kończy # lub końcem URI, spacja jest kodowana jako + Co to jest URN? Co to jest URL? Jakie są operacje na URI/URL? fragment - zaczyna się od #, określa część, podzbiór, miejsce w zasobie albo sposób jego reprezentacji nazwa zasobu lokator zasobu, pozwala znaleźć zasób. Nie ma ograniczenia na długość, ale serwer może ustalić własne ograniczenie Resolution - określenie mechanizmu dostępu do zasobu Dereferencing - wykorzystanie mechanizmu dostępu do zasobu

Co może się znajdować w nagłówku HTTP? Jakie są metody HTTP? Retrieval - pobranie zasobu znacznik czasu informacja o kodowaniu informacja o kompresji/ podziale na części produkt waga język entity tag OPTIONS - pytanie o opcje komunikacji odpowiedz jest przesylana w nagłówkach lub treści zawartości GET - pobieranie zasobu nagłówek if-* warunkowe GET - przeglądarka ma zasób w cache nagłówek Range - częściowe GET - chcemy pobrać tylko część zasobu HEAD - podobne do GET ale klient nie oczekuje zawartości POST - prośba o zaakceptowanie danych będących treścią (np. utworzenie nowego zasobu) PUT - prośba o zapamiętanie zasobu, np zapisanie na serwerze pliku (różnica między PUT i POST to URI, dla POST URI to zasób przetwarzający a dla PUT to zasób przesyłany) DELETE - prośba o usunięcie zasobu TRACE - sprawdzenie jaką ścieżkąp=szło żądanie Jakie są bezpieczne metody HTTP? (Metody bezpieczne nie modyfikują nic na serwerze) Jakie są idempotentne metody HTTP? (wykonane N>0 identycznych żądań będzie miało taki sam efekt jak wykonanie jednego żądania) Jakie są kody statusu odsyłane w odpowiedzi HTTP? CONNECT - prośba o połączenie z innym hostem i odgrywanie roli tunelu OPTIONS GET HEAD TRACE OPTIONS GET HEAD PUT DELETE TRACE kody informacyjne 1xx kody powowdzenia 2xx

kody przekierowania 3xx kody błędu aplikacji klienta 4xx kody błędu serwera 5xx (więcej w pliku kody.txt) 4. Protokoły kontynuacja, zawartość Jakie są różnice pomiędzy HTML a XHTML? Jakie są plusy HTML? Jakie są plusy XHTML? W jakim nagłówku przesyłany jest typ MIME? Wersje HTML 4.01 HTML powinen być wysyłany jako text/html a XHTML jako application/xhtml+xml zasady XHTML są bardziej surowe -znaczniki i atrybuty małymi literami -wszystkie elementy muszą być zamknięte -atrybuty w cudzysłowiach -każdy atrybut musi mieć nazwę i wartość -bardziej surowe zasady zagnieżdżania -znaki < > & ' " muszą być reprezentowane przez encje -do identyfikowania <a> <form> <img> <map> nie należy używać atrybutu name tylko id -bardziej zwięzły -nie ma tak ścisłych wymagań dotyczących składni -bardziej przenośny -łatwiejszy w parsowaniu Content-Type strict - nie zezwala na elementy i atrybuty ze starszych wersji transitional - zawiera wszystkie elementy i atrybuty ze starszych wersji Do czego służy deklaracja DOCTYPE? Jakie są tryby pracy przeglądarki? Jakie są cechy HTML 5? frameset - dla struktury dokumentu opartej na ramkach podajemy w niej link do pliku DTD oraz publicznie znany identyfikator typu dokumentu plik DTD zawiera zestaw reguł służących do walidacji dokumentu. html xhtml html quirks mode nie wymaga aby kod HTML był dobrze uformowanym XMLem

dużo wymogów dotyczących poprawnosci dokumentów i ich dokładniejsze sprawdzanie możliwość zastosowania narzędzi pochodzących z xml wsparcie przestrzeni nazw brak wersji (strict, frameset, transitional) Jakie są nowości w HTML5? dobrze tolerowany przez starsze przeglądarki -nowe znaczniki do tworzenia struktury: hgroup, figure, figcaption, dialog, dt, dd, mark, time, details -dodatkowa informacja o elementach struktury: section, article, aside, header, footer, nav, figure -nowe atrybuty: datetime, datetime-local, date, month, week, time, number, range, email, url -baza danych w przeglądarce -elementy canvas -elementy video Z czego składa się dokument? Jakie są różnice pomiędzy class a id w CSS Jakie style są dziedziczone w CSS Do czego dopasowuje się szerokość a do czego wysokość? Jak można wpłynąć na układ strony w CSS? -placeholder, autofocus w formularzach treść - html struktura -html, css, JavaScript prezentacja - css zachowanie - skrypty id powinno być unikatowe w dokumencie, class może się powtarzać, w atrybucie class może być kilka wartości oddzielonych spacją do id odwołujemy się przez # a do class przez. związane z fontem i kolorem pierwszego planu są dziedziczone z rodzica i nadpisują szerokość - do rodzica wysokość - do zawartości float - wymusza aby element był doklejony do marginesu clear - wymusza aby element był pod poprzedzającym go elementem mającym właściwość float

6. Python Jak nazwya się wzorzec realizowany przez Django? Jakie są zadania poszczególnych elementów MVT? Model View Template model - przechowywanie danych w aplikacji,pobieranie ich z bazy i zapisywanie do bazy view - funkcje pythona, określanie co należy wyświetlić template - definiuje wygląd i sposób przedstawiania danych zwracanych przez widok 9. Maven Co to jest maven? Co to jest archetyp w mavenie? Jakim poleceniem buduje się projekt w mavenie? Co to jest plik pom.xml? Jaki archetyp służy do tworzenia aplikacji webowych? narzędzie do zarządzania projektami i bibliotekami dla javy archetyp to struktura projektu mvn clean install taki makefile dla mavena maven-archetype-webapp 10. Serwlety Jakie są możliwe podejścia do przechowywania sesji? Model Serwletu Konteksty Co to są atrybuty żądania? Cykl życia serwletu można przechwoywać cały stan sesji i przesyłać do serwera, lub można przechowywać tylko id sesji 1. odebranie żądania 2. analiza żadania i wybranie serwletu 3. przetwarzanie żądania przez serwlet 4. odesłanie odpowiedzi kontekst strony kontekst żądania kontekst sesji kontekst aplikacji są to pary nazwa/wartość związane z żądaniem 1. kontener tworzy serwlet przez newinstance 2. konteer wywołuje metodę init(servletconfig

config) 3. kontener wywołuje nadpisaną metodę init 4. dla każdego żądania kontener wywołuje metodę service, któa wywołuje odpowiednie doxxx 5. kontener żeby zakończyć serwlet wywołuje destroy() 11. Serwlety kontynuacja Co może zawierać aplikacja webowa? W jakim pliku znajduje się aplikacja webowa? Do których plików ma dostęp klient w warze? Czym jest atrybut? Z czym może być powiązany atrybut? Co to jets filtr? serwlety pliki JSP dodatkowe klasy statyczne zasoby plik konfiguracyjny w pliku war do wszystkich poza timi z folderów WEB-INF i META-INF atrybut może być dowolnym obiektem - z żądaniem - z sesją - z kontekstem filtr to obiekt przechwytujący żądania. Filtr może wstępnie obrobić żądanie albo zdecydować o nie przesyłaniu go do aplikacji 12. JSP i MVC Co może znajdować się na stronie JSP? - ukryte komentarze - deklaracje - wyrażenia - skryptlety - dyrektywy