Narzędzia e-biznesu
Adres cyfrowy, inaczej zwany adresem IP, składa się z czterech bajtów, na codzień zapisywanych jako liczby dziesiętne rozdzielone kropkami. Adresy IP dzielą się na klasy: wyznacza ja pierwszy bajt: 0-127 A, 128-191 B,192-223 C, 224-239 D (adres grupowy),240-255 E (do wykorzystania w przyszłości)
Adresy literowe, zwane krótko nazwami. Maja postać ciągu znaków rozdzielonych kropkami
serwer nazw- przetłumaczą nazwę na adres IP
Domeny - gałęzie wychodzące od korzenia nazywane są domenami. kolejne poddomenami a liście określają konkretny komputer. Rejestracją poddomen w domenach najwyższego poziomu zajmuje się InterNIC . Administracją i kreowaniem poddomen niższego poziomu zajmują się firmy i organizacje, które zarejestrowały poddomenę w InterNIC.
Domeny najwyższego poziomu to: mil - do wyłącznej dyspozycji armii USA, gov - dla instytucji i agencji rządu federalnego USA, edu - dla instytucji edukacyjnych w USA, org - pozarządowe organizacje niekomercyjne, int - dla organizacji działających na podstawie układów międzynarodowych, net - dla dostarczycieli Internetu, com - dla firm i instytucji komercyjnych
URL (Uniform Resource Locator) jest formą uniwersalnego adresu internetowego, pozwalającą dotrzeć nie tylko do konkretnego komputera, ale też do konkretnych plików na tym komputerze przy użyciu stosownego protokołu.
typ_usługi://nazwa_komputera/ścieżka/nazwa_pliku
gdzie typ_usługi to najczęściej http - dla WWW, ftp, gopher
telnet - protokół. który umożliwia pracę na zdalnym komputerze, oraz najprostszy program do obsługi pracy zdalnej poprzez telnet pracujemy na komputerach działających pod UNIXem.
SSH - protokół, jest to protokół telnet wzbogacony o szyfrowanie transmisji(pod UNIX), w Windows pracujemy w programie Putty
Telnet wejście - telnet adres_komputera
Telnet wyjście - logout, exit, quit, bye
FTP - to nazwa protokołu Internetowego, umożliwiającego przesyłania plików pomiędzy dwoma komputerami w sieci Internet.
Podstawowe komendy UNIXa
Ls - wypisz listę plików
More - wypisz zawartość pliku na terminalu
cp - skopiuj plik
mv - przenieś plik do innego katalogu lub zmień mu nazwę
rm - usuń plik
chmod - zmień prawa dostępu
cd - zmień bieżący katalog
mkdir - utwórz katalog
rmdir - usuń katalog
pwd - podaj nazwę bieżącego katalogu
World Wide Web - działanie opiera się na trzech podstawowych składnikach.
Web servers (serwery WWW) - Dyski tego komputera przechowują dane w postaci tekstów, grafiki, dźwięków, nagrań wideo, a także interakcyjne programy gotowe do uruchomienia. Oprogramowanie tego komputera udostępnia te dane (w odpowiedniej formie) i umożliwia korzystanie z programów interakcyjnych. Udostępnianie to odbywa się poprzez sieć.
Web browsers (przeglądarki WWW) - umożliwia interaktywne korzystanie z zasobów zgromadzonych na serwerach WWW.
Hiperteksty - dane w postaci tekstów, grafiki, dźwięków, nagrań wideo, itp. ,odnośniki lub inaczej łączniki, (ang.: links) do innych miejsc w tym samym dokumencie, innych dokumentach na tym samym serwerze a także na innych serwerach.
Hiperdokument to multimedialny dokument zawierający tekst, rysunki, animacje, dźwięki i łącza do innych hiperdokumentów. Idea hipertekstu powstała dość dawno, ale dopiero przy tworzeniu WWW została w pełni zrealizowana.
HTML - Język, którego użyto do zrealizowania hipertekstu w WWW przy jego użyciu programuje się wygląd strony WWW. Jest to język niezależny od sprzętu i systemów operacyjnych.
Znaczniki
Znaczniki HTMLu zapisywane są w nawiasach trójkątnych <nazwa_znacznika>
Część znaczników występuje w parach <nazwa_znacznika> tekst </nazwa_znacznika>
Niektóre znaczniki mają parametry, które podaje się w części otwierającej znacznik w postaci <nazwa_znacznika parametr1=wartość1 parametr2=wartość2>
Komentarze - umożliwiają wprowadzanie do dokumentu informacji nie przeznaczonych do wyświetlania na stronie <!-- treść komentarza -->
Znaki specjalne
Ponieważ znaki '<' oraz '>' są używane do zapisu znaczników, konieczna jest jakaś sekwencja umożliwiająca ich wypisanie w tekście:
< - dla znaku '<' > - dla znaku '>' & - dla znaku '&'
<HTML> i </HTML>. Cały dokument zawarty jest między
<HEAD> .. </HEAD>, Ogólne informacje o dokumencie zawarte są w części a właściwy dokument w części <BODY> ... </BODY>.
Polskie czcionki
Dla Windows 95/NT <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
Dla UNIX. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
HTML - struktura logiczna
<TITLE> tytuł </TITLE> - wstawienie tytułu w (pojawia się tylko) górnej listwie okienka przeglądarki
<H1do 6> tekst </H1 do 6>- nagłówek tytułów rozdziałów i podrozdziałów. Wartość następująca po H określa wielkość czcionki, którą zostanie złożony tytuł.
<BR> - nowa linia
<P> - nowy akapit
<HR> - rysowanie linii - znaczniki używane z tym <noshade><width=100, 100%> <size=5,6,7,> <align=centem, left, right> <hr color=”nazwa koloru”>
<PRE> tekst </PRE> - Tekst preformatowany, wyświetlany czcionką monotypiczną (o stałej szerokości znaku) pozwala wprowadzać dodatkowe spacje, uwzględnia także punkty tabulacji,
<CENTEM> </CENTER> - ustawienie symetrycznie tekstu względem lewego i prawego marginesu
Listy
<UL></UL> - tworzenie listy punktowanej (znaczki) znaczniki dodatkowe <type=disco, circle, square>
<OL></OL> tworzenie listy numerowanej (liczby)
<LI> - tworzenie kolejnych elementów listy punktowanej i numerowanej
<DL></DL> - tworzenie listy definicyjnej
<DT> - tworzenie pierwszego i następnego elementu listy
<DD> - tworzenie opisu elementu pierwszego
Łącza
URL (Uniform Resource Locator) jest formą uniwersalnego adresu internetowego. Najczęściej ma on postać: typ_usługi://nazwa_komputera/ścieżka/nazwa_pliku
Łącze (odnośnik) w pliku HTML do zadanego URL tworzy się następującą sekwencją
<A href="url"> tekst_odnośnika </A>
Adresowanie relatywne - Często wygodnie jest podawać relatywny URL. Ma on postać ścieżka/nazwa_pliku gdzie ścieżka jest opcjonalna, a całość jest relatywna względem pozycji pliku, w którym adres relatywny podano.
FTP, GOPHER - typy usług internetowych, szczególnym typem jest Malto czyli odesłanie do poczty internetowej
Odnośniki wewnętrzne
Jest również możliwe tworzenie odnośników lokalnych do wyróżnionych miejsc na projektowanej stronie. W tym celu najpierw trzeba oznaczyć takie miejsce komendą
<A NAME="etykieta"></A>
gdzie etykieta jest unikalną nazwą wybraną dla wyróżnienia danego miejsca. Do tak oznaczonej nazwy można się odnieść
<A href="#etykieta"> tekst_odnośnika </A>
<A href="...ścieżka/nazwa_pliku#etykieta"> tekst_odnośnika </A>
w pierwszym przypadku do tego samego pliku, a w drugim do miejsca w pliku o podanym adresie.
Formatowanie czcionki
<B> </B> - czcionka tłusta
<I> </I> - kursywa
<TT> </TT> - czcionka maszynowa
<BIG> </BIG> - duża czcionka
<SMALL> </SMALL> - mała czcionka
<SUB> </SUB> - dolny indeks
<SUP> </SUP> - górny indeks
<STRIKE> </STRIKE> - czcionka przekreślona
<U> </U> - czcionka podkreślona
Tło
<BODY BGCOLOR=kolor> - za kolor wpisuje się jeden z 16 black, silver, gray, white, maroon, red, purple, fuchsia, green, lime, olive, yellow, navy, blue, teal, aqua
<BODY BGCOLOR="#rrggbb"> - za rrggbb wpisuje się liczbę z układu szesnastkowego odpowiednią dla danego koloru
<BODY BACKGROUND="url_tła"> - za url tła wpisuje się adres pliku z tłem
rrggbb - jest ciągiem trzech dwucyfrowych liczb szesnastkowych oznaczających stopień wysycenia odpowiednio koloru czerwonego, zielonego i niebieskiego,
Kolory domyślne - trzy inne parametry znacznika <BODY>: TEXT, LINK i VLINK pozwalają określić kolor używany odpowiednio do zapisu tekstu oraz podświetlania nieodwiedzonych i odwiedzonych odnośników. Kolory podawane są dokładnie w ten sam sposób co dla tła.
Fonty
<FONT COLOR=kolor> tekst </FONT> - kolor czcionki
<FONT COLOR="#rrggbb"> tekst </FONT> - kolor czcionki przez rbg
<FONT SIZE=wielkość_fontu> tekst </FONT> - wielkość czcionki od 1 do 7
<FONT SIZE="+zmiana_wielkości"> tekst </FONT> - zmiana wielkości czcionki powiększenie od wielkości domyślnej czcionki ustalanej przez znacznik basefont
<BASEFONT> - wartość domyślna czcionki sposób użycia <BASEFONT SIZE=wielkość_fontu>
<FONT SIZE="-zmiana_wielkości"> tekst </FONT> - pomniejszenie wielkości czcionki od czcionki domyślnej
Grafika
GIF (Graphical Image Format) Opracowany przez CompuServe, powszechnie używany, grafika dobrej jakości, ale słabo skompresowana
JPEG (Joint Photographic Expert Group) grafika przyzwoitej jakości, znacznie lepiej skompresowana niż GIF.
<IMG src="url_grafiki"> - znacznik ten powoduje umieszczenie na stronie grafiki, na którą wskazuje podany url_grafiki , można dołączyć do tego znacznika znaczniki określające położenie grafiki poprzez wpisanie <align=top, bottom, middle, left, right>
<IMG src="url_grafiki" ALT="alternatywny tekst"> - powoduje wpisanie tekstu w miejsce, w którym powinien znajdować się obrazek, jeśli z jakiegoś powodu nie może on być wyświetlony.
Rozmiary rysunku, marginesy i ramka
HEIGHT - parametr określający wysokość rysunku, podawany w pikselach
WIDTH - parametr określający szerokość rysunku, podawany w pikselach
<IMG src="url_grafiki" HEIGHT=wysokość WIDTH=szerokość>
VSPACE - wielkość marginesu wokół rysunku w pionie (liczoną w punktach ekranu
HSPACE - wielkość marginesu wokół rysunku w pozomie(liczoną w punktach ekranu
<IMG src="url_grafiki" HSPACE=margines_w_poziomie VSPACE=margines_w_pionie>
BORDER - tworzenie ramki wokół rysunku podawana jest w punktach ekranu
<IMG src="url_grafiki" BORDER=wielkość_ramki>
Grafika w roli odnośnika
Jeśli znacznik grafiki znajduje się między znacznikami <A> i </A>, to grafika traktowana jest jako odnośnik i kliknięcie na nią powoduje przejście do dokumentu na jaki odnośnik wskazuje. <A href="url_odnośnika"><IMG src="url_grafiki"></A>
Tabele
<TABLE> </TABLE> - tworzenie tabeli możliwe SA następujące znaczniki :
<ALIGN> z możliwymi wartościami LEFT, CENTER albo RIGHT, który ustala poziome położenie na stronie. Wartością domyślną jest LEFT, chyba, że tabelka znajduje się wewnątrz zakresu znacznika <CENTER>.
<WIDTH> - przy braku tego parametru szerokość tabelki jest określana automatycznie. Wartość parametru może być liczbą i wtedy określa szerokość mierzoną w punktach ekranu, lub tekstem postaci "liczba%" i wtedy określa szerokość w procentach przestrzeni między aktualnym lewym i prawym marginesem.
<BORDER> - określa wielkość zewnętrznej ramki tabeli mierzoną w punktach ekranu
<CELLSPACING> - ustala odległość pomiędzy poszczególnymi komórkami w tabeli
<CELLPADDING> - ustala odległość pomiędzy tekstem w komórce a obramowaniem
<CAPTION> używany jest do podania nagłówka dla tabeli. Dopuszcza on jeden parametr ALIGN, który może przyjmować dwie wartości: TOP i BOTTOM. W pierwszym przypadku nagłówek umieszczany jest nad tabelą, a w drugim pod tabelą.
<TR> wyznacza obszar pojedynczego rzędu tabeli. Dopuszcza dwa parametry
<ALIGN> z możliwymi wartościami LEFT, CENTER albo RIGHT, który ustala poziome położenie każdego elementu w danym rzędzie
<VALIGN> z możliwymi wartościami TOP, MIDDLE albo BOTTOM, który ustala pionowe położenie każdego elementu w danym rzędzie
<TD> wyznacza pojedyncze pole tabeli, można dodać parametr align
<TH>, wyznacza pojedyncze pole tabeli, która pozwala odróżniać pola nagłówkowe (nazwowe) od pól z danymi. Pozwala to przeglądarkom na skład tych pól inną czcionką, a szczególnie przydaje się w przeglądarkach głośno czytających
COLSPAN - poziome łączenie komórek
ROWSPAN - pionowe łącznie komórek
Zmian koloru tła tabeli odbywa się przez znaczniki BGCOLOR i BACKGROUND
Pola wielokolumnowe i wielowierszowe
Grafika Mapowa
Grafika może służyć nie tylko jako odnośnik do jakiegoś URL, ale jako odnośnik do szeregu różnych URL. Stosowny URL wybierany jest w zależności od miejsca na obrazku, w które kliknął użytkownik.
Aby tak wykorzystać grafikę stosuje się następującą sekwencję:
<IMG src="url-obrazka" usemap="#etykieta_mapy">
<MAP NAME="etykieta_mapy">
<AREA href="url1" ALT="opis1" SHAPE=opis_kształtu1>
<AREA href="url2" ALT="opis2" SHAPE=opis_kształtu2>
<AREA href="url2" ALT="opis3" SHAPE=opis_kształtu3>
</MAP>
gdzie opis_kształtu może mieć jedną z trzech następujących postaci:
RECT COORDS="lewy-x,górny-y,prawy-x,dolny-y"
CIRCLE COORDS="środek-x,środek-y,promień"
POLY COORDS="x1,y1,x2,y2,x3,y3,..."
Parametr HREF określa adres URL pod który użytkownik zostanie odesłany po kliknięciu w stosowne pole. Parametr ALT pozwala zdefiniować tekst, który niektóre przeglądarki wyświetlają w listwie statusu w momencie gdy mysz pojawi się w stosownym polu. Przeglądarkom wyłącznie tekstowym tekst ten umożliwia zaoferowanie użytkownikowi alternatywnego dostępu do podanych URL.
Ramki w HTML
Ramki to sposób dzielenia ekranu na niezależne podekrany. Ramki definiuje się w oddzielnym pliku, w którym nie może wystąpić znacznik <BODY>. Plik ten określa sposób podziału ekranu na ramki oraz odnośniki do plików, definiujących zawartość ramek.
<FRAMESET> i <FRAME> - budowanie ramek dwa znaczniki
<FRAMESET ROWS="podział_na_wiersze"
COLS="podział_na_kolumny">
<FRAME src="url_pierwszej_ramki">
<FRAME src="url_drugiej_ramki">
</FRAMESET>
podział_na_wiersze oraz podział_na_kolumny są listami podającymi sposób podziału na ramki w punktach ekranu lub procentach. Między znacznikami <FRAMESET> i </FRAMESET> musi wystąpić tyle znaczników <FRAME> ile wynika z zadeklarowanego podziału. Wartość parametru SRC określa URL z zawartością ramki.
Znacznik <FRAME> obok SRC dopuszcza jeszcze parametr NAME, który pozwala związać z ramką etykietę, do której można się później odwoływać, a także parametr SCROLLING o możliwych wartościach yes i no, określający czy ramkę wolno będzie przewijać, czy nie.
<BASE TARGET=nazwa_ramki> W plikach definiujących zawartość ramek przydaje się znacznik
<NOFRAMES> </NOFRAMES> - brak ramek w polu tego znacznika można wstawić zwykłą (bez ramek) stronę WWW lub odnośnik do niej.
Formularze - ankiety
HTML umożliwia zbieranie danych od klienta i wysyłanie ich do skryptu CGI poprzez parę znaczników
<FORM> </FORM> - tworzenie formularza, posiada on parametry :
ACTION=url - gdzie url jest adresem URL, podaje adres URL skryptu CGI, który ma zostać wywołany po wypełnieniu formularza.
METHOD=metoda - określa sposób w jaki wypełniony formularz zostanie wysłany do skryptu CGI. Możliwe są dwie wartości tego parametru :
get - określa metodę polegającą na dołączeniu zawartości formularza do adresu URL skryptu CGI, który ma zostać wywołany. Jest to domyślny sposób wysłania formularza.
post - określa metodę, w której zawartość formularza zostanie włączona do treści żądania. Nadaje się ona szczególnie do obsługi długich formularzy
INPUT ma najczęściej postać: <INPUT TYPE=typ NAME=nazwa> lub <INPUT TYPE=typ NAME=nazwa VALUE=wartość>
Jego użycie powoduje umieszczenie w formularzu pola, które będzie identyfikowane przez skrypt CGI poprzez nazwę nazwa podaną w parametrze NAME. Osoba wypełniająca formularz nie widzi tej nazwy. Parametr VALUE, jeśli jest użyty, określa wyjściową wartość przypisaną polu, którą wypełniający może zmienić. Dokładna postać i zachowanie się pola zdeterminowane jest parametrem TYPE. Może on przyjmować następujące wartości: text,password, checkbox,radio, submit,reset.
<INPUT TYPE=text NAME=nazwa> - możliwość wpisania tekstu jego długość określa się przez parametry
SIZE=i - powoduje, że ramka będzie składała się z linii o długości i znaków.
MAXLENGTH=i - powoduje wyświetlenie tylko jednej linii, do której można wprowadzić maksymalnie i znaków. Przydaje się to przy wprowadzaniu nazw użytkowników.
<INPUT TYPE=password NAME=nazwa> - powoduje wpisanie tekstu hasła, na ekranie widzimy tylko gwiazdki również można tu użyć znaczników size i maxlenght
<INPUT TYPE=checkbox NAME=nazwa VALUE=wartość> - powoduje pojawienie się guzika do wybierania - zaznaczania jednej z podanych odpowiedzi
Ta wersja znacznika INPUT powoduje wyświetlenie guzika, który można przestawiać w pozycje wciśnięty/wyciśnięty. W przypadku wciśnięcia guzika polu zostanie przypisana wartość wartość. W przeciwnym razie będzie to tekst pusty. Dodatkowo użyć można parametru CHECKED co powoduje, że wyjściowo guzik wyświetlany jest jako włączony.
<INPUT TYPE=radio NAME=nazwa VALUE=wartość1>
<INPUT TYPE=radio NAME=nazwa VALUE=wartość-n>
Taką serią pól typu radio tej samej wartości parametru NAME wprowadza się zestaw guzików o tej własności, że włączenie jednego powoduje automatyczne wyłączenie pozostałych. Guziki te zachowują się więc jak klawisze w radiu do przełączania zakresów fal. Parametr CHECKED, który może być użyty dla co najwyżej jednego guzika powoduje, że wyjściowo ten guzik zostanie wyświetlony jako włączony.
<INPUT TYPE=submit VALUE=haslo> - powoduje pojawienie się przycisku dzięki któremu po skończeniu wypełniania formularza można go wysłać, hasło to tekst jaki pojawi się na klawiszu
<INPUT TYPE=reset VALUE=haslo> - powoduje pojawienie sie przycisku po naciśnięciu którego następuje wyczyszczenie wszystkich danych wpisanych w formularzu hasło to tekst jaki pojawi się na klawiszu
<SELECT></SELECT> - powoduje pojawienie się okienka z lista możliwych do wyboru odpowiedzi , wewnątrz tego znacznika stosuje się znacznik:
<OPTION> - po nim wpisujemy tekst jaki będzie do wyboru jako odpowiedz na pytanie , może ich być dowolna ilość w jednym pytaniu ten znacznik ma dwa parametry SIZE=i określa, że jednocześnie widocznych jest i opcji. Do pozostałych można dotrzeć klikając w wyświetloną listwę oraz parametr MULTIPLE umożliwia równoczesne wybranie więcej niż jednej opcji. Ponadto znacznik OPTION dopuszcza parametr SELECTED, który powoduje, że oznaczona tak opcja, będzie wyświetlona jako wybrana domyślnie. Co najwyżej jeden znacznik OPTION może mieć ustawiony parametr SELECTED, chyba, że w znaczniku <SELECT> użyto parametru MULTIPLE.
<TEXTAREA></TEXTAREA> - ten znacznik umożliwia wypełniającemu wpisanie swojej własnej odpowiedzi w określonym polu, wielkość tego pola określa się znacznikami :
ROWS - ilość rzędów, COLS - ilość kolumn.
Style kaskadowe
Style kaskadowe (po angielsku Cascading Style Sheets, czyli krótko CSS) pozwalają na określanie jednolitej formy dokumentów w HTMLu, a więc takich elementów jak położenie, tło, czcionka, czy kolor.
Dlaczego rozdzielamy treść dokumentu od jego formy?
Dokumenty w HTMLu przeznaczone są do publikowania w różnych mediach o różnych parametrach.
Dokumenty w HTMLu są również prezentowane w mediach operujących wyłącznie dźwiękiem, co ma istotne znaczenie nie tylko dla osób niepełnosprawnych, ale również dla osób, które ze względu na wykonywaną pracę muszą wzrok skoncentrować gdzie indziej.
Zapis dokumentu w HTMLu powinien koncentrować się na treści dokumentu i jego logicznej strukturze, a więc elementach takich jak rozdziały, akapity, wypunktowania, wyróżnienia, podtytuły.
Sposób graficznej prezentacji tych logicznych elementów zależy od możliwości medium, w którym dokument jest prezentowany.
Użycie styli kaskadowych pozwala na opracowanie form prezentacji dokumentu, które łatwo zmienić i dostosować do możliwości różnych mediów.
Style lokalne parametr Style
Najprostszym sposobem wprowadzenia elementów stylu kaskadowego do dokumentu jest dodanie do znacznika HTMLu parametru STYLE
<h2 style="color: blue; font: verdana"></h2>
Wartość parametru style jest tekstem zamkniętym w cudzysłowy i składającym się z par cecha:wartość rozdzielonych średnikami
Cecha |
Przykładowe wartości |
Uwagi |
font-family |
Helvetica, Times, Verdana, sans-serif, serif, Palatino, monospace |
typ czcionki |
font-size |
12pt, 110%, +2pt, small, medium, large |
wielkość czcionki |
font-style |
italic, oblique |
styl czcionki |
font-weight |
normal, bold |
pogrubienie |
background |
red, green, rgb(255,128,0), #ff8000, rgb(100%,50%,0%) |
kolor tła elementu |
color |
red, green, rgb(255,128,0), #ff8000, rgb(100%,50%,0%) |
kolor czcionki |
line-height |
12pt, 110% |
wielkość interlinii |
text-align |
left, right, center, justify |
wyrównanie tekstu na stronie |
text-decoration |
none, underline,line-through |
przydaje się przy określaniu wyglądu odsyłaczy |
margin-left, margin-right |
1cm,10%,-0.5cm |
określają wielkość lewego i prawego marginesu elementu |
margin-top, margin-bottom |
1cm,10%,-0.5cm |
określają wielkość górnego i dolnego marginesu elementu |
Style na poziomie dokumentu
Parametr STYLE pozwala osiągnąć mniej więcej podobny efekt, jak parametry FONT, COLOR czy BGCOLOR. Poważniejsze zastosowanie styli kaskadowych polega na określeniu stylu wybranych znaczników hurtem dla całego dokumentu. Służy do tego znacznik STYLE, który umieszcza się w części nagłówkowej dokumentu
<head><style type="text/css">
<!-- H3 {color: green; font-family: Helvetica} H5 {color: brown; text-align: center}--></style>
Style zewnetrzne
Gdy przygotujemy sobie definicje styli dla naszego dokumentu chętnie użylibyśmy ich w innych dokumentach. Zamiast kopiować style z dokumentu do dokumentu, można je umieścić w pliku o nazwie kończącej się zwyczajowo na css, a w nagłówku dokumentu umieścić
<head><link rel=stylesheets type="text/css" href="nazwa_pliku_ze_stylami.css"></head>
Dzięki takiemu rozwiązaniu, poprawiając zawartość jednego tylko pliku możemy za jednym zamachem zmieniać wygląd wielu stron, a nawet całego serwisu WWW.
Klasy styli
Gdy chcemy, by pewne znaczniki były reprezentowane w różny sposób w zależności od kontekstu, możemy użyć klas styli. Na przykład możemy wprowadzić do pliku ze stylami trzy różne style wyróżnienia pogrubionego
B.word { FONT-FAMILY: verdana; COLOR: green }
B.math { FONT-FAMILY: monospace; FONT-STYLE: italic }
B.tag { FONT-FAMILY: monospace; COLOR: rgb(80,40,0) }
Style te odróżniamy w tekście używając parametru CLASS
<b class=word>Równanie </b>
<b class=math> x<sup>2</sup>+5x+6=0</b>
wydzielamy z tekstu używając znacznika
<b class=tag>PRE</b>
Dodając cechę FONT-WEIGHT: normal do naszych przykładów spowodujemy, że znacznik B przestanie tworzyć tekst pogrubiony!
Style uniwersalne
Można również definiować klasy styli niezwiązane z żadnym znacznikiem. Robi się to pomijając nazwę znacznika w definicji klasy
.warning {FONT-WEIGHT: bold; COLOR: red }
Wystarczy teraz użyć parametr CLASS z wartością warning w dowolnym znaczniku, by jego zawartość została złożona czerwoną czcionką pogrubioną. Na przykład pisząc <p class=warning> Ostrzeżenia powinny być składane wyróżniającą się czcionką.</p>
Pseudoklasy
Standard CSS definiuje kilka specjalnych t.zw. pseudoklas. Do najważniejszych należą pseudoklasy link, active, visited i hover związane ze znacznikiem A. Przy definiowaniu pseudoklasy znacznik od pseudoklasy rozdziela się dwukropkiem.
A:link {color: red; text-decoration: none}
A:active {color: red; font-weight: bold}
A:visited {color: orange; text-decoration: none}
A:hover {color: maroon; text-decoration: none}
Powyższe definicje zmieniają czcionkę, którą złożony jest link odpowiednio dla linku jeszcze nieodwiedzonego, linku aktywnego, linku już odwiedzonego oraz linku, nad którym znalazł się kursor myszki.
SPAN - znacznik ten nadaje specjalna forme tekstowi w nim zawartym , ma on dwa parametry SYTLE i CLASS dzikeki nim można określić wiee roznych styli dla roznych klas znacznika span
Znaczniki span
Serwer Side Includes
SSI to zlecenia obsługiwane przez serwer WWW, które można zamieszczać w komentarzach dokumentu zapisanego w języku HTML. Aby serwer rozpoznawał te zlecenia dokument musi mieć końcówkę shtml.
Format zlecenia SSI:<!--#polecenie parametr="wartość" ... -->
Podstawowe polecenia SSi
echo var="zmienna środowiskowa SSI" - Powoduje wstawienie zawartości wskazanej zmiennej środowiskowej do tekstu źródłowego strony. Najczęściej używane zmienne środowiskowe SSI to:
SERVER_NAME - nazwa serwera
DOCUMENT_NAME - nazwa dokumentu
DOCUMENT_URL - ścieżka dostępu do pliku na serwerze
DATE_LOCAL - aktualna data i godzina
LAST_MODIFIED - data i godzina ostatniej modyfikacji strony
include file="ścieżka" - Powoduje włączenie do dokumentu zawartości dokumentu znajdującego się pod wskazanym adresem
exec cmd="komenda_zewnętrzna" - Powoduje włączenie do dokumentu wyniku działania zewnętrznej komendy
exec cgi="adres_programu CGI" - Powoduje włączenie do dokumentu wyniku działania programu CGI
config timefmt="format_czasu_i_daty" - Powoduje, że wypisywanie daty i czasu odbywa się zgodnie z podanym formatem. Format jest tekstem, w którym litery poprzedzone znakiem procentu zostają zastąpione zgodnie z następującym schematem: %Y - rok %m - numer miesiąca %d - numer dnia w miesiącu %w - numer dnia tygodnia ( 0 - niedziela ) %H - godzina wg zegara 24 - godzinnego %M - minuta %S - sekunda
Javascript
Przeznaczenie JAvaScript 1 dodanie dynamicznych elementów do stron WWW 2 wykonywanie prostych użytkowych programów w środowisku przeglądarki internetowej 3 weryfikacja poprawności i sensowności danych wprowadzanych do formularzy WWW
Obiekty
JavaScript działa na obiektach. Obiektami są n.p. dokument, window
Każdy obiekt dysponuje pewnym zestawem tak zwanych własności oraz metod. Każda własność ma swoją nazwę, a identyfikowana jest poprzez zapis kropkowy:
nazwa_obiektu.nazwa_własności
document.status - jest tekstem, który przeglądarka wyświetla w dolnej listwie ekranu.
document.bgColor - określa kolor w jakim wyświetlane jest tło dokumentu.
Metody
Na rzecz obiektu można wywoływać funkcje zwane inaczej metodami. Tu też stosowany jest zapis kropkowy: nazwa_obiektu.nazwa_funkcji(argumenty)
Przykładowe metody obiektu window to:
alert( tekst ) - wyświetla okienko sygnalizujące, że coś jest źle
confirm( tekst )- wyświetla okienko z prośbą o potwierdzenie lub odrzucenie zamiarów użytkownika
JavaScript w wydzielonym znaczniku
Jeśli skrypt jest dłuższy, wydziela się go w postaci funkcji i umieszcza się go w dokumencie w HTMLu za pomocą znacznika SCRIPT.
<SCRIPT LANGUAGE="JavaScript">
<!-- skrypt_JavaScript-->
</SCRIPT>
Dodatkowo zamykamy skrypt w znaki komentarza, by nie pogubiły się przeglądarki, które nie potrafią obsługiwać JavaScript.
Wywołanie funkcji umieszczonych wewnątrz znacznika SCRIPT może nastąpić w momencie ładowania strony
Zdarzenia
Podstawowym sposobem powiązania JavaScript z dokumentem w HTMLu są zdarzenia, takie jak przyciśnięcie przycisku w formularzu czy też kliknięcie w hiperłącze. Z każdym zdarzeniem można skojarzyć akcję polegającą na wykonaniu jednej lub więcej instrukcji w JavaScript. Połączenie zdarzenia z akcją następuje przy użyciu następującej składni:
<znacznik_HTML onEvent="kod_w_JavaScript">
Zdarzenie |
Opis |
Zastosowanie |
onBlur |
odejście z danego pola. |
select, text, textarea |
onChange |
odejście z danego pola po uprzedniej zmianie tekstu. |
select, text, textarea |
onClick |
kliknięcie w przycisk. |
button, checkbox, radio, link, reset, submit |
onFocus |
przejście w dane pole myszką bądź klawiszem TAB. |
select, text, textarea |
onMouseOver |
umieszczenie myszki nad odnośnikiem |
link |
onSelect |
dokonanie selekcji tekstu w danym polu. |
text, textarea |
onSubmit |
przyciśnięcie przycisku SUBMIT |
form |
Język Java
Java jest zaawansowanym językiem programowania zaprojektowanym przez firmę SUN. Jest to język chętnie używany przez profesjonalnych programistów do budowania dynamicznych stron WWW. Java jest językiem kompilowano-interpretowanym:
najpierw kod źródłowy jest kompilowany do tak zwanego byte code, (kodu bajtowego). Kod ten jest niezależny od procesora i środowiska operacyjnego.
kod bajtowy interpretowany. Interpreter zależy już i od procesora i od środowiska operacyjnego. Ponieważ kod bajtowy jest nieporównalnie bliższy procesorowi niż kod programu, interpretacja kodu bajtowego jest szybka.
Rozwiązanie takie pozwala pogodzić szybkość, którą daje proces kompilacji, z niezależnością od środowiska systemu operacyjnego, którą uzyskuje się poprzez interpretację kodu bajtowego.
Applety Javy
Najpopularniejsze przeglądarki potrafią interpretować kod Javy. Pozwala to na tworzenie stron WWW zbudowanych w oparciu o tak zwane applety Javy. Strony zbudowane przy pomocy appletów Javy mogą być znacznie bardziej wyrafinowane niż budowane przy pomocy HTML, nawet z dodatkowymi narzędziami jak JavaScript. Java jest często mylona z JavaScript. JavaScript jest prostym językiem skryptowym interpretowanym przez przeglądarki. JavaScript nie daje nawet w drobnej części takich możliwości jak język Java.
Wprowadzenie do jezykaXML
XML (eXtensible Markup Language) jest językiem przeznaczonym do przechowywania w dokumentach danych, w sposób umożliwiający łatwe ich przetwarzanie i prezentowanie. Słowo eXtensible w nazwie XML należy rozumieć nie jako rozszerzony HTML tylko jako dowolnie rozszerzalny język znaczników
Główne cechy XML:
XML jest językiem znaczników jak HTML
w przeciwieństwie do HTML język XML ma bardzo precyzyjnie określoną składnię
Znaczniki XML nie są wbudowane w język
Znaczniki XML tworzone są przez użytkownika stosownie do jego potrzeb
Język XML jest bardzo zaawansowanym narzędziem i szczegółowe jego poznanie znacznie wykracza poza ramy niniejszego wykładu. Przedstawimy jednak jego najważniejsze cechy, by zilustrować jakie mogą być jego zastosowania.
Znaczniki XML
Znaczniki XML mogą być rozpoczynającym się od litery dowolnym ciągiem znaków, cyfr i wybranych znaków interpunkcyjnych, n.p. dopuszczalna jest kropka, znak minus i znak podkreślenia. Nie jest dopuszczalna spacja. Podobnie jak w HTML znaczniki zamykane są w nawiasy trójkątne. W przeciwieństwie do HTML wielkość liter w znaczniku XML jest istotna
Elementy XML
Dokument w XMLu zbudowany jest z tzw. elementów XML. Element XML ma postać
<znacznik> zawartość </znacznik>
Poprzedzony ukośnikiem znacznik zamykający jest obowiązkowy. Jest tylko jeden wyjątek od tej reguły. Jeśli zawartość elementu jest pusta, można zastąpić element postaci
<znacznik> </znacznik>
równoważną wersją skróconą postaci
<znacznik/>
Elementy XML mogą być umieszczone obok siebie bądź zagnieżdżać się jeden w drugim. Natomiast nie mogą na siebie nachodzić.
Struktura dokumentu XML
Każdy dokument w XML zaczyna się od prologu oraz t.zw. elementu głównego (ang. root element), w którym zawarte są wszystkie inne elementy. Prolog zawiera podstawowe informacje o dokumencie, w szczególności informację o stosowanej wersji języka XML. Może zawierać informację o sposobie kodowania znaków narodowych.
<?xml version="1.0" encoding="windows-1250"?>
Element główny może mieć dowolną nazwę. Rozpoznaje się go po lokalizacji: zamyka on w sobie wszystkie inne elementy zawarte w dokumencie. W przykładzie
<?xml version="1.0"?>
<notatka>
<nadawca>Tomek</nadawca>
</notatka>
elementem głównym jest notatka.
Rodzice i dzieci
Wymóg, by elementy nie nachodziły na siebie powoduje, że każdy element z wyjątkiem głównego zawarty jest w innym elemencie, zwanym jego rodzicem. On sam nazywany jest dzieckiem lub elementem potomnym swojego rodzica.
Atrybuty
Podobnie jak w HTML każdy znacznik może mieć pewną ilość atrybutów (parametrów).
<nazwa_znacznika atrybut1="wartość1" atrybut2=wartość2>
W XMLu wartości przypisane atrybutom muszą być obecne i muszą być zamknięte w cudzysłowy lub apostrofy
Każdy znacznik może mieć dowolny zestaw atrybutów, jednak na ogół atrybutów używamy tylko do zastosowań specjalnych, a dane związane z elementem przechowujemy w elementach potomnych. Na przykład możemy napisać
<data dzien="13" miesiac="grudzień" rok="1981"/>
ale zdecydowanie lepiej jest napisać
<data>
<dzien>13</dzien>
<miesiac>grudzień</miesiac>
<rok>1981</rok>
</data>
Komentarze
Dokument w XMLu może zawierać komentarze. Ich składnia jest dokładnie taka sama jak w HTMLu
<!-- treść komentarza -->
Na przykład <?xml version="1.0"?>
<notatka>
<nadawca>Tomek</nadawca>
<odbiorca>Zosia</odbiorca>
<tresc>Będę godzinę później niż zwykle</tresc>
<!-- Muszę to wysłać jeszcze dzisiaj -->
</notatka>
Wyświetlanie dokumentow XML w intranecie
Podstawowym przeznaczeniem języka XML jest przechowywanie różnego typu danych. Dlatego język XML, w przeciwieństwie do HTML, bezpośrednio nie zajmuje się formą prezentacji konkretnego znacznika, a dokładniej zawartości wyznaczonego przez znacznik elementu.
Formę tę określa się poprzez podanie odpowiedniego stylu. Można stosować style kaskadowe CSS.
Znacznie większe możliwości mają jednak dokumenty stylu specjalnie zaprojektowane dla XML, zwane XSL (od eXtensible Stylesheet Language).
Dokumenty zapisane w języku XML można oglądać przy użyciu styli CSS w następujących przeglądarkach Internet Explorer 5 i 6 Netscape Navigator 6 Opera 6
Dokumenty zapisane w języku XML można oglądać przy użyciu styli XSL w Internet Explorer 6
Ponadto Internet Explorer w dokumencie XML bez podanego stylu potrafi rozpoznać i odpowiednio podświetlić jego składnię
Poprawnośc składnie XML
Język HTML nie przywiązuje wagi do poprawności dokumentu zapisanego w tym języku. Jeśli w dokumencie jest błąd, przeglądarki same podejmują decyzję co z tym problemem zrobić. Najczęściej w jakiś sposób błędny fragment pomijają. Co pomijają, zależy od konkretnej przeglądarki.
Jeśli dokument jest skomplikowany, jego autor może nie być świadom, że zawiera błąd i, co najgorsze, że pewne istotne szczegóły są gubione przez przeglądarki.
Język XML wymaga absolutnej zgodności dokumentu ze standardem. Jeśli dokument zawiera błąd, przeglądarce nie wolno go wyświetlić, natomiast ma obowiązek poinformować o błędzie.
Choć w języku XML można dowolnie mnożyć znaczniki i ich atrybuty, to jednak język ten pozwala na świadome wprowadzenie ograniczeń, tak by było ściśle określone, których znaczników, w jakiej sytuacji i z jakimi atrybutami można używać. Służy do tego specyfikacja DTD (od Document Type Definition).
Specyfikację DTD można przechowywać w oddzielnym pliku i używać w wielu dokumentach o tej samej strukturze lecz z różnymi danymi.
Opracowanie odpowiedniego DTD pozwala na bazie XML tworzyć nowe języki, specjalizowane do konkretnych zastosowań
Stworzenie odpowiedniego DTD pozwoliło zdefiniować język XHTML. Jest to nowe wcielenie języka HTML, które przy zachowaniu tradycyjnych HTMLowych znaczników stosuje twarde reguły składni języka XML.
Język WML (Wireless Markup Language) jest innym przykładem języka stworzonego na bazie XML poprzez opracowanie odpowiedniego DTD.
Zastosowania XML
Zalety XML to:
pozwala na oddzielenie danych od HTML równocześnie umożliwiając ich wyświetlanie na stronach WWW poprzez mechanizm styli
pozwala na tworzenie różnych schematów danych i gwarantuje weryfikację poprawności danych z wymaganym schematem
stwarza interfejs pozwalający na przekazywanie danych pomiędzy różnymi platformami hardware'owymi i software'owymi
Już dziś XML jest intensywnie wykorzystywany w Internecie w zastosowaniach B2B. Oto kilka przykładów:
przekazywanie wiadomości pomiędzy agencjami prasowymi
przekazywanie informacji o programach telewizyjnych
katalogi produktów oferowanych przez firmy
elektroniczne zgłoszenia celne czy podatkowe
Twórcy języka XML przewidzieli w nim miejsce dla podpisu elektronicznego. Oznacza to że dokumenty w XMLu mogą zawierać w sobie dane jednoznacznie identyfikujące ich autora i gwarantujący, że dokument nie został w całości ani w części podmieniony czy zmodyfikowany
W maju 2001 zaaprobowane zostały specyfikacje ebXML, będące podstawą globalnych standardów XML dla gospodarki elektronicznej.
4
Common Gateway Interface
Protokół CGI określa w jaki sposób skrypt CGI (program, najczęściej w PERLu, działający na serwerze WWW) komunikuje się z przeglądarką WWW działającą na komputerze klienta.
Protokół wejściowy CGI
W momencie naciśnięcia przez klienta przycisku SUBMIT w formularzu przeglądarka:
tworzy ciąg par nazwa=wartość połączonych w jeden łańcuch znakiem ampersanda (&)
zamienia wszystkie spacje na znak +,
zamienia wszystkie znaki specjalne ( w szczególności znak +) na znak procentu, po którym następuje wartość szesnastkowa znaku specjalnego.
przesyła tak spreparowany łańcuch serwerowi WWW wskazanemu parametrem ACTION z poleceniem odesłania go do stosownego skryptu CGI.
Przykład: Formularz ma dwa pola INPUT typu text o nazwach nazwisko komentarz.
Użytkownik wprowadził w te pola odpowiednio wartości Kowalski i Wszystkiego najlepszego!
Do serwera odesłany zostanie łańcuch:
nazwisko=Kowlaski&komentarz=Wszystkiego+najlepszego%21
Protokół wyjściowy CGI
Skrypt CGI umieszcza dane przeznaczone dla klienta na standardowym wyjściu (najczęściej jest to wygenerowana strona WWW). Nim serwer WWW wyśle te dane do klienta, najpierw sprawdza krótki nagłówek, którym musi się rozpoczynać tekst wygenerowany przez skrypt i po którym obowiązkowo musi następować pusta linia. Dopiero po niej mogą następować dane przeznaczone dla klienta.
Jeśli nagłówek ten rozpoczyna się on od tekstu:
Location: url - gdzie url oznacza universal resource locator, to serwer wysyła do klienta zawartość tego URL w miejsce pliku wygenerowanego przez skrypt. Daje to m.in. możliwość używanie skryptów CGI do monitorowania częstotliwości i sposobu korzystania ze stron WWW.
Natomiast najczęściej nagłówek ma standardową postać MIME (Multipurpose Internet Mail Extension): Content-Type: type/subtype
Zadaniem takiego nagłówka jest określenie formatu pliku, który po nim następuje. Lista standardów MIME obejmuje kilkadziesiąt pozycji. Najczęściej używane to:
Typ |
Opis |
Rozszerzenia pliku |
text/plain |
zwykły tekst |
*.txt, *.text |
text/html |
tekst w HTMLu |
*.htm, *.html |
image/gif |
grafika w standardzie GIF |
*.gif |
image/jpeg |
grafika w standardzie JPEG |
*.jpeg, *.jpg, *.jpe |
video/quicktime |
video QuickTime |
*.qt, *.mov |
video/mpeg |
video MPEG |
*.mpeg, *.mpg, *.mpe, *.mpv, *.vbs, *. mpegv |
audio/xwav |
audio WAV |
*.wav |
Język PERL
Przeznaczenie jezyka PERL
PERL jest językiem programowania wysokiego poziomu o szerokiej platformie zastosowań.
PERL jest oprogramowaniem typu public domain, dostępnym dla wszystkich najważniejszych systemów operacyjnych.
Łatwość implementacji i przetwarzania tekstów powoduje, że PERL szczególnie często używany jest do implementowania skryptów CGI.
Komentarze
PERL traktuje jako komentarz wszystko co napotka po znaku # aż do końca linii.
# To jest przykład komentarza
Stałe i zmienne
PERL pozwala wykonywać operacje na liczbach i tekstach. Do przechowywania liczb i tekstów służą zmienne. Zmienne oznacza się znakiem dolara, po którym następuje dowolny ciąg liter alfabetu angielskiego i cyfr, rozpoczynającym się od litery. Na przykład zmiennymi są $x, $alfa, $j24. Natomiast zmiennymi nie są x, $2alfa, $24
Zmiennej można przypisać wartość:
$x=17; # zmienna $x ma od tej chwili wartość 17
$x=$y+5; # zmienna $x ma wartość o 5 większą
# od aktualnej zawartości zmiennej $y
Przypisanie zmiennej wartości jest przykładem instrukcji. Każda instrukcja w PERLu kończy się średnikiem. Zmiennym można też przypisywać teksty.
$alfa='wtorek'; # wartością zmiennej alfa
# jest tekst wtorek
$adres="Zielona 27"; # wartością zmiennej adres
# jest tekst Zielona 27
Teksty zamykamy w pojedyncze lub podwójne cudzysłowy. Zmienne mogą być indeksowane liczbami naturalnymi, n.p. $x[1], $x[2], $x[3]. Dzięki temu duże ilości danych możemy przechowywać pod jedną nazwą zmiennej. Taka indeksowana zmienna nazywana jest tablicą. Czasem trzeba do tablicy odwołać się hurtem. Aby to zrobić, jej nazwę zamiast znakiem dolara, poprzedzamy znakiem @. Tablicę można zapełnić elementami, przypisując jej całą listę elementów, n.p.:
@a = (12,11,10,9);
@week = ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
Składnia PERLa jest zbliżona do JavaScript. W szczególności PERL używa nawiasów { oraz } do oznaczania bloków instrukcji, a także instrukcji warunkowych i pętli takich jak w JavaScript.
Jak modyfikowac programy w PERLu
Nawet jeśli nie znamy dobrze języka programowania, możemy z pożytkiem adaptować do swoich potrzeb istniejące programy jeśli zachowamy pewne podstawowe reguły:
przed każdą modyfikacją programu należy zrobić jego kopię. Dzięki temu zawsze możemy wrócić do wersji działającej jeśli coś pójdzie nie po naszej myśli.
modyfikować należy drobnymi krokami, zawsze oglądając skutki modyfikacji. W ten sposób łatwo zlokalizować miejsce gdzie coś zepsuliśmy
najprostsze modyfikacje, ale często bardzo odmieniające wizualne efekty działania programu to zmiany wartości przypisanych zmiennym
przy takich modyfikacjach należy uważać by liczbę zastąpić liczbą, a tekst w cudzysłowach tekstem w cudzysłowach
każdy średnik, cudzysłów, przecinek i każdy inny znak ma swoje przeznaczenie. Opuszczenie lub dodanie jakiegokolwiek przypadkowego znaku radykalnie zmienia działanie programu, a najczęściej w ogóle uniemożliwia jego wykonanie
Wprowadzenie do PHP
Przeznaczenie jezyka PHP
PHP jest językiem skryptowym wysokiego poziomu przeznaczonym specjalnie do tworzenia dynamicznych i interaktywnych stron WWW
PHP jest oprogramowaniem typu public domain, dostępnym dla wszystkich najważniejszych systemów operacyjnych.
PHP łączy w sobie najlepsze cechy języków C++, PERL i Java.
Histori PHP
Pierwszą wersję PHP stworzył Rasmus Lerdorf w roku 1995. Wtedy był to zwykły skrypt CGI w języku PERL pozwalający obserwować kto odwiedza jego stronę domową. Rasmus Lerdorf nazwał swój skrypt Personal Home Page Tools (PHP Tools)
Druga wersja PHP Tools powstała rok później i zawierała obsługę formularzy HTML oraz baz danych
Gdy Rasmus Lerdorf udostępnił swój kod światu spotkał się z olbrzymim wsparciem innych programistów, które pozwoliło zmienić zestaw skryptów CGI napisanych w PERLu w samodzielny język programowania interaktywnych stron WWW.
Język PHP nabrał rozmachu gdy Zeev Suraski oraz jego student Andi Gutmans opracowali w roku 1997 nowy interpreter PHP tworząc najpierw PHP 3, a następnie PHP 4
PHP jest zanurzony w HTMLu
Interaktywne strony WWW napisane w PHP umieszcza się w plikach z rozszerzeniem *.php. Skrypt PHP jest stroną w HTML, w której dodano kod PHP w specjalnych znacznikach <? i ?>.
<html>
<? echo "Hello, World!"; ?>
</html>
Komendy echo zawarte w kodzie PHP pomiędzy znacznikami <? i >?.generują kod HTML przeznaczony do umieszczenia na stronie. Kod ten może zawierać tak znaczniki HTML jak i zawarty między nimi zwykły tekst. Interpreter PHP umieszcza kod HTML wygenerowany przez kod PHP dokładnie w miejscu zajmowanym przez kod PHP, który tekst wygenerował. Tak przygotowana strona jest wysyłana przez serwer do przeglądarki
Choć działanie PHP może wydawać się podobne do JavaScript, jest między tymi językami fundamentalna różnica:
JavaScript jest interpretowana po stronie przeglądarki, a PHP tak jak skrypty CGI, po stronie serwera
Komentarze w PHP
PHP, podobnie jak PERL, traktuje jako komentarz wszystko co napotka po znaku # aż do końca linii.
Ponadto w PHP używać można komentarzy w stylu języka C++
// To też jest przykład komentarza
/* A to jest komentarz
rozłożony na
kilka linii
*/
Stałe i zmienne w PHP
Do przechowywania liczb i tekstów w PHP służą zmienne. Tak jak w PERLu zmienne oznacza się znakiem dolara, po którym następuje nazwa zmiennej
<html>
<?
$kto="World!";
print "Hello, $kto";
?>
</html>
Tak jak w PERLu teksty można zamykać w apostrofy bądź cudzysłowy.
W PHP można używać tablic, indeksując zmienne liczbami naturalnymi n.p. $x[1], $x[2], $x[3]. Jednak inaczej niż w PERLu inicjalizuje się całe tablice.
$a = array(12,11,10,9);
$week = array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
Obsługa formularzy w PHP
Dużą zaletą PHP jest łatwość obsługi formularzy, ponieważ PHP ma wbudowany mechanizm obsługi CGI:
Skrypt PHP wywołany z formularza od razu uruchamia się ze zmiennymi o takich nazwach jak nazwy pól formularza określone parametrem NAME. Zmienne te zawierają odpowiednie wartości wpisane w pola formularza. Pozwala to szybko wygenerować stosowną odpowiedź.
Instrukcje warunkowe w PHP
Instrukcja warunkowa if postaci
if(warunek) {
komenda1;
komenda2;
...
}
lub postaci
if(warunek) {
komenda1;
komenda2;
...
}else{
inna_komenda1;
inna_komenda2
}
pozwala generować zmienny kod HTML, zależny od wartości zmiennych otrzymanych w formularzu.
Techniki pokrewne PHP
Obok PHP stosowane są też inne podobne narzędzia do tworzenia dynamicznych interaktywnych stron WWW. Do najważniejszych należą
ASP (Active Server Pages) - technologia Microsoftu
JSP (Java Server Pages) - technologia SUN
ColdFusion
Kryptografia klasyczna
Szyfr Cezara
W szyfrze Cezara szyfrowanie polega na przesunięciu każdej litery o ustaloną ilość miejsc w alfabecie. N.p. przy przesunięciu o trzy pozycje a przechodzi w d, b w e, c w f itd. Można to zebrać w postaci tabeli szyfrującej
abcdefghijklmnopqrstuvwxyz
DEFGHIJKLMNOPQRSTUVWXYZABC
Przesunięcie jest cykliczne, t.zn. litery z końca alfabetu przechodzą na początek.
Szyfr Cezara stosowany był przez Juliusza Cezara w starożytnym Rzymie
Kluczem do rozszyfrowania szyfru jest liczba, o którą przesunięto litery.
Łącznie jest 25 sposobów szyfrowania szyfrem Cezara
Szyfr Cezara łatwo złamać wypróbowywując po kolei wszystkie możliwości
Szyfr cezara z haslem
Szyfr Cezara z hasłem jest ulepszoną wersją szyfru Cezara. Klucz do tego szyfru stanowić będzie jak poprzednio liczba oraz dodatkowo wybrane słowo (hasło), n.p. 3 REKTORAT
Jeśli w haśle jakaś litera pojawia się więcej niż jeden raz, dodatkowo występujące litery skreślamy 3 REKTOA
Pod alfabetem opuszczamy trzy pierwsze miejsca, a następnie wpisujemy hasło Następnie litery nie występujące w haśle dopisujemy w kolejności alfabetycznej, poczynając od prawej strony hasła, końcówkę dopisując od lewej
Szyfr monoalfabetyczny
Szyfr Cezara i Cezara z hasłem są szczególnymi przypadkami tak zwanego szyfru monoalfabetycznego, w którym w tabeli szyfrującej litery w dolnym wierszu wypisuje się w sposób dowolny, byle żadna litera się nie powtarzała
abcdefghijklmnopqrstuvwxyz
TFAUYXSECGVMQPWBLZHIKJNROD
kluczem do szyfru monoalfabetycznego jest kompletna tabela szyfrująca
Liczba możliwych kluczy dla szyfru monoalfabetycznego wynosi
403 291 461 126 605 635 584 000 000
Jak złamać szyfr monoalfabetyczny
Klucz monoalfabetyczny jest łatwo złamać
Jeśli odstępy między słowami zostały zaszyfrowane, wykorzystuje się częstotliwości występowania par i trójek liter
Szyfry polialfabetyczne
Aby zamazać częstotliwości występowania liter stosuje się szyfry, w których tablica szyfrowa zmieniana jest przy każdej szyfrowanej literze. Są to tak zwane szyfry polialfabetyczne.
Bierzemy ciąg kolejnych tablic szyfrowych Cezara
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC
EFGHIJKLMNOPQRSTUVWXYZABCD
FGHIJKLMNOPQRSTUVWXYZABCDE
..........................
ZABCDEFGHIJKLMNOPQRSTUVWXY
Wybieramy długi ciąg liter, najlepiej przypadkowych, jako hasło, n.p.
DBFFCAZHJNYUHBGRPLJMBVRFGJUI....
do zaszyfrowania pierwszej litery używamy wiersza w ciągu tablic Cezara zaczynającego się od pierwszej litery hasła
do zaszyfrowania drugiej litery używamy wiersza w ciągu tablic Cezara zaczynającego się od drugiej litery hasła, itd. W ten sposób słowo telefon zostanie zaszyfrowane jako WFQJHOM.
Jeśli klucz cyklicznie się powtarza, lub choćby powtarzają się w nim pewne sekwencje, można go złamać zaawansowaną wersją metody częstotliwościowej
W 1991 roku podczas puczu przeciw Michaiłowi Gorbaczowowi, dzięki pewnym regularnościom w rosyjskim kluczu Amerykanom udało się przeczytać szereg istotnych wiadomości i przekazać je Borysowi Jelcynowi
Hitlerowska Enigma
Armia niemiecka przed i w okresie drugiej wojny światowej używała maszyny szyfrującej o nazwie Enigma. Maszyna szyfrowała metodą polialfabetyczną z długim kluczem.
Szyfr ten udało się złamać trójce Polaków: Marianowi Rejewskiemu i jego asystentom: Henrykowi Zygalskiemu i Jerzemu Różyckiemu jeszcze przed wybuchem wojny Po zajęciu Polski przez Niemcy trójka Polaków kontynuowała pracę nad łamaniem szyfrów Enigmy we Francji W 1943 roku Rejewski, Zygalski i Różycki znaleźli się w Anglii. Niestety Anglicy de facto odsunęli ich od pracy nad Enigmą. Zasługi Polaków zostały ujawnione przez Francuzów trzydzieści lat po zakończeniu wojny. Anglicy przez kilkadziesiąt lat usiłowali negować rolę Polaków w złamaniu szyfru Enigmy.
Wady szyfrowania szyfrem polialfabetycznym
Szyfrowanie szyfrem polialfabetycznym ma charakter lokalny,t.zn. Niewielka zmiana tekstu przed szyfrowaniem powoduje niewielką zmianę tekstu po zaszyfrowaniu.
Jest to podstawą różnych metod łamania szyfrów polialfabetycznych
Lokalny charakter szyfru polialfabetycznego powoduje, że wg dzisiejszych standardów nie jest traktowany jako bezpieczny.
Szyfrowanie metodą XOR
Operacja XOR jest operacją zero jedynkową wykonywaną na dwóch argumentach zgodnie z poniższą tabelą.
XOR |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
Tak więc na przykład 0 XOR 1 = 1, natomiast 1 XOR 1 = 0.
Szyfrowany tekst jest zamieniany na ciąg zer i jedynek, a następnie bit po bicie XORowany z kluczem też zapisanym jako ciąg zer i jedynek.
Wady :klucz musi być takiej samej długości jak tekst szyfrowany, w kluczu nie może być cyklicznych powtórzeń, najlepiej jeśli jest to ciąg zupełnie przypadkowych zer i jedynek
Zaleta: rozszyfrowywanie odbywa się tak samo jako szyfrowanie, bo
a XOR x XOR x = a
Permutacyjne metody szyfrowania
Współczesne algorytmy szyfrujące wykorzystują metody polegające na dzieleniu tekstu na bloki, które poddawane są wielokrotnym permutacjom (przestawieniom) z równoczesnym szyfrowaniem i XOR-owaniem bloków.
Większość współczesnych systemów kryptograficznych wykorzystuje algorytm szyfrujący Feistela.
Współczesne metody szyfrowania
Do najważniejszych współczesnych metod szyfrowania wywodzących się z algorytmu Feistela należą;
DES (Data Encryption Standard) ,opracowany na zamówienie rządu USA i wprowadzony do użytku w roku 1977, nie może być wykorzystywany w pełnej wersji bez zgody rządu USA
3DES (Triple DES), nowa, mocniejsza wersja algorytmu DES
IDEA (International Data Encryption Standard), opracowany w latach 1990-91 w ETH Zurich (Szwajcaria), europejska odpowiedź na amerykańskie ograniczenia, bezpłatny do celów niekomercyjnych
Inne: CAST-128, RC5, RC4, BlowFish
Tajne: Znajomość algorytmu szyfrowania daje pewność, że nie ma w nim ukrytych "bocznych drzwi". Równocześnie jest to jednak znaczne ułatwienie dla zainteresowanych łamaniem tych szyfrów
O żadnym z tych szyfrów nie udowodniono, że nie da się go złamać inaczej niż metodą "brute force", t.j. wypróbowania wszystkich możliwości.
Metoda "brute force" w ich przypadku wymaga astronomicznej ilości obliczeń
Nikt (jak na razie) nie ma pomysłu jakie metody inne niż "brute force" mogłyby być zastosowane
Advanced Encryption Standard AES/Rijndeal
W roku 1990 U.S. National Institute of Standards and Technology ogłosił konkurs na następcę algorytmu DES
W roku 2001 ogłoszono oficjalnego zwycięzcę: został nim Rijndael (wymawiane "rhine-doll")
Twórcy: Joan Daemen, Vincent Rijmen, Belgia
Maszyna, która potrafiłaby złamać szyfr DES w sekundę (metodą "brute force", t.j. wypróbowania wszystkich możliwości) potrzebowałaby 149 000 000 000 000 lat do złamania AES
Opracowany specjalnie z myślą o współczesnych procesorach, więc relatywnie łatwy w implementacji.
Kryptografia klucza publicznego
Hasła i klucze
Im więcej osób zna hasło dające dostęp do jakichś zasobów (n.p. sieci komputerowej lub konta bankowego) tym większe ryzyko, że jakieś dobra zostaną skradzione. Im więcej osób zna klucz pozwalający szyfrować i rozszyfrowywać teksty, tym większe niebezpieczeństwo, że jakieś informacje dostaną się w nieupoważnione ręce.
Wydaje się oczywiste, że hasło musi być znane co najmniej po dwóch stronach: osoby starającej się uzyskać dostęp do zasobów i osoby kontrolującej dostęp do systemu (n.p. administratora sieci komputerowej).
Podobnie oczywistym zdaje się być, że klucz do szyfru musi znać tak osoba szyfrująca tekst jak i osoba ten tekst rozszyfrująca.
Współczesna kryptologia pokazuje, że takie wyobrażenia są niesłuszne
Zamiast tekstów wolimy szyfrować liczby
By móc zapisywać teksty w pamięciach komputerów, nauczyliśmy się zamieniać teksty na liczby. Na przykład zgodnie ze standardem ASCII
A = 65, B = 66, C = 67, .......
Według tej zasady słowo ALA to liczba 657665.
Zamiana tekstu na liczby pozwoliła nam niedawno sięgnąć po zupełnie nowe systemy szyfrowania
Liczby pierwsze i złożone
Mówimy, że liczba naturalna m jest dzielnikiem liczby naturalnej n, jeżeli wynik dzielenia n przez m nie daje reszty. Na przykład 3 i 4 są dzielnikami liczby 12, ale 5 już dzielnikiem 12 nie jest.
Liczba pierwsza to liczba naturalna, której jedynymi dzielnikami są jeden i ona sama. Na przykład 13 jest liczbą pierwszą, ale 221=13*17 liczbą pierwszą nie jest.
Sprawdzenie czy m jest dzielnikiem n jest stosunkowo łatwe: wystarczy wykonać jedno dzielenie.
Sprawdzenie czy dana liczba jest liczbą pierwszą jest znacznie trudniejsze, bo trzeba wykonać wiele dzieleń. Nie mniej trudne jest znalezienie wszystkich dzielników danej liczby.
Sito Erastostensa
Już w Starożytności wymyślono algorytm pozwalający wyznaczyć wszystkie liczby pierwsze nie większe niż zadana liczba.
Przy algorytmie Eratostenesa każde zwiększenie wielkości liczby o jedną cyfrę wymaga 10-krotnie szybszego komputera.
Oznacza to, że do poszukiwania na prawdę dużych liczb pierwszych ten algorytm zupełnie nie nadaje się i nigdy nie będzie się nadawał.
Do dnia dzisiejszego nie udało się opracować algorytmu poszukiwania liczb pierwszych, który byłby istotnie szybszy od algorytmu Euklidesa.
Ochrona haseł
Wykorzystując fakt, że znalezienie dzielników dużej liczby jest trudne możemy opracować następujący system sprawdzania hasła, który nie wymaga przechowywania kopii naszego hasła na dysku komputera:
wybieramy dużą liczbę pierwszą jako nasze hasło i skrzętnie ukrywamy ją
mnożymy nasze hasło przez inną dużą liczbę pierwszą
na dysku komputera zapisujemy tylko otrzymany iloczyn
komputer sprawdza autentyczność hasła sprawdzając czy jest ono dzielnikiem zapamiętanego iloczynu
odtworzenie hasła na podstawie zapisanego na dysku iloczynu jest trudne, bo wymaga wykonania dużej ilości dzieleń.
jedyną osobą, która zna hasło jest właściciel konta
Klucz prywatny i publiczny
Hasło w postaci liczby pierwszej wraz z dobranym do niej iloczynem hasła przez inną dużą liczbę pierwszą jest prostym przykładem pary kluczy:
klucz prywatny - zatajona liczba pierwsza będąca hasłem
klucz publiczny - iloczyn pozwalający sprawdzić poprawność hasła bez znajomości samego hasła - iloczyn ten można upublicznić.
Szyfrowanie „ na amen”
Nie jest trudne obliczenie wartości wielomianu dla zadanej liczby. Na przykład weźmy
f(x):=x3-3x2-x+5
Dysponując kalkulatorem łatwo policzymy, że n.p. f(323)=33384962
Odwrotne zadanie jest trudne. Jeśli ktoś nam powie, że wyliczył f dla pewnej liczby i wyszło mu 244138127, to mimo iż znamy wielomian, nie jest łatwo odtworzyć dla jakiej liczby wychodzi taki wynik. Jest to szczególnie trudne, gdy wielomian jest wysokiego stopnia, a liczba jest duża. Taki wielomian to przykład funkcji trudno odwracalnej.
Funkcje trudno odwracalne stosowane są do zapamiętywania na dysku komputera haseł komputerowych w postaci zaszyfrowanej
Zamiast przechowywać na dysku komputera hasło (co oczywiście nie jest bezpieczne), przechowuje się wynik zaszyfrowania hasła funkcją trudno odwracalna
Przy sprawdzaniu tożsamości użytkownika komputer ponownie szyfruje podane przez niego hasło i porównuje wynik z tym, który zapamiętał przy rejestrowaniu hasła
Ewentualnemu włamywaczowi zaszyfrowane hasła na nic się nie przydadzą, nawet jeśli zna sposób szyfrowania, bo funkcję szyfrującą trudno odwrócić
Ten sam sposób stosowany jest do szyfrowania PINów na kartach bankomatowych
Szyfrowanie kluczem publicznym
Najsłabszym ogniwem klasycznych systemów szyfrujących jest uzgadnianie klucza. Musi to się odbywać w cztery oczy.
Puśćmy wodze wyobraźni i załóżmy, że udało się nam znaleźć funkcję odwrotną do f, t.j. taką funkcję g, że g(f(x))=x
Zachowując tę funkcję w tajemnicy, moglibyśmy funkcję f opublikować w gazecie, informując wszystkich zainteresowanych, że jeśli chcą nam przekazać tajną wiadomość x, wystarczy, by zaszyfrowali ją funkcją f i wynik wysłali nam kartką pocztową.
W domu obliczylibyśmy g od przysłanego nam wyniku odtwarzając wiadomość.
Możemy powiedzieć, że f pełni rolę funkcji szyfrującej, a g funkcji rozszyfrującej
Gdyby taka para istniała, f nazwalibyśmy kluczem publicznym, a g kluczem prywatnym.
Metoda taka znana jest od 1978 roku, kiedy Ronald. L. Rivest, Adi Shamir i Leonard Adleman opublikowali wyniki swych badań
Ich metoda, znana dziś jako RSA, pozwala dostarczyć dowolnie wiele takich par funkcji f i g (nie są to jednak wielomiany)
Znajomosć funkcji f nie daje możliwości odtworzenia funkcji g i vice versa. Są to więc funkcje trudno odwracalne
Przy szyfrowaniu f pełni rolę klucza publicznego, a g rolę klucza prywatnego
Metoda opera się na fakcie, że choć łatwo jest policzyć iloczyn nawet dużych liczb, to trudno jest rozłożyć dużą liczbę na czynniki pierwsze
Od tego czasu podano szereg dalszych tego metod szyfrowania przy użyciu klucza publicznego
Podpis elektroniczny
Zwykłe odwrócenie ról w metodzie klucza publicznego pozwala uzyskać podpis elektroniczny.
zachowujemy w tajemnicy funkcję szyfrującą f, a publikujemy funkcję rozszyfrującą g
Jeśli chcemy komuś udowodnić, że tekst, który napisaliśmy pochodzi od nas, szyfrujemy go funkcją f i wysyłamy do adresata tak tekst jawny jak i zaszyfrowany
Adresat rozszyfrowuje otrzymany tekst wszystkim znaną funkcją g i porównuje z tekstem jawnym. Jeśli teksty są identyczne, może mieć pewność, że to my go napisaliśmy
Szyfrowane protokoły sieciowe
Metody współczesnej kryptografii są stosowane w szyfrowanych protokołach sieciowych.
SSH (Secure Shell)
protokół pozwalający na zdalną pracę na odległym komputerze tak jak telnet, ale zapewniający szyfrowanie połączenia
przy nawiązaniu połączenia stosowany jest algorytm klucza publicznego (RSA) umożliwiający ustalenie wspólnego klucza do dalszej komunikacji przy zastosowaniu kryptografii symetrycznej.
po ustaleniu klucza stosowany jest algorytm kryptografii permutacyjnej (BlowFish) do wzajemnej komunikacji.
szyfrowanie danych wysyłanych/odbieranych poprzez użytkownika ma miejsce od samego początku, łącznie z hasłem użytkownika umożliwiającym mu dostęp do odległego komputera.
protokół ten stosowany jest w wielu popularnych programach, n.p. okienkowym programem public domain umożliwiającym pracę zdalną pod Windows jest PuTTy
SSL (Secure Socket Layer) znany również jako TLS (Transport Layer Security)
pierwotnie opracowany przez firmę Netscape,
umożliwia szyfrowaną komunikację pomiędzy przeglądarką, a serwerem w ramach usługi WWW
przy nawiązaniu połączenia stosowany jest algorytm klucza publicznego (RSA) umożliwiający ustalenie wspólnego klucza do dalszej komunikacji przy zastosowaniu kryptografii symetrycznej.
po ustaleniu klucza stosowany jest algorytm kryptografii permutacyjnej (DES i inne) do wzajemnej komunikacji.
w celu jednoznacznej identyfikacji kiedy jest stosowany, uruchamiany jest poprzez specjalną usługę internetową https. Innymi słowy szyfrowane są połączenia z tymi adresami URL, które rozpoczynają się od https://...
PGP (Pretty Good Privacy)
protokół i równocześnie nazwa popularnego programu, umożliwiającego szyfrowanie plików i poczty elektronicznej
opracowany w roku 1991 przez Philipa Zimmermanna, jako reakcja na ograniczenia wprowadzane przez rząd USA w prywatności danych komputerowych
stosuje RSA do wymiany kluczy oraz IDEA do przesyłania zaszyfrowanych danych
Steganografia
Steganografia ("ukryte pismo") to techniki pozwalające na przekazwyanie informacji w sposób widoczny jedynie dla zorientowanych.
W różnych formach stosowana od czasów starożytnych (tatuaż na ogolonej głowie - opisane przez Herodota)
W wersji współczesnej polega na drobnych modyfikacjach plików multimedialnych (grafika, dźwięk, video), tak by zmiana była niezauważalna dla niezorietowanego odbiorcy, natomiast osobie zorientowanej umożliwiała odczytanie jej przy pomocy odpowiedniego oprogramowania.
Stosowana do tworzenia "znaków wodnych" pozwalających na ochronę wartości intelektualnych
Umożliwia tworzenie "niepodrabialnych" dokumentów na przykład zdjęć do paszporu zawierających w sobie dane personalne właściciela, bądż zakodowany jego odcisk palca.
Technika ta przydaje się też grupomn przestępczym, bo pozwala na komunikację przy pomocy ogólnie dostępnych mediów bez zwracania na siebie uwagi.
Internet w komórce
Krótka historia telefonii komórkowej
GENERACJA I (od 1981r.)
telefony analogowe
transmisja danych 9,6 kb/s
SMS do 160 znaków
poczta głosowa
GENERACJA II (od 1991r.)
telefony cyfrowe GSM
usługi zintegrowane: głos,dane,SMS,faks
dostęp do Internetu przez WAP
transmisja danych do 170kb/s przez GPRS (General Packet Radio Service)
stałe łącze internetowe z opłatami za ilość przesłanych danych
GENERACJA III (od 2001r.)
telefony cyfrowe globalne UMTS
transmisja danych 2Mb/s przez WCDMA (Wideband Code Division Multiple Access)
pełne usługi internetowe
usługi multimedialne
Protokół WAP
W celu umożliwienia wyświetlania stron internetowych na malutkich wyświetlaczach telefonów komórkowych opracowano specjalny protokół internetowy zwany WAP (Wireless Application Protocol).
Protokół ten współpracuje ze specjalnym językiem do tworzenia stron dla telefonów komórkowych zwanym WML (Wireless Markup Language).
Oglądanie stron napisanych w języku WML możliwe jest w telefonach wyposażonych w mikroprzeglądarki (t.zw. komórki internetowe)
Informacje i usługi oferowane najczęściej w serwisach WAP to
pogoda, pogoda dla wybranych miast,
wiadomości, informacje finansowe i gospodarcze, informacje sportowe,
kursy wybranych walut, indeksy giełdowe,
program telewizji, repertuary kin i teatrów
Wybrane serwisy WAPowiskie w Polsce
Serwisy niezależne
Serwis |
Oferta |
http://wap.filmweb.pl |
repertuar kin w całej Polsce |
http://wap.poland.com |
portal informacyjny |
http://wap.interia.pl |
wydarzenia dnia, wiadomości polityczne i gospodarcze |
http://wap.mf.fm |
informacje radiowe |
http://wap.bankier.pl |
portal finansowy |
http://wap.matrix.pl |
informacje o stacjach benzynowych i bankomatach |
http://wap.rp.pl |
serwis informacyjny "Rzeczpospolitej" |
Strony WAP oferowane przez polskie telefonie komórkowe
Telefonia |
Era GSM |
Plus GSM |
Idea Centertel |
Adres strony WML |
http://wap.eragsm.pl |
http://wap.plusgsm.pl |
http://wap.idea.pl |
Telefon dostępowy |
48 604 020 202 |
48 601 100 321 |
48 501 800 800 |
Dostęp do stron WAPowskich z komputera
Stron WAPowskich nie da się oglądać w zwykłych przeglądarkach
Mimo to można przeglądać strony WAPowskie jeśli dysponujemy komputerem podłączonym do internetu.
Są cztery możliwości
poprzez zainstalowanie samodzielnej miniprzeglądarki
poprzez zainstalowanie miniprzeglądarki wspieranej serwisem internetowym
bezpośrednio poprzez serwis internetowy
przy pomocy edytora stron WML. Pozwala to jedynie na oglądanie stron na lokalnym dysku, w trakcie ich tworzenia
Tworzenie prostych stron w języku WML
Język WML jest oparty na języku XML
W języku WML na wzór XML znaczniki są dwóch rodzajów
występujące w parach jak n.p. <B> i </B>. Znaczniki takie wyznaczają pewien fragment tekstu. Inaczej niż w HTMLu znacznik zamykający nie może zostać pominięty. Dotyczy to w szczególności znaczników P, LI, TD, TR, przy których w HTMLu często znacznik zamykający pomija się.
występują samodzielne i nie wyznaczają żadnego tekstu. Takie znaczniki mają ukośnik umieszczony bezpośrednio przed zamykającym nawiasem trójkątnym, n.p. <BR/>. Dotyczy to w szczególności znacznika IMG.
plikom w WMLu nadaje się końcówkę wml.
komentarze w WML mają taką samą postać jak w HTML i XML
O różnicach między WML i HTML trzeba pamiętać gdyż zgodnie ze standardem XML przeglądarki WML ignorują znaczniki wypisane niezgodnie z regułami XML.
Struktura dokumentu WML
Dokument WML rozpoczyna się prologiem dość skomplikowanej postaci
<?xml version='1.0'?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
Następnie przychodzi właściwy tekst w WMLu, oznaczony znacznikiem WML
<wml>....</wml>
Talie i karty
Dokument w WMLu nie jest nazywany stroną, tylko talią, bo jest zbudowany z kart. Pojęcie karty wprowadzono ze względu na małą pojemność wyświetlaczy telefonów komórkowych. Oto przykładowa karta
<card id="jeden">
Witam na mojej stronie WAP <br/><br/>
<a href="#uj"> Kontakt na UJ</a> <br/>
<a href="#wsb"> Kontakt na WSB</a> <br/>
</card>
Parametr ID znacznika card pozwala identyfikować kartę. Do kart w tej samej talii można się odnosić znacznikiem A, w którym jako wartość parametru HREF podano nazwę talii poprzedzoną znakiem #.
Zdarzenia i rysunki w WML
By poprzednia karta miała sens trzeba jeszcze zdefiniować karty o identyfikatorach uj i wsb. Taka karta może wyglądać na przykład tak
<card id="wsb">
<img src="wsb-logo-mini.wbmp"/>
WSB-NLU<br/>Katedra Informatyki<br/><br/>
<b>Telefon</b>: +(18)-4499250<br/>
<b>email</b>: mrozek@sigma.wsb-nlu.edu.pl<br/>
<b>Adres</b>: ul. Zielona 27, <br/> 33-300 Nowy Sącz<br/>
<do type="prev" label="Wstecz">
<prev/>
</do>
</card>
Jak widać WML pozwala na włączanie grafiki, jednak wyłącznie w formacie *.wbmp, specjalnym zaprojektowanym dla wyświetlaczy komórek.
WML wprowadza pojęcie zadań realizowane przy użyciu znacznika DO. W powyższym przykładzie użyto go do wprowadzenia na karcie opcji powrotu do poprzedniej karty. Tematyka zadań i związana z nią tematyka zdarzeń wykracza jednak poza ramy tego wykładu.
Umieszczenie strony w WML na serwerze
By strona WML była widoczna w świecie, trzeba ją umieścić na serwerze, w katalogu obsługiwanym przez serwer, n.p. we własnym katalogu public_html
Serwer musi być tak skonfigurowany, by potrafił stosownie rozpoznawać pliki z końcówką wml. W przypadku serwera Apache wystarczy w tym celu przygotować plik o nazwie .htaccess zawierający jedną linijkę
addtype text/vnd.wap.wml
i umieścić w katalogu, w którym znajdują się pliki napisane w języku WML
Multimedia
Multimedia - dźwięk
Sposoby zapisu dzwieku
nutowy" - zapisuje się wysokość i czas trwania kolejnych, a także równoległych dźwięków. Sposób przeznaczony do rejestrowania muzyki
próbkowany - z ustaloną częstotliwością zapisuje się fizyczne parametry rejestrowanego dźwięku. Jakość zależy od
częstotliwości próbkowania, n.p. 22kHz lub 44kHz
dokładności zapisu próbki (jedno lub dwubajtowa)
ilości kanałów (mono, stereo, quadro)
Porównywanie wad i zalet zapisywania dźwięku
Zapis |
Zalety |
Wady |
Zapis nutowy |
|
|
Zapis próbkowany |
|
|
Popularne formaty plikowo dzwiekowych
Format |
Typ pliku |
Opis |
Musical Instrument |
*.midi, *.mid |
|
Format Microsoftu |
*.wav |
|
Format UNIXowy |
*.au |
|
Audio Interchange |
*.aiff |
|
Motion Picture |
*.mp3 |
|
Real Audio |
*.ra |
|
Dźwięk na stronach WWW
Najprostszym i uniwersalnym sposobem wprowadzenia dźwięku na stronę WWW jest użycie łącza z podanym adresem pliku dźwiękowego
Kliknij <a href="melodia.wav"> tutaj</a> aby usłyszeć dźwięk
co powoduje ściągnięcie pliku z dźwiękiem i odtworzenie go.
Zaleta: uniwersalność
Wada: brak możliwości automatycznego odtworzenia dźwięku po załadowaniu strony oraz sterowania procesem odtwarzania dźwięku.
Znacznik <bgsound>
Znacznik <bgsound> umożliwia odtwarzanie dźwięku w tle. Znacznik ten nie jest interpretowany przez Netscape Navigator.
<bgsound src="sound.wav" loop=1>
Umieszczenie tego znacznika na stronie WWW powoduje odtworzenie pliku dźwiękowego wskazywanego przez parameter src automatycznie po załadowaniu strony. Plik odtwarzany jest tyle razy ile podano w parametrze loop. Parametr loop może przyjmować wartość infinite .Znacznik <embed>
Znacznik <embed> domyślnie wyświetla ikonę z przyciskami pozwalającymi na samodzielne uruchamianie, zatrzymywanie i przewijanie odtwarzanego dźwięku. Starsze wersje Internet Exploratora wymagają zainstalowania specjalnych "wtyczek', by poprawnie interpretować ten znacznik. <embed src="melodia.wav">
Znacznik <embed> dysponuje m.in. parametrami
loop=n - Parametr ten powoduje powtarzanie podanego dźwięku zadaną ilość razy. Podając wartość true wymusza się ciągłe powtarzanie dźwięku
autostart=true - Powoduje automatyczne rozpoczęcie odtwarzania dźwięku po załadowaniu strony. Wskazane jest podawanie autostart=false jeśli nie chcemy, by dźwięk był odtwarzany automatycznie, gdyż niektóre wersje przeglądarek przyjmują domyślną wartość parametru autostart jako true.
hidden=true - Ikona z przyciskami sterującymi nie jest wyświetlana. Odtwarzanie dźwięku zaczyna się automatycznie po załadowaniu strony.
Multimedia - tekst
HTML i XML
HTML i XML nie są jedynymi technikami umożliwiającymi udostępnianie tekstu na stronach WWW.
Dokument programu WORD
Format |
Typ pliku |
Opis |
WORD |
*.doc |
|
Post Script i Portale Dokument Format
PostScript (ps) to precyzyjny, profesjonalny język opisu strony przeznaczonej do druku, stworzony przez firmę Adobe do celów poligraficznych. W roku 1991 również firma Adobe opracowała standard
Portable Document Format (pdf), przeznaczony do prezentowania dokumentów w postaci profesjonalnego wydruku na papierze i równocześnie na ekranie komputera
Format |
Typ pliku |
Opis |
PostScript |
*.ps *.eps |
|
|
TeX i LaTeX
Format |
Typ pliku |
Opis |
TeX i LaTeX |
*.tex |
|
DVI |
*.dvi |
|
PdfLaTeX |
*.tex, *.pdf |
|
Multimedia - grafika
Typy grafiki
Grafika wektorowa: obraz zapisany w postaci ciągu instrukcji elementarnych rysujących punkty, odcinki (wektory), wielokąty, łuki, a także wypełniających zamknięte kontury kolorem.
Grafika rastrowa: obraz zostaje podzielony prostokątną siatką (rastrem) na dużą ilość małych pól (pixeli). W odpowiedniej tablicy zostaje zapamiętany kolor każdego pixela.
Porównywanie grafiki wektorowej i rastowej
|
Zalety |
Wady |
Grafika |
|
|
Grafika |
|
|
Sposoby zapisu koloru
RGB - trzy liczby określają odpowiednio ilość czerwonego, zielonego i niebieskiego światła. wersja jednobajtowa - daje 256 różnych kolorów wersja trzybajtowa - daje ponad 16 milionów kolorów (true color)
CMY(K) - trzy lub cztery liczby określają odpowiednio ilość błękitnego, fioletowego, żółtego i ewentualnie czarnego tuszu.
Poprzez paletę kolorów. By zmniejszyć objętość grafiki rastrowej wybiera się tylko pewną paletę kolorów, każdemu kolorowi nadaje się numer i zapamiętuje się numery kolorów poszczególnych pikseli
Kompresja grafiki
Grafika rastrowa przy rozdzielczości 600x800 pixeli w wersji true color zajmuje około 1.5MB.
Kompresja to metoda przetworzenia pliku zmniejszająca jego rozmiary.
Rozróżniamy dwa typy kompresji
bezstratna - obraz skompresowany po dekompresji jest identyczny z oryginałem
stratna - po dekompresji obraz w pewnym stopniu różni się od oryginału. Różnica zależy od stopnia kompresji.
Metody kompresji grafiki
kompresja słownikowa: często powtarzającym się sekwencjom bajtów przypisuje się krótki kod. Znaczenie kodów zapisuje się na początku pliku w postaci tzw słownika. Jest to uniwersalny system kompresji - nadaje się do wszelkiego typu plików.
kompresja częstotliwościowa: obraz jest traktowany jako dwuwymiarowa funkcja, którą metodami matematycznymi rozkłada się na składowe o różnych częstościach. Wystarczy zapamiętać niektóre z tych częstości, by móc (w pewnym przybliżeniu) odtworzyć obraz
kompresja falkowa: zaawansowana metoda kompresji oparta o najnowsze teorie matematyczne. Jest rozwinięciem techniki kompresji częstotliwościowej
kompresja fraktalna: metoda kompresji wykorzystująca fraktale.
Fraktale
Fraktale to zbiory o bardzo skomplikowanej, nieskończenie bogatej strukturze.
W roku 1979 Benoit Mandelbrot odkrył, że w prostych wzorach
x1=x2-y2+c
y1=2xy+d
kryje się nieskończenie skomplikowana rzeczywistość znana dziś pod nazwą zbiór Mandelbrota
Metoda fraktali pozwala dziś matematykom opracowywać metody tworzenia sztucznej rzeczywistości do złudzenia przypominającej prawdziwą
Najważniejsze formaty plików graficznych
Format |
Typ pliku |
Opis |
Uwagi |
Windows BitMap |
*.bmp |
grafika rastrowa bez kompresji, od czarno białej po true color |
wymaga wtyczki (plug-in) |
Graphic Interchange Format |
*.gif |
grafika rastrowa z kompresją słownikową, maksymalnie 256 kolorów, |
akceptowany przez przeglądarki |
Portable Network Graphics |
*.png |
grafika rastrowa z bezstratną kompresją słownikową. Nie ma ograniczeń formatu *.gif i może go stopniowo wyprzeć. |
akceptowany przez przeglądarki |
Joint Photographic Experts Group |
*.jpg, *.jpeg |
grafika rastrowa true kolor z kompresją częstotliwościową |
akceptowany przez przeglądarki |
Encapsulated PostScript |
*.eps |
grafika wektorowa oparta o język PostScript używany w drukarkach |
wymaga wtyczki (plug-in) |
Wnioski z porównania JPG Gif
Format |
Stopień kompresji |
Uwagi |
gif |
4:1 - 10:1 |
|
jpg |
10:1 - 100:1 |
|
Programy do tworzenia obróbki grafiki
Typowe funkcje programów graficznych
rysowanie linii prostych i krzywych, wielokątów, okręgów i elips, wypełnianie zamkniętych kształtów kolorem lub teksturą (wzorem)
kopiowanie, wycinanie i powielanie grafiki i jej fragmentów
przycinanie grafiki do wybranych rozmiarów
wstawianie do rysunku tekstu
przekształcanie geometryczne obrazu (odbicia, obroty, deformacje)
modyfikowanie palety kolorów
zmiana jasności, kontrastu
efekty specjalne
konwersja grafiki pomiędzy różnymi formatami zapisu
Hardware przydatny przy tworzeniu i obróbce grafiki
wysokiej jakości monitor
wysokiej jakości karta graficzna z dużą ilością pamięci (min. 16MB)
drukarka kolorowa laserowa lub atramentowa
skaner
cyfrowy aparat fotograficzny
Przykładowe programy do obróbki grafiki
Program |
Opis |
paint |
Dołączany do Windows 95/98, nadaje się głównie do tworzenia prostych rysunków |
CorelDraw/CorelPhoto-Paint |
kanon na rynku profesjonalnych programów do tworzenia i przetwarzania grafiki |
Paint Shop Pro |
dobry shareware'owy program do obróbki grafiki |
Adobe Photoshop |
wiodący program dla profesjonalistów do przetwarzania grafiki rastrowej |
MGI Photo Suite |
bywa załączany gratis do skanerów |
gimp |
doskonały program public domain pracujący w środowisku Linux |
Scalable Vector Graphics
SVG (Scalable Vector Graphics) to język opisu grafiki wektorowej zaprojektowany specjalnie do zastosowań w sieci WWW.
Język ten jest oparty jest na standardzie XML.
Oficjalna specyfikacja języka SVG jest otwarta i publicznie dostępna na stronach W3C.
Oglądanie stron wykorzystujących SVG wymaga zainstalowania w przeglądarce wtyczki (plugin). Na rynku jest wiele wtyczek public domain. W3C publikuje listę dostępnych wtyczek. Większość z nich to software klasy public domain. Szczególnie godna polecenia jest wtyczka SVG oferowana przez Adobe .
Struktura dokumentu SVG
Ponieważ język SVG wykorzystuje standard XML, więc dokument w tym języku ma następującą strukturę
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg>
<!-- Właściwe znaczniki SVG umieszczamy tutaj -->
</svg>
Tak więc elementem głównym tego dokumentu jest <svg>
Podstawowe kształty
Wprowadzanie prostych kształtów, takich jak linie, prostokąty, okręgi, elipsy, wielokąty odbywa się przy pomocy odpowiednich znaczników. Oto przykłady
<line x1="5" y1="5" x2="45" y2="45" stroke="red"/>
Powyższy element rysuje linię od punktu o współrzędnych podanych w parametrach x1, y1 do punktu o współrzędnych podanych w parametrach x2, y2 Linia rysowana jest w kolorze podanym w parametrze stroke.
<circle cx="25" cy="25" r="20" fill="red"/>
Powyższy element rysuje koło o środku w punkcie o współrzędnych podanych w parametrach cx, cy i promieniu podanym w parametrze r. Koło wypełnianie jest kolorem podanym w parametrze fill.
<rect x="5" y="5" width="40" height="40" fill="red"/>
Powyższy element rysuje prostokąt o szerokości i wysokości podanej w parametrach width i height, którego lewy górny róg jest umieszczony w punkcie o współrzędnych podanych w parametrach x, y. Prostokąt wypełniany jest kolorem podanym w parametrze fill.
Grupowanie
Kilka elementów graficznych można powiązać w jedną grupę. Wspólne cechy elementów można umieścić w parametrach grupy:
<g fill="lightgreen" stroke="blue" stroke-width="5">
<circle cx="100" cy="100" r="50" />
<rect x="200" y="100" width="100" height="50"/>
</g>
Grafika żółwia
Znacznik <path> umożliwia realizację grafiki żółwia.
<path d="M 0 0 L 100 0 L50 100 Z">
W parametrze d umieszcza się ciąg instrukcji dla żółwia. Najważniejsze to
M x y - przeniesienie pióra nad rysunkiem do pozycji o współrzędnych x y
L x y - wyrysowanie linii z bieżącej pozycji do pozycji o współrzędnych x y
Z - wyrysowanie linii z bieżącej pozycji do pozycji, od której rozpoczęto rysowanie (zamknięcie linii).
Aby uzyskać kontrolę nad kolorem, grubością linii itp. należy znacznik <path> umieścić w środowisku elementu <g>, któremu należy przypisać odpowiednie wartości parametrów.
Łącza i grafika rastowa
W SVG można używać znacznika <a> w celu tworzenia łącz. Łączem może być dowolny element. Adres URL podaje się w parametrze xlink:href.
<a xlink:href="http://www.wsb-nlu.edu.pl">
<circle cx="100" cy="100" r="50" /> </a>
Do grafiki SVG można też podłączać pliki graficzne zapisane w grafice rastrowej. Dopuszczalne typy plików to gif, png. Na przykład użycie jpg. Można też podłączać pliki graficzne svg.
<image x="20" y="40" width="100" height="100" xlink:href="wsb-logo.png"/>
wstawia grafikę rastrową w pliku wsb-logo.png tak, by lewy górny róg znalazł się w pozycji o współrzędnych 20,40, a rysunek wypełnił prostokąt o rozmiarach 100 na 100.
Tekst
Oczywiście dobra grafika nie może się obyć bez wstawek tekstowych. Grafika w SVG pozwala na włączenie tekstu przy użyciu znaczników <text>, <tspan> i <textPath>
<text x="0" y="13" fill="red"> Scalable Vector Graphics </text>
Powyższy element wypisuje tekst umieszczony wewnątrz elementu rozpoczynając od punktu o współrzędnych podanych w parametrach x, y. Tekst rysowany jest w kolorze podanym w parametrze fill.
<path id="liniaTekstu" d="M 30 30 L 300 400" />
<text style="font-size:20;fill:red">
<textPath xlink:href="#liniaTekstu">
To jest tekst po linii pochylonej </textPath> </text>
Przedstawiony wyżej element <textPath> pozwala na umieszczenie zawartego w nim tekstu wzdłuż linii opisanej poprzez ścieżkę identyfikowaną parametrami id w elemencie <path > oraz xlink:href w elemencie <textPath>
Transformacje
Parametr transform, który można stosować do elementu <g>, pozwala przekształcać zawarte w tym elemencie obiekty poprzez proste przekształcenia geometryczne.
<g transform="skewX(-40) ">
<text x="30" y="30" >
Scalable Vector Graphics
</text>
</g>
W powyższym przykładzie tekst zostaje pochylony wzdłuż osi X.
Inne możliwe transformacje to:
translate(dx,dy) - przesuwa całą grupę o zadany wektor
rotate(deg) - obraca grupę o zadany kąt
scale(s) - przeskalowuje grupę o zadany współczynnik
scale(sx,sy) - przeskalowuje grupę o zadane współczynniki oddzielnie dla kierunków osi X Y
Animacje
Elementy graficzne w SVG mogą być poddane animacji. Każdy parametr elementu graficznego może być w sposób ciągły zmieniany w zadanym zakresie wartości i w zadanym czasie.
<rect x="20" y="10" width="120" fill="orange">
<animate attributeName="height" from="10" to="120" begin="1s" dur="4s" fill="freeze" />
</rect>
W powyższym przykładzie wysokość prostokąta jest zmieniana od wartości 10 do wartości 120 w czasie od pierwszej do piątej sekundy wyświetlania strony.
Multimedia - video
Sposoby zapisu video
sekwencyjny - poprzez zapisanie kolejnych klatek w jednym pliku bezpośrednio jedna po drugiej
wiązany - zapis z dodatkową kompresją, wykorzystująca fakt, że kolejne klatki jednej sceny video nie różnią się bardzo od siebie
Popularne formaty plikow video
Format |
Typ pliku |
Opis |
Graphic Format Interchange |
*.gif |
|
QuickTime |
*.mov |
|
Flash |
|
|
Motion Picture Expert Group |
*.mpeg |
|
Multimedia - prezentacje
Prezentacje to materiały multimedialne wraz z zakodowaną informacją w jakiej kolejności i w jaki sposób powinny być wyświetlane na ekranie. Jak sama nazwa wskazuje służą do przedstawienia multimedialnego materiału w trakcie narad, zjazdów, seminariów czy konferencji.
Gotowe prezentacje mogą być umieszczane w Internecie i przeglądane przez internautów.
Format |
Typ pliku |
Opis |
PowerPoint |
*.ppt |
|
PdfLaTeX |
|
Sieci komputerowe
Przeznaczenie sieci komputerowej
Tak jak sieć telefoniczna pozwala ludziom wymieniać informacje między sobą, tak sieć komputerowa pozwala wymieniać informacje komputerom.
Zastosowanie sieci komputerowej
wspólne korzystanie z drogich zasobów: pamięci masowe, drukarki, faxy, plottery, modemy, moc obliczeniowa serwerów
wymiana poczty elektronicznej pomiędzy osobami pracującymi w sieci (e-mail)
udostępnianie informacji (elektroniczna tablica ogłoszeń)
gromadzenie informacji
zbiorowa praca nad dokumentami na odległość
telekonferencje
zdalne automatyczne monitorowanie i sterowanie procesami, n.p. produkcją
Elementy składowe sieci komputerowej
serwery
stacje robocze
okablowanie
karty sieciowa
opcjonalnie elementy łącznikowe: hub, koncentrator, krosownica
opcjonalnie: drukarki, modemy, i inne urządzenia zewnętrzne
Lokalne sieci komputerowe
Lokalne sieci komputerowe obejmują swoim zasięgiem stosunkowo niewielką ilość komputerów (kilka do kilkuset) zgromadzonych na stosunkowo niewielkim obszarze (jeden, najwyżej kilka blisko położonych budynków) i połączonych przy użyciu jednolitych rozwiązań technicznych.
Rozlegle sieci komputerowe
Rozległe sieci komputerowe to najczęściej sieci sieci, a więc szereg lokalnych sieci komputerowych, często odległych od siebie i o odmiennej konstrukcji, które komunikują się poprzez specjalne linie łączące ze sobą specjalizowane komputery w sieciach lokalnych zwane ruterami. Dominującą nad wszystkimi sieciami rozległymi jest rozrastająca się w błyskawicznym tempie światowa sieć Internet.
Ruter - urządzenie umożliwiające jednoczesny dostęp wielu komputerom do Internetu
Sieciowe systemy operacyjne
Tak jak komputer potrzebuje do pracy systemu operacyjnego, czyli podstawowego programu umożliwiającego wykonywanie innych programów, tak sieć komputerowa wymaga zainstalowania sieciowego systemu operacyjnego umożliwiającego pracę programów w sieci.
Najpopularniejsze sieciowe systemy operacyjne:
NetWare firmy Novell
Windows NT/2000/XP firmy Microsoft
AppleTalk firmy Apple
sieciowe systemy operacyjne firmy IBM
UNIX
NetWare jako sieciowy system operacyjny
jeden z najpopularniejszych sieciowych systemów operacyjnych dla sieci lokalnych
działa w sieci Ethernet lub Token Ring
opracowany dla różnych platform: MS DOS, MS Windows (3.1/95/NT), MacIntosh, OS/2, UNIX
do przesyłania danych używa własnego protokołu IPX/SPX
obsługuje protokoły AppleTalk firmy Apple oraz TCP/IP
ma mechanizmy ochrony danych wbudowane w bardzo niskiej warstwie protokołu sieciowego (t.j. blisko poziomu sprzętowego), co czyni go wysoce bezpiecznym sieciowym systemem operacyjnym
Windows NT/2000/Xp jako sieciowy system operacyjny
stosunkowo najmłodszy z sieciowych systemów operacyjnych
łatwy w instalacji, obsłudze i administracji
obsługuje protokoły TCP/IP i IPX/SPX
UNIX jako sieciowy system operacyjny
opracowany na przełomie lat sześćdziesiątych i siedemdziesiątych przez AT&T Bell Laboratories i od tego czasu ciągle stosowany
jeden z najwcześniejszych sieciowych systemów operacyjnych, co czyni go wyjątkowo stabilnym i niezawodnym
szczególnie popularny w bankach
doskonale dostosowany do pracy w Internecie, gdyż do przesyłu danych używa protokołu TCP/IP obowiązującego w Internecie
trudny w instalacji i obsłudze, wymaga doświadczonego administratora
dostępny m. in. na stacjach roboczych SUN (drogi), ale również na PC w doskonałej wersji freeware o nazwie LINUX
Technologie sieci komputerowych
Technologie Kablowe
Najprostsza siec
Przykład najprostszej sieci: dwa komputery połączone kablem poprzez port równoległy lub szeregowy.
Sieć Ethernet
Pierwsza sieć typu Ethernet została stworzona z końcem lat sześćdziesiątych na Hawajach.
Standard Ethernet został opracowany przez DEC, Intel i Xerox w roku 1982.
W sieci Ethernet szereg komputerów połączonych jest na równoprawnej zasadzie magistralą.
Komputery bez przerwy nasłuchują czy magistralą nie płynie informacja dla któregoś z nich przeznaczona.
Komputer, który chce nadać informację czeka do momentu, gdy magistrala jest wolna i rozpoczyna nadawanie.
Jeśli równocześnie dwa komputery rozpoczną nadawanie, emisja jest wstrzymywana i każdy z komputerów odczekuje krótki losowo dobrany czas nim ponownie zacznie nadawać.
Sieci typu Ethernet mogą mieć topologię magistrali, gwiazdy lub drzewa.
prędkość przesyłu sygnału wynosi 10Mb/s, 100Mb/s lub 1Gb/s.
Sieć typu Ethernet z topologią magistrali, gwiazdy, drzewa
Siec z topologia pierscienia
W sieci o topologii pierścienia informacja przepływa w jednym kierunku, od węzła do węzła.
Każdy z węzłów analizuje, czy jest dla niego przeznaczona, jeśli nie jest, przesyła ją dalej.
W przeciwieństwie do sieci Ethernet do poszczególnych kabli tworzących pierścień nie mają dostępu wszystkie komputery, a tylko dwa na końcach kabla, przy czym jeden tylko nadaje, a drugi tylko odbiera.
Sieć typu Token Ring z topologia pierścieniowo gwiaździsta
Sieć Token Ring została opracowana przez firmę IBM w połowie lat osiemdziesiątych.
W sieci typu Token Ring gwieździsty charakter ma sposób podłączenia komputerów do sieci, natomiast w sposób pierścieniowy węzły przekazują sobie kolejno prawo do nadawania obrazowo określane posiadaniem tokena.
Jeśli komputer, który właśnie uzyskał prawo do nadawania nie ma nic do powiedzenia, to mówi: nie mam nic do powiedzenia, przekazuję prawo do mówienia mojemu sąsiadowi po lewej.
Jeśli komputer ma coś do powiedzenia, mówi: sąsiedzie po lewej, mam taką a taką wiadomość dla tego a tego komputera do przekazania, proszę przekaż ją dalej.
Wiadomość krąży po sieci aż dotrze do odbiorcy.
Odbiorca przekazuje w podobny sposób potwierdzenie odebrania wiadomości do nadawcy, który teraz prawo do mówienia przekazuje sąsiadowi z lewej.
Plusy i minusy technologi kablowych
Cecha |
Rodzaj połączenia |
||
|
Magistrala |
Gwiazda |
Pierścień |
typowy koszt |
niski |
średni |
wysoki |
niezawodność |
wysoka |
doskonała |
doskonała |
obszar |
mały |
duży |
b.duży |
usuwanie usterek |
utrudnione |
b.łatwe |
łatwe |
zmiana położenia |
utrudniona |
łatwa |
łatwa |
pojemność sieci |
niska |
średnia |
wysoka |
Dostęp poprzez istniejące sieci niekomputerowe
Łączność pomiędzy komputerami poprzez istniejące sieci niekomputerowe ma tę fundamentalną zaletę, że nie trzeba jej budować, bo już istnieje. Najczęściej wykorzystuje się tu istniejące linie telefoniczne, ale używane są też sieci telewizji kablowej, a nawet sieci energetyczne.
Podłączenie komputera do sieci przez linie telefoniczna
Dwa komputery, komputer i sieć, a nawet dwie sieci komputerowe można połączyć ze sobą wykorzystując linię telefoniczną. Potrzebne do tego jest:
po jednym modemie podpiętym do komputerów po każdej stronie linii telefonicznej
linia telefoniczna łącząca komputery. Może to być linia dzierżawiona przeznaczona wyłącznie do przesyłania danych i zapewniająca stałą łączność, zwykłe połączenie telefoniczne zapewniające łączność pomiędzy komputerami na czas trwania połączenia telefonicznego i różne rozwiązania pośrednie.
Najczęściej tego typu połączenie stosujemy by połączyć pojedynczy komputer lub małą sieć lokalną z siecią Internet. Wtedy jeden z dwóch modemów znajduje się u dostawcy Internetu.
Linia analogowa
Jest to najprostsze rozwiązanie. Wystarcza zwykła linia telefoniczna i modem analogowy.
maksymalna prędkość przesyłu danych to 33.6Kb/s przy transmisji. W niektórych przypadkach prędkość ta może zostać zwiększona do 56Kb/s i to tylko przy przesyłaniu danych z centrali do abonenta. Wymaga to zastosowania specjalnych rozwiązań w centrali.
płaci się za czas połączenia modemowego
w trakcie połączenia modemowego nie są możliwe zwykłe rozmowy telefoniczne.
Linia cyfrowa ISDN
ISDN to skrót od Integrated Services Digital Network. Jest to jedna z najstarszych technologii cyfrowej transmisji głosu. Zapewnia znacznie większą jakość transmisji głosu i umożliwia transmisję danych.
Przy zastosowaniu zwykłego kabla telefonicznego umożliwia uzyskanie dwóch kanałów podstawowych o przepustowości 64Kb/s i jednego kanału sterującego o przepustowości 16Kb/s.
Kanały podstawowe mogą być wykorzystywane do prowadzenia:
dwóch rozmów telefonicznych równocześnie, albo
rozmowy i transmisji danych z prędkością 64Kb/s, albo
transmisji danych z prędkością 128Kb/s
jak w przypadku linii analogowych płaci się za czas połączenia
niektórzy dostawcy umożliwiają dodatkowo stały dostęp do Internetu poprzez kanał sterujący z prędkością do 16Kb/s za zryczałtowaną opłatą
Linia cyfrowa HIS
HIS (Home Internet Solution) to technologia cyfrowa opracowana przez firmę Ericsson. Opiera się na próbkowaniu, cyfrowym kodowaniu dźwięku i wysyłaniu go w postaci pakietów wraz z danymi do centrali gdzie ma miejsce proces odwrotny.
pozwala przez zwykły kabel telefoniczny uzyskać stały dostęp do Internetu równocześnie nie blokując rozmów telefonicznych
maksymalna prędkość transmisji danych wynosi 115,2Kb/s i spada do 70 kb/s gdy równocześnie prowadzona jest rozmowa telefoniczna
możliwa gdy długość kabla od abonenta do centrali nie przekracza ok. 15km
HIS jest oferowany przez TPSA jako SDI (Stały dostęp do Internetu) za zryczałtowaną opłatą.
Linia cyfrowa ADSL
Ograniczenia na prędkość transmisji sygnału po łączach zaprojektowanych 100 lat temu wyłącznie do analogowej transmisji głosu można znacznie przekroczyć jeśli z tych rozwiązań pozostawi się tylko miedziany kabel i to niezbyt długi.
Na koncepcji takiej opiera się ADSL (Asymmetric Digital Subscriber Line). Jest to technologia cyfrowa opracowana z początkiem lat dziewięćdziesiątych, pozwalająca na przesyłanie równocześnie danych cyfrowych i dźwięku po zwykłym telefonicznym kablu.
pozwala przez kabel telefoniczny uzyskać stały dostęp do Internetu i niezależnie zwykłą linię telefoniczną lub nawet telefoniczną linię cyfrową zgodną z ISDN
maksymalna prędkość transmisji danych wynosi od 256Kb/s do 9Mb/s przy przesyłaniu danych tylko do abonenta oraz 16Kb/s do 640Kb/s przy ruchu dwustronnym
prowadzenie rozmowy telefonicznej nie obniża prędkości transmisji danych
możliwa prędkość transmisji danych zależy od jakości kabla telefonicznego oraz jego długości (max 5.5km), a także wersji stosowanej technologii ADSL
ADSL jest oferowany przez TPSA jako Neostrada za zryczałtowaną opłatą zależną od dostępnych prędkości transmisji
Dostep poprzez telewizje kablowa
Jest interesującą alternatywą dla dostępu poprzez linię telefoniczną.
Bardzo popularny w USA.
daje prędkość 512Kb/s do odbiorcy i 128Kb/s od odbiorcy, a w wersji światłowodowej do 10Mb/s
w Polsce w powijakach
Dostep poprzez siec energetyczna
jest obiecującą perspektywą. Prace nad wdrożeniem takiego systemu są intensywnie prowadzone w Europie i USA. Pierwsze eksperymentalne sieci tego typu już działają.
Technologie bezprzewodowe
Technologia IrDA
Jest to technologia opracowana w 1993 r. przez Infrared Data Association (IrDA).
Umożliwia przesyłanie danych w paśmie podczerwieni z prędkością do 4Mb/s na odległość do 1 m.
Pomiędzy komunikującymi się urządzeniami nie może być przeszkód
Technologia ta ma na celu pozbycie się kabli w naszym najbliższym zasięgu
Technologia Bluetooth
Bluetooth to technologia opracowana w latach 90-tych przez firmę Ericsson z myślą o umożliwieniu komunikacji na niewielką odległość ( do 10m) różnych urządzeń elektronicznych.
prędkość transmisji wynosi od 64Kb/s do 432Kb/s
stacja nadawczo-odbiorcza zajmuje około 1cm2 i jest bardzo tania
podobnie jak IrDA pozwala na pozbycie się kabli w naszym najbliższym zasięgu.
w przeciwieństwie do IrDA nie wymaga, by komunikujące urządzenia się widziały
Sieci radiowe LMDS
LMDS (Local Multipoint Distribution Service - sieć lokalna dostępu wielopunktowego) to technologia umożliwiająca łączenie komputery w sieć poprzez fale radiowe.
Wykorzystuje transmisję radiową w paśmie 28 GHz
zasięg od 2 do 5 km
prędkość od 32Kb/s do 4Mb/s
między nadajnikiem, a odbiornikiem nie może być przeszkód
System składa się ze stacji bazowej i komunikujących się z nią niewielkich stacji odbiorczych, które komunikują się z komputerami poprzez port Ethernet.
Dostep przez satelite
W miejscach odległych od skupisk ludzkich możliwość dołączenia do sieci daje sygnał radiowy z satelity.
pozwala na osiągnięcie prędkości do 2.5Mb/s, ale tylko w stronę odbiorcy
do ruchu od odbiorcy konieczny jest dostęp tradycyjny przez modem lub bardzo droga antena nadawcza
1