[ 18. November 1999]
- Svato_Straka
HTTP hlaviΦky a stavovΘ k≤dy - 3. Φas¥ CGI
V predchßdzj·cej Φasti sme si povedali o v²stupe CGI skriptu a aj Φo-to o http hlaviΦkßch. Dnes na spomφnan· tΘmu nadvia₧eme t²m Φo som s╛·bil minule - stavov²mi k≤dmi http po₧iadaviek.
V RFC 2616 z j·na 1999 (HTTP 1.1) sa hovorφ, ₧e stavov² k≤d je trojmiestne celΘ Φφslo, ktorΘ je nßvratov²m k≤dom http po₧iadavky. Je k nemu pripojenß "Reason Phrase" - nßvratovß frßza, skrßtene popisuj·ca odpove∩ servra na po₧iadavku (Φosi ako OK, dokument nßjden², neimplementovanΘ, alebo podobne).
V²Φet stavov²ch k≤dov nie je koneΦn², ich rozÜirovanie je mo₧nΘ. VÜetky k≤dy podporovanΘ v Ütandarde HTTP 1.1 m⌠₧ete nßjs¥ prßve v spomφnanom dokumente RFC 2616 alebo na adrese http://www.w3.org/hypertext/WWW/Protocols/HTTP/HTRESP.html
V zßsade s· stavovΘ k≤dy rozlφÜenΘ do skupφn pod╛a prvej cifry trojΦφslia (stovky) nasledovne: 100 oznaΦuje prebiehaj·ce spracovanie requestu, 200 s· ·speÜne spracovanΘ po₧iadavky, 300 s· nezmenenΘ inde umiestnenΘ dokumenty, 400 chyby po₧iadaviek a 500 chyby na strane servra. Tu je v²Φet t²ch najΦastejÜie pou₧φvan²ch stavov²ch k≤dov:
M⌠₧e sa sta¥, ₧e v odpovedi na po₧iadavku na vßÜ CGI skript chcete posla¥ klientovi konkrΘtny stavov² k≤d - napr. vrßti¥ chybu pri zlej po₧iadavke. Ako na to? Do vßÜho v²stupu, do Φasti v ktorej tvorφte http hlaviΦku musφte prida¥ riadok Status: stat_code reas_phrase , kde stat_code je nßvratov² k≤d a reas_phrase je reason phrase, nßvratovß frßza k danΘmu k≤du.
Presmerovanie servra
Spomφnali sme si vÜak aj to, ₧e pomocou http hlaviΦky je mo₧nΘ klienta presmerova¥ na in² URL. To je mo₧nΘ pomocou hlaviΦky Location , ktorej zadßvame nßzov s·boru, ktor² mß by¥ vrßten². Nasleduj·ci skript vßs vrßti na ·vodn· strßnku Developer Zone:
print "Location: /index.shtmlnn";
V²sledok
Nabud·ce sa pozrieme opΣ¥ na HTML - konkrΘtne si povieme nieΦo o tvorbe formulßrov ako zdrojoch vstupu pre CGI skript.
|
|
|