Programiranje za Internet I
Struni studij raunarstva - epe
kolska godina 2011/12
k. God. 2004/05Programiranje za Internet
Sadraj predmeta
Dinamike i interaktivne Web stranice, korisniki i posluiteljski skript jezici, izvrni programi.
Skriptni korisniki jezici: Osnove JavaScripta. Razlika izmeu Jave i JavaScriptaJavaScript i HTML. VBscript.
Skriptni posluiteljski jezici: Osnove skriptnih jezika Perl i PHP.
Izvrni programi: Primjena Java programskog jezika u Internet programiranju.
Ukljuivanje Java programa u HTML dokument. Apleti. Servleti. Parseri i Java API za XML. SAX (Simple API for XML), DOM (Document Object Model), JDOM.
CGI programiranje: Pisanje CGI izvrnih programa u C-u i C++.
ASP (ActiveServerPages): ASP za dinamiko generiranje XML dokumenta iz baza podataka i drugih dokumenata.
Baze na Internetu: Organizacija baze i pristup bazama skriptnim i izvrnim programima.
Relacijske baze (SQL). Strukturni Query jezici.
Primjeri baza: mySQL, Acces.
E-poslovanje i sigurnost:On-line prodaja.Sigurnost i kriptografija.Primjeri sustava e-
poslovanja.
k. God. 2004/05Programiranje za Internet
Ostalo o predmetu
Literatura:
D.Flanagan: JavaScript - The Definitive Guide, O'Reilly, USA,
1998.
L.Atkinson: Core PHP programming, Prentice Hall, New Jersey,
2000.
B.McLaughlin: Java and XML, O'Reilly, USA, 2000.
H.M.Deitel, P.J.Deitel, T.R.Nieto: Internet and World Wide Web -
How to Program, Prentice Hall, New Jersey, 2000
Razni materijali : http://www.fsr.ba/internet/
WWW stranice predmeta:
http://www.fsr.ba/internet/
k. God. 2004/05Programiranje za Internet
Ostalo o predmetunastavak
Nastava Nositelj predmeta: prof. Milenko Obad, prof. Maja tula
Asistent: Ivan Krasi, ivan.krasic[at]tel.net.ba
Oblici nastave: Predavanja (dostupno na web-u)
Laboratorijske vjebe (na raunalu neretva.fsr.ba)
Nain polaganja: Preduvjet: odraenevjebe
Usmeni i pismeni ispit (?)
Seminar/kolokvij opcionalno,
Raspored i teme lab.vjebi http://www2.fsr.ba/internet/
http://neretva.fsr.ba
Okvirni plan rada
Laboratorijske vjebe:
1. HTML + CSS
2. PHP
3. Instalacija radnog i razvojnog okruenja (XAMPP ili WAMP).
4. PHP + MySQL
5.
k. God. 2004/05Programiranje za Internet
Ocjenjivanje i polaganje
Tijekom trajanja kolegija [ % ]
Dolasci i aktivnost [0-20]
Labos zadaci i domae zadae [0-20]
Mini projekt [0-20]
Predispit [0-40]
Nakon zavretka kolegija
Pismeni ispit
k. God. 2004/05Programiranje za Internet
k. God. 2004/05Programiranje za Internet
Uvod
Osnovni pojmovi: programiranje i program
Pod pojmom programiranje smatramo proceduru, postupak rjeavanja odreenog problema.
Program predstavlja rezultat postupka programiranja. To je niz naredbi koje
se slijedno izvravaju obavljajui pritom neki zadatak .
Odnos interneta, intraneta i Interneta:
Naziv internet s malim poetnim slovom predstavlja openito mreu dviju ili vie mrea.
Naziv Internet s velikim poetnim slovom predstavlja Internet mreu kao globalni informacijski sustav. Oznaava i Internet protokol (Internet Protocol IP), odnosno Internet arhitekturu (obitelj protokola, protokolarni sloaj ). Navodi se i TCP/IP arhitektura, prema najvanijim protokolima, Transmission Control Protocol (TCP) i Internet Protocol IP.
k. God. 2004/05Programiranje za Internet
Uvod nastavak
Naziv intranet predstavlja privatnu mreu unutar nekog npr. poduzea ili organizacije, i obino je od ostalih mrea odijeljena vatrozidom (firewall).
Internet, kao globalni informacijski sustav, logiki je povezan jedinstvenim adresnim prostorom temeljenim na IP-u.
Komunikacija se temelji na TCP/IP skupu protokola te njihovim proirenjima i nasljednicima, a usluge viih slojeva (aplikacije) se temelje na infrastrukturi i komunikaciji navedenih slojeva.
intranet je vrsta interneta, a internet moe ali ne mora koristiti TCP/IP, i moe ali ne mora biti dio Interneta.
k. God. 2004/05Programiranje za Internet
Internet i TCP/IP
Referenentni model TCP/IP
protokola, koji prua apstraktni pogled na mrenu arhitekturu, se temelji na slojevitom pristupu
tako da svaki sloj koristi usluge
niih slojeva i prua usluge viim slojevima. (TCP/IP sloaj) sa pripadajuim protokolima prikazan je sljedeom slikom...
k. God. 2004/05Programiranje za Internet
Internet i TCP/IPnastavak
k. God. 2004/05Programiranje za Internet
Internetske usluge
k. God. 2004/05Programiranje za Internet
Adresiranje na Internetu
Svako raunalo koje je spojeno na Internet treba imati jedinstvenu identifikaciju. Ta jedinstvena identifikacija je jedinstvena IP adresa. IP
adresa ima format:
aaa.bbb.ccc.ddd
gdje su aaa, bbb, ccc i ddd su decimalne vrijednosti pojedinog okteta
32-bitne rijei, gdje je oktet aaa najvee teine a oktet ddd najmanje teine.
Decimalne vrijednosti pojedinog okteta IP adrese su u rasponu od 0-
255. Npr. IP adresu 212.39.99.55
moemo promatrati i na sljedei nain:
k. God. 2004/05Programiranje za Internet
Adresiranje na Internetunastavak
IP adresa (32 bita) se, radi lake izvedbe usmjeravanja, sastoji od dva dijela:
Mrenog dijela adrese (NetID)
Raunalnog dijela adrese (HostID),
te je openiti oblik IP adrese sljedei:IP adresa=
Mreni dio odreuje pojedinu mreu na Internetu dok raunalni dio odreuje pojedino raunalo u toj mrei.
Prilikom odreivanja i dodjeljivanja adrese nekom raunalu taj broj se ne moe odabrati proizvoljno ve postoje strogo definirana pravila po kojima se ona odreuje a ta pravila odreuje mrea na koju se raunalo prikljuuje.
k. God. 2004/05Programiranje za Internet
DNS
Ve prije spomenuto Internet adresiranje koristi numeriko adresiranje kao jedinstveno i globalno identificiranje raunala u Internet mrei.
Meutim, pamenje i koritenje numerikih adresa za ljude nije 'najprihvatljivije' rjeenje.
Radi toga su uvedene adrese koje se temelje na simbolikim imenima. Znai raunala (numerike adrese ,IP adrese) dobivaju svoja imena (simbolike adrese).
Ta su imena hijerarhijski organizirana u domene.
Domena je logiki skup raunala grupiranih unutar administrativnih jedinica. To su posebne organizacijske cjeline koje se brinu za
pojedine domene, organizirane u hijerarhijske i distribuirane sustave
tzv. DNS-ove. Npr.neretva.fsr.ba=212.39.96.76
k. God. 2004/05Programiranje za Internet
DNSnastavak
FQDN (Fully Qulaified Domain Name) je potpuno ime domene,
jednoznano specificira logiku lokaciju raunala u Internetu., te ima potpunu hijerarhijsku organizaciju:
raunalo.poddomena.organizacija.domena
Npr. domena laris.fesb.hr je organizirana na sljedei nain, zadnja oznaka oznaava domenudrave (hr), (fesb) oznaava organizaciju a (laris) konkretno raunalo.
Imena raunala su opisana i specificirana u dokumentima RFC 1178, 2100.
Format imena raunala su dakle oznake meusobne odvojene tokom, npr.:
Laris.fesb.hr, tel.net.ba
k. God. 2004/05Programiranje za Internet
DNSprostor domenskih imena
Domenski prostor Bosne i Hercegovine kontrolira Univerzitetski centar
Sveuilita u Sarajevu, na adresi http://www.nic.ba
k. God. 2004/05Programiranje za Internet
Dodatni materijali
Pripreme za lab.vjebe na adresi:
http://www.fsr.ba/internet/pripreme01-
uvod_u_internetske_usluge.pdf
Ostalo
www.icann.org
www.carnet.hr
www.utic.ba
k. God. 2004/05Programiranje za Internet
WWW (World Wide Web)
WWW terminologija i tehnologija
WWW World Wide Web raspodijeljeni hipermedijski sustav
HTML Hypertext Markup Language izvorni jezik za pisanje dokumenata za Web, bogat skup oznaka za formatiranje I strukturiranje dokumenata
URL Uniform Resource Locator adresa resursa na Webu
HTTP Hypertext Transfer Protocol skup pravila koja definiraju komunikaciju izmeu Web preglednika i Web posluitelja, jednostavna izvedba I slaba uinkovitost
WORLD WIDE WEB
Globalni, interaktivni, dinamini, raspodijeljeni hipermedijski informacijski sustav
hipermedij = hipertekst + multimedija (zvuk, video,animacija )
nelinearne i nehijerarhijske veze izmeu Web stranica
Web dokumenti mogu sadravati razliite vrste medija
..
k. God. 2004/05Programiranje za Internet
WWW arhitektura
WWW arhitektura klijent/posluitelj (client/server)
Arhitekturu sainjavaju razliiti posluitelji na Internetu koji sadre WWW dokumente i omoguuju klijentima pristup takvim stranicama.
Pristup tim dokumentima obavlja se putem HTTP protokola.
Komunikacija se temelji na HTTP Request/Response modelu.
Posluitelj mora klijentu ili vratiti traeni resurs (datoteku, rezultatizvoenja programa...) ili mu dati poruku o rezultatu njegovog zahtjeva
WEB klijentWEB
posluitelj
Zahtjev (URL)
Odgovor (sadraj)
WWW
k. God. 2004/05Programiranje za Internet
WWW Server
TCP TCP
IP IP
ETERNET ETERNETETERNET
IP
ROUTER
IE
HTTP
k. God. 2004/05Programiranje za Internet
Uloge u WWW arhitekturi
U WWW komunikaciji razlikujemo sljedee uloge:
k. God. 2004/05Programiranje za Internet
Pojmovi tekst i hipertekst 1/2
Tekst je dokument ili ''informacija namijenjena komuniciranju meu ljudima koja moe biti prikazana u dvodimenzionalnom obliku
Tekst se sastoji od grafikih elemenata kao to su znakovi, geometrijski likovi, fotografski elementi ili njihova kombinacija , koja
onda ini sadraj dokumenta.'' ...(ISO definicija)
Unutar svakog teksta razlikujemo dvije formalne strukture:
logika struktura ili logiki izgled opisuje organizaciju sadraja teksta (to su jedinice kao npr. naslovi, podnaslovi i sl.)
grafika struktura ili grafiki izgled opisuje organizaciju teksta u pisanom obliku (npr. stupac teksta, red teksta, stranica teksta i sl.)
Ove dvije strukture su neovisne.
k. God. 2004/05Programiranje za Internet
Pojmovi tekst i hipertekst 2/2
Hypertext
..Ili web (www) dokument je dokument sastavljen od tekstualnih i grafikih elemenata koji sadri veze, ili poveznice (eng. links) prema drugim dokumentima ili na samog sebe.
To je skup stranica u obliku datoteka, meusobno povezanih poveznicama koje se nalaze unutar tih stranica.
Za razliku od obinog teksta (slijeva nadesno i sl.), hypertext se ita pratei poveznice, tj. ne nuno na linearan nain.
Jezici za opisivanje dokumenata
Slue za definiranje opisa i sadraja nekog teksta(SGML, PostScript, RTF..).
Jezici za opisivanje hypertext-a
Slue za definiranje opisa hypetext-ulnih struktura nekog teksta, logike strukture teksta i poveznica meu njima (SGML, HTML, XHTML, XML...???)
1. HTML
HyperText Markup Language
k. God. 2004/05Programiranje za Internet
HTML definicije
HTML (HyperText Markup Language)
Jezik za definiranje strukture WWW stranica tj.prikaz i strukturu sadraja.
Podskup SGML standarda, nije programski jezik!
Ne vri obradu nad vanjskim podacima
tag, kod koji identificira element u dokumentu kao to je npr. paragraf, zaglavlje, poveznica ili slika. Tag openito ima oblik , gdje atributi slue za formatiranje elementa (boja, veliina, poravnavanje...). Sadri upute pregledniku kako prikazati sadraj unutar tagova, tj. tagovi ne definiraju znaenje sadraja ve nain prikaza
I podaci i tagovi (markup) dio su iste datoteke
Mogui otvoreni i ukrieni tagovi, tag-ovi dolaze u parovima
Programiranje u HTML-u svodi se na stavljanje dodatnih oznaka uz korisnu informaciju koje upuuju preglednik to treba uiniti s odreenom cjelinom (tekst, slika..)
k. God. 2004/05Programiranje za Internet
Povijest HTML-a
Razvoj HTML-a
GML - Generalized Markup Language, IBM, 1969.
SGML - ISO 8879 Standard Generalized Markup Language, 1986.
HTML Version 1 (1992-3), osnovna HTML struktura, hipertekst
HTML Version 2 (1994), formulari, liste
HTML Version 3.2 (1996-7), tabele, apleti, skripte, CGI
programiranje, sigurnost
HTML Version 4.x (1998), inline frames
XHTML , XML (1998) Extensible Markup Language.???
k. God. 2004/05Programiranje za Internet
Nastavak HTML
Primjer HTML dokumenta:
Naslov dokumenta
Ovdje ide tekst...
....
HTML
dokument
Zaglavlje
Tijelo
k. God. 2004/05Programiranje za Internet
Primjeri HTML-a
Primjer poveznica prema nekom drugom dokumentu
< A HREF ="http://www.fsr.ba">Fakultet strojarstva i raunarstva
Poveznica unutar istog dokumenta pomou sidra (engl. anchor)
< A HREF ="http://www.fsr.ba#o_nama">O nama
poziva se ovaj dio:
Ovo je dio teksta o nama
Primjer umetanja slike u dokument
Ostali tagovi
Glavni naslov
Podnaslov
Kurziv
Podebljani tekst
k. God. 2004/05Programiranje za Internet
HTML tablice
Pojava tablica predstavlja jedan od vanijih trenutaka u razvoju HTML standarda, putem te strukture moglo se
opisivati i prikazivati podatke u tablinom obliku koji je otprije poznat iz podruja oblikovanja 'obinog' teksta.
Tablice se dekliniraju putem temeljne oznake,
opisuju se preko polja, redak po redak (), a unutar
pojedinog retka definiraju se stupci ili kolone ().
Sve ove oznake obavezno posjeduju otvarajui i zatvarajui tag.
Postoji jo i tag koji oznaava naslovnu eliju(e), najee stupci u prvom retku tablice.
k. God. 2004/05Programiranje za Internet
HTML tablicenastavak
Datum
Ispit
Dvorana
25.06.2004
Programiranje za Internet
A123
14.07.2004
Programiranje
A111
k. God. 2004/05Programiranje za Internet
HTML obrasci
Obrasci ili forme (forms) predstavljaju mogunost dvosmjernog komuniciranja izmeu korisnika i WWW posluitelja, znai slanje i primanje podataka u oba smjera.
Prvi obrasci su se pojavili 1992 god,. kao dio specifikacije HTML 2.0, a postupno su se nadograivali novim svojstvima i mogunostima.
Koritenjem obrazaca u CGI (Common Gateway Interface-) programima omogueno je dvosmjerno komuniciranje na relaciji korisnik-WWW posluitelji, obrada podataka i vraanje istih korisnika.
Pojava ovih obrazaca predstavlja jedan od vanijih trenutaka WWW-a, otvorilo je mnogo novih mogunosti i u kombinaciji prvo sa CGI mehanizmima, a danas sa svim koritenim tehnologijama, te je znailo je ulaz u naprednije internetske servise kakve poznajemo danas (e-trgovina, naprednije aplikacije, pretraivanje i sl.)
Osnovna oznaka za obrasce(ili forme) je i ona je oblika:
k. God. 2004/05Programiranje za Internet
HTML obrascinastavak
unos podataka
izborna lista
opcija izborne liste pojavljuje se unutar SELECT oznake,
zatvarajui tag moe biti opcionalan
ulazno polje za unos teksta, sadrava obian tekst
k. God. 2004/05Programiranje za Internet
HTML okviri (frames)
Okviri su dio HTML specifikacije od verzije 3.2 a potpuno
su podrani od verzije 4.0 iako se vodi dosta rasprava o njihovom statusu u sljedeim standardizacijskim fazama (HTML 4.01 Strict, XHTML i sl.).
Okviri su omoguili da se unutar istog prozora preglednika pojavi nekoliko HTML dokumenata, logiki podijeljeni u zasebne prozore gdje se unutar svakog tog prozora
pojavljuje po jedan HTML dokument.
Ukoliko preglednik podrava okvire on e interpretirati podjelu tekueg prozora unutar vie okvira (podprozora), ve prema uputama kakve mu proslijedimo u naoj konstrukciji.
k. God. 2004/05Programiranje za Internet
HTML okviri (frames)primjer
Primjer okvira
Glavni okvir
Lijevi Gornji okvir
k. God. 2004/05Programiranje za Internet
Prednosti i nedostaci HTML-a
Prednosti:
lako se ui i koristi,
najpopularniji prezentacijski jezik
velik broj WYSIWYG alata
Nedostaci:
ogranien skup tagova - nije proiriv
standardi se presporo mijenjaju/li (rat preglednika, nekad)
nije mogue izravno ponovno iskoristiti dokumente
ne omoguuje uinkovito pretraivanje sadraja
prua samo jedan pogled na podatke
ne omoguuje komunikaciju izmeu aplikacija
k. God. 2004/05Programiranje za Internet
Ostalo o HTML-u
Pripreme za lab.vjebe na adresi:
http://www.fsr.ba/internet/pripreme02-HTML.pdf
Ostalo
www.w3shoools.com
2. CSS
Cascading Style Sheets
k. God. 2004/05Programiranje za Internet
CSS uvod
CSS (Cascading Style Sheets) je standard, skup pravila i stilova iz
podskupa DTHML (Dynamyc HTML) standarda ija je osnovananamjera definiranje izgleda HTML elemenata i nain njihovogprikazivanja.
Prva CSS specifikacija definirana je 1996 god. u okviru W3
konzorcijuma (verzija 1.0), zatim se tijekom 1998 god. Pojavila verzija
2.0 a trenutna verzija koja se nalazi u fazi standardizacije je 3.0.
Razlozi koji su prethodili jednoj ovakvoj specifikaciji bili su prije svega
slabe mogunosti formatiranja i pozicioniranja HTML sadraja.
Pojavom CSS kaskadnih stilova omogueno je definiranje izgleda pojedinog HTML dokumenta neovisno o sadraju tog dokumenta, ili drugim rijeima, jedan oblik razdvajanja sadraja od prezentacije.
k. God. 2004/05Programiranje za Internet
CSS prednosti
Prednosti koje se dobivaju kaskadnim stilovima su: Daleko vee mogunosti odreivanja svojstava pojedinih HMTL
elemenata
Izgled vie HTML dokumenata moe se promijeniti izmjenamasamo na jednom mjestu
Definiranje prezentacije ovisno o mediju (ekran, mobilni ureajpisa itd.)
Djelomina mogunost odvajanja sadraja od prezentacije
Problemi prilikom koritenja CSS stilova unutar HTMLdokumenata su najee vezane uz:
nekompatibilnost HTML preglednika, to je naroito bilo izraeno upoetku pojave ove specifikacije, ali se i danas (npr. v2.0), te se prilikomkoritenja ovih definicija i ova pitanja trebaju razmotriti i uzeti u obzirprilikom izrade bilo kakvih HTML dokumenata.
k. God. 2004/05Programiranje za Internet
Funkcioniranje CSS-a
Nain funkcioniranja CSS svodi se u tome da se za pojedini HTML element definiraju eljena svojstva tj. pravila. To definiranje vri se putem CSS selektora.
Uloga CSS selektora je da izaberu (selektiraju) HTML elementi na
koje se onda primjenjuju pojedini stilovi vizualna svojstva koja taj element posjeduje.
Nakon to se pomou selektora odredi kojim HTML elementom se eli manipulirat definiraju se svojstva tog elementa. Ona se definiraju
pomou deklaracijskog bloka koji moe imati od jednu do vie deklaracija. Svaka deklaracija se sastoji od dva dijela:
oznake svojstva, te
vrijednosti svojstva.
Shema jedne ovakve deklaracije (CSS sintaksa) je prikazana na
sljedeoj slici:
k. God. 2004/05Programiranje za Internet
k. God. 2004/05Programiranje za Internet
CSS openito
Selektori koji se primjenjuju su (vie o njima u iduem poglavlju):
Selektori HTML oznaka
Selektori klase
ID selektori
Pseudo selektori
CSS je, kao i HTML, takoer case-insensitive definicijski jezik (dakle neosjetljiv na mala i velika slova)
CSS komentari se unutar CSS deklaracija navode kao:
/* Ovo je komentar u CSS deklaraciji */
Primjena CSS specifikacija u HTML dokumentima mogue je na 3 naina:
Neposredno uz tekst unutar HTML oznake (inline style sheet)
Unutar HEAD sekcije HTML dokumenta (internal-embedded style sheet )
Unutar zasebne CSS datoteke (external style sheet)
k. God. 2004/05Programiranje za Internet
CSS primjeri
Primjer 1.1: Umetanje CSS stila uz tekst unutar HTML oznake (inline style
sheet):
Ovakvo umetanje vri se na sljedei nain:
Tekst na koji se primjenuje stil
Ovakvom definicijom smo definirali da je tekst unutar oznake veliine 12 pixela i boje #CC0000 u RGB formatu.
Nedostatak ovakvog definiranja je to se za svaku HTML oznaku mora pisati poseban stil.
Primjer 1.2 Koritenje CSS definicija unutar HEAD sekcije (internal-embedded
style sheet ):
k. God. 2004/05Programiranje za Internet
CSS primjeri 2
BODY { color:blue; margin:0px;}
P {font-size:12px; color:#CC0000;}
Primjer primjene stila na pozadinu i paragraf ispod
Tekst na koji se primjenjuje stil
k. God. 2004/05Programiranje za Internet
CSS primjer 3
Primjer 1.3
Koritenje vanjske CSS definicije (external style sheet):
Vanjska CSS datoteka je plain-text dokument sa
ekstenzijom .css, u kojemu se onda nalaze specifikacije
stilova i HTML oznaka.
Mogue je imati jednu ili vie vanjskih datoteka, koje mogu biti koritene od jedne ili vie HTML datoteka, u koje se ukljuuju unutar HEAD sekcije na jedan od sljedeih naina:
< link rel="stylesheet" type="text/css" href="ime_datoteke.css">
@import url(ime_datoteke.css)
k. God. 2004/05Programiranje za Internet
CSS selektori
Selektori koji se primjenjuju su:
Selektori klase (Class selector)
[HTML Oznaka].SelektorKlase { Svojstvo:Vrijednost;}
ID selektori (ID selector)
[HTMLOznaka]#IDSelektor { Svojstvo:Vrijednost;}
Pseudo selektori (Pseudo selector)
Selektori HTML oznaka-tagova
HTMLOznaka {Svojstvo:Vrijednost;}
k. God. 2004/05Programiranje za Internet
CSS selektori klasa
.right {text-align: right}
.center {text-align: center}
Primjer primjene stila paragrafa iz CSS definicije:
Ovaj paragraf e biti poravnat desno.
Ovaj paragraf e biti centralno poravnat.
k. God. 2004/05Programiranje za Internet
CSS ID selektori
#right {text-align: right}
#center {text-align: center}
Primjer primjene stila paragrafa iz CSS definicije:
Ovaj paragraf e biti poravnat desno.
Ovaj paragraf e biti centralno poravnat.
k. God. 2004/05Programiranje za Internet
CSS pseudo-selektori
Ove pseudo
selektore(klasa)
koriste se za
poveznice (HTML
tag: ) i one
odreuju kako e poveznice (linkovi)
izgledati u nekom
HTML dokumentu.
body {color:blue; background:#FFFFFF; }
A:link { color: red; background:#FFFFFF }
A:visited { color: green; background:#FFFFFF }
A:hover { color: blue; background:#FFFFFF }
A:active { color: grey; background:#000000 }
Primjer primjene stila paragrafa iz CSS definicije:
Ovo je primjer povezivanja:
Link na Neretvu
Link na FSR
k. God. 2004/05Programiranje za Internet
CSS selektori HTML oznaka
Koriste se ukoliko se za sve oznake pojedine HTML oznake eli definirati odreeni stil, opa sintaksa takve definicije je:
BODY { color:blue; margin:0px;}
P {font-size:12px; color:#CC0000;}
Primjer primjene stila na pozadinu i paragraf ispod
Tekst na koji se primjenjuje stil
k. God. 2004/05Programiranje za Internet
Ostalo o CSS-u
Pripreme za lab.vjebe na adresi:
http://www.fsr.ba/internet/pripreme03-CSS.pdf
Ostalo
www.w3shoools.com
3. HTTP
HyperTexT Transfer Protocol
k. God. 2004/05Programiranje za Internet
HTTP openito
Protokol aplikacijskog sloja, koristi TCP, port 80
Verzije HTTP protokola:
RFC 1945 - HTTP/1.0 - nije standard!
RFC 2616 - HTTP/1.1 (naslijedio RFC 2068)
Arhitektura klijent/posluitelj
Ne uva stanja (stateless)!
Tipina sesija:
Otvaranje veze
Zahtjev
Odgovor
zatvaranje veze (kod HTTP/1.0)
k. God. 2004/05Programiranje za Internet
HTTP komunikacija
Uspostava konekcije klijent kontaktira posluitelj uspostavljanjem TCP konekcije, najee na portu 80 (po default-u)
Slanje zahtjeva ( request) zatim klijent prema posluitelju alje poruku sa zahtjevom, pritom zahtjevajui uslugu. Izgled i format poruke obraen je u narednom poglavlju
Slanje odgovora ( response) posluitelj alje odgovor prema klijentu. Izgled i format odgovor takoer su obraeni u narednom poglavlju.
Zatvaranje konekcije zatvara se ukoliko je tako traeno.
k. God. 2004/05Programiranje za Internet
HTTP zahtjev
k. God. 2004/05Programiranje za Internet
HTTP zahtjev primjer
GET http://www.google.com/ HTTP/1.0
Accept: */*
Accept-Language: hr
Host: www.google.com
Pragma: no-cache
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
5.1; Q312461)
k. God. 2004/05Programiranje za Internet
HTTP odgovor
k. God. 2004/05Programiranje za Internet
HTTP odgovor primjer
HTTP/1.0 200 OK
Cache-Control: private
Content-Length: 2809
Content-Type: text/html
Date: Thu, 24 Jun 2004 09:31:12 GMT
Proxy-Connection: close
Server: GWS/2.1
X-Cache: MISS from dns1.tel.net.ba
...
k. God. 2004/05Programiranje za Internet
URL (Uniform Resource Locator)
identifikacija resursa u mrei
URL openito:
protokol://raunalo:port/putanja/datoteka#sidro
protokol: http, ftp, telnet, https, mailto, news, gopher...
URI je dio URL-a: /putanja/datoteke#sidro
Primjeri:
http://www.fsr.ba/pre104/
https://studentskiserver:8080.com/
http://www.fsr.bal#programiranje/
ftp://ftp.serverzaskidanje.org/
k. God. 2004/05Programiranje za Internet
URL, URL, URN
URI ( Uniform Resource Identification) predstavlja standard za jedinstvenu identifikaciju resursa u mrei. Usvojen od strane konzorcija W3, opisan je u dokumentima RFC 2396 (1998 god.), te u dokumentu RFC 3986 (noviji dokument). Vano svojstvo je uniformnost, znai koritenje jedinstvenog zapisa koji omoguuje koritenje razliitih vrsta URI zapisa u istom kontekstu.
Uz pojam URI veu se jo dva pojma (slika 4.1): URL ( Uniform Resource Location) predstavlja jedinstvenu identifikaciju
resursa putem (najee mrene) lokacije. URL je podskup URI protokola (http://, ftp//, mailto:)
URN ( Uniform Resource Name) predstavlja jedinstveno identifikacijsko ime, odraava stroe zahtjeve za trajnost, moraju se odravati ak i kad resurs koje identificiraju nestane. URN identificira resurs ali ne govorim gdje se on nalazi. Npr. jedinstveni bibliotekarski broj izraen nizom urn:isbn:953-96360-2-7 jedinstveno identificira knjigu 'Unix i kako ga iskoristiti, M. agara, Zagreb 1997 god', ali ne govori gdje se ta knjiga nalazi.sl.).
4. Dinamike i statike prezentacije
k. God. 2004/05Programiranje za Internet
Razvoj WEB-a
Zamiljen kao veliki jednosmjerni medij za pristup statikim podacima, Web se sredinom devedesetih razvio u interaktivni medij temeljen na troslojnom
modelu klijent posluitelj.
Funkcionalnost
Stupanj interaktivnosti
Formulari
CGI skripte
Tabice
SHTML
DHTML
push
Javascript
Cookies
Sesssion
plug-in
ASP/PHP
Staticki
HTML
dokumenti
JavaBeans
Applets
CORBA
Mobile agents
ActiveX
k. God. 2004/05Programiranje za Internet
Statike i dinamike prezentacije 1/3
Statike web stranice:
Statike stranica - sadraj ini ist HTML kod, i ima estenziju .htm ili .html.
Sadraj stranice je unaprijed potpuno odreen.
Postupak prilikom kreiranja ovakvih stranica je sljedei:
Stranice se postavljaju na server(pisane u html kodu od
strane autora)
Klijent alje zahtjev za datotekom (web stranicom)
Server locira i inicijalizira traenu datoteku
Server alje traenu datoteku nazad klijentu
Web preglednik obrauje html kod i prikaziva dokument
k. God. 2004/05Programiranje za Internet
Statike i dinamike prezentacije 2/3
Dinamike web stranice:
Dinamike stranice - skup instrukcija koje se koriste za kreiranje HTML stranica koja se stvaraju dinamiki na zahtjev korisnika.
Web server - softver koji upravlja Web stranicama i stavlja ih na
raspolaganje "klijentovim" raunarima - preko lokalne mree ili Interneta.
Postupak prilikom kreiranja ovakvih stranica je sljedei:
Na strani Servera pie se skup instrukcija (skripta, eng. script)
Klijent alje zahtjev za datotekom (web stranicom)
Server inicijalizira datoteku sa instrukcijama
Server obrauje (interpretira ili kompajlira) instrukcije i stvara HTML kod
Server vraa HML kod nazad klijentu
Web preglednik obrauje html kod i prikaziva dokument
k. God. 2004/05Programiranje za Internet
Statike i dinamike prezentacije 3/3
Primjer dinamikog ukljuivanja prikazan je sljedeom slikom:
WEB klijent
WEB posluitelj
Podaci
Aplikacijski
posluitelj
Upit
Odgovor
Sloj prezentacije Sloj poslovne logike Podatkovni sloj
k. God. 2004/05Programiranje za Internet
Primjenjene tehnike programiranja
Ugradnja programskog koda u HTML dokumente prilikom realiziranja web
aplikacija mogue je na dvije razine, nivoa, strane:
Na strani servera-posluitelja (kod aplikacije se izvrava na strani servera)
Na strani klijenta (kod aplikacije izvrava se na strani klijenta)
Skriptni jezici
Skript je poseban program sastavljen od skupa instrukcija koje izvrava interpreter, pritom omoguuvajui obradu podataka i vraanje rezultata obrade.
Skript kojeg interpretira Web server-posluitelj zove se skript na strani servera -to je skup instrukcija koje obrauje server i koji stvara HTML. Rezultujui HTML se alje pregledniku kao dio HTTP odgovora.
Skript kojeg interpretira preglednik ita naziva se skript na strani klijenta -to je takoe skup instrukcija ali njegovu obradu ne vri Web server ve preglednik (alje se kao dio HTTP odgovora)
k. God. 2004/05Programiranje za Internet
Pregled tehnika
Na strani servera:
CGI (Common Gateway Interface) skripte
Java servleti
Skriptni serverski jezici:
PHP
Active Server Pages ASP Microsoft
Java Server Pages - JSP
itd..
Na strani klijenta:
Java Appleti (prenosi se bytecod)
Javascript
Vbscript...
.
k. God. 2004/05Programiranje za Internet
Aplikacijske tehnike WEB servera
Web posluitelj = programski paket
Dinamiko generiranje informacije preko:
pozvanog programa ili
aplikacijskog servera
Primijenjeni postupci:
Common Gateway Interface (CGI)
Server-Specific APIs
Servlets
Server-Side Includes (SSI)
Java Server Pages (JSP)