Ajde malo da razjasnimo:
1. U kukiju se cuva ID sesije i to je tacno, kuki se zove npr PHPSESSID i sadrzi onaj veelikihexadekadnibroj_tjidsesije
STA SE DESAVA TACNO:
ti kucas u browseru www.example.com (to je kulturna adresa za primere tek da se zna posto su test.com i ostalo validni domeni)
normalno mrzelo te da se cimas i kucas
http://www.example.com
jos manje da kucas
http://www.example.com:80
a ponajmanje
http://www.example.com:80/
STA SAD RADI TVOJ BROWSER
nadje IP na osnovu www.example.com i kaci se na port 80 na tom IP-ju, veza se uspostavlja i on salje zahtev za stranom
koji izgleda ovako
GET / HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*
Referer: http://www.rekaomizika.com/linkovi.html
Accept-Language: sr,en-us;q=0.7,en-gb;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: www.example.com
Proxy-Connection: Keep-Alive
Znaci to je zahtev za dokumentom / ,
server ce vratiti obicno index.html, index.htm, default.asp, index.jsp
DirectoryIndex -- Apache
Enable Default Document - Microsoft PWS, nisam siguran za IIS ali mislim da se isto zove
ako ne postoji nijedan od navedenih onda ce ako je dozvoljeno u podesavanju servera
vratiti spisak fajlova u direktorijumu sredjen na neki lep nacin konsultuj dokumentaciju.
Objasnjenje polja
Accept: sta je sve browser u stanju da prikaze, ako naprimer nece da prikaze GIF jer je on negde zakonom zasticen,
onda ces morati da saljes png slike itd
Referer: odakle je browser saznao za tu adresu. To ti je prilika da radis affiliate programe tipa ti meni (Ziki) pare
zato sto sam ja rekao ljudima za tvoj sajt svaki klik X para pa prebijemo na kraju
Accept-Language: koje jezike razume browser(korisnik). zato imas google na srpskom/hrvatskom zavisi sta si stavio u regional settings.
ja to obicno koristim da korisnika sa ex-yu teritorije bacim na srpsku verziju sajta bez potrebe da bira jezik
na pocetku i klikce na blesave zatave.
Accept-Encoding: to je valjda ono da moze server da zipuje dosadni html koji ide kroz mrezu takav pa ga browser onda otpakuje.
zato stranicu ne vidis polako kako dolazi vec se odjedanput pojavi
User-Agent: koji je browser u pitanju i operativni sistem, tako da mozes (ako moras) da prikazujes razlicite verzije za razlicite browsere. Vidis kako
moj IE rosno laze da je Mozilla
Host: na toj IP adresi je mogao da bude i jos neki sajt, www.examlpe.org, www.example.net pa server mora da zna sta ti hoces
EVO STA VRACA SERVER
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Tue, 08 Jul 2003 11:30:01 GMT
Content-type: text/html
X-Powered-By: PHP/4.3.2
Set-Cookie: PHPSESSID=040a5054a9e43f54f858d67777c1e8be; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Kaze prvo da je kod 200 i odma ga opisuje tj OK imas jos i odgovore
204 no content
301 Moved permanently
302 Moved temporarely
304 Not moved since last request
400 Bad request
401 Unauthorized (tada ti broser trzi da se isprsish za username i pwd)
403 Forbidden (kad nisi dao username i password)
404 Not found
500 Internal server error
Nemoj da si lenj, trazi po internetu spisak i objasnjenje kodova koji ti trebaju
Zatim kaze ko je (Server:)
Datum servera
Content-type: sta je to sto ti salje da bi browser znao kako da prikaze te bajtove koji mu stizu
moze jos da bude i image/gif, image/jpeg, audio/mpeg itd.
X-Powered-By: to je experimentalno polje(jos uvek valjda) u ovom slucaju kaze ti da je php umesao svoje prste u pricu
Set-Cookie: Ime kolaca i vrednost u obliku ime=vrednost, putanja kojoj kolac pripada
2. Ako cika/teta koji gledaju NIJE ODOBRIO-LA kukije u browseru onda mora da postoji nacin da tvoja aplikacija i dalje radi.
Jedan od njih je da ili ti ehujes na svakom linku
link
ili da php to sam radi tako da prilikom obrade
strane trazi tagove i da u njih sam ubacuje SID=veelikibrojsesije, samo pazi se ovoga
jer PHP nije svemocan pa ces morati sam da se brines za flash animacije, java aplete i slicne stvari
Medjutim ako je cika/teta ODOBRIO-LA kukije onda ce svaki sledeci zahtev za stranama, slikama itd izgledati otprilike ovako
GET /images/edit22.png HTTP/1.0
Accept: */*
Referer: http://www.exaple.com/index.php
Accept-Language: sr,en-us;q=0.7,en-gb;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: localhost
Proxy-Connection: Keep-Alive
Cookie: PHPSESSID=040a5054a9e43f54f858d67777c1e8be
Vidis sad kako se kuki kulturno salje cak i kada se trazi slika, a kamoli ostale strane.
sto se tice podataka u sesiji oni se cuvaju obicno u fajlovima na serveru fajlovi imaju oblik
sess_veelikihexadekadnibroj_tjidsesije kao naprimer sess_040a5054a9e43f54f858d67777c1e8be
i kad ti kazes
session_start()
onda php otvori fajl(ako ne postoji kreira ga) i procita i predstavi te promenljive kao globalne ili ih stavi u NIZ
_SESSION ili $HTTP_SESSION_VARS , zavisi od verzije PHP-a i podesavanja istog
kad kazes
session_register(imepromenljive)
onda php otvori fajl sess_veelikihexadekadnibroj_tjidsesije i tamo nadje promenljivu sa imenom
imepromenljive i onda joj dodeli novu vrednost
kad kazes
session_destory()
onda se ceo fajl sa podacima o sesijskim promenljivama brise sa servera
kad kazes
$idsesije=session_id()
onda mozes da saznas koji je to veelikihexadekadnibroj_tjidsesije
Koristice ti program
HttpTracer
http://www.lazydogutilities.com
koji ce ti otkriti sta to browser i server pricaju a da ti ne znas.
Voleo bih da jos neko doda i ispravi ovo sto sam napisao da bi i ostali mogli na jednostavniji nacin da nauce
kako to WEB radi.
npr
POST zahtev,
skidanje fajlova iz vise konekcija(Range: polje zahteva)