Kako podesiti pametne telefone i računare. Informativni portal

Pogledajte šta je "Uri" u drugim rječnicima. Druge URL šeme

URL(Jedinstveni lokator resursa)- uniformni lokator (lokator) resursa. URL je standardizirani način snimanja adrese izvora na Internetu.

URI(Jedinstveni identifikator resursa)- jedinstveni (jedinstveni) identifikator resursa. URI je niz znakova koji identificira apstraktni ili fizički resurs.

URI - to je više opšti koncept nego URL. URI ne ukazuje uvijek kako doći do resursa, za razliku od URL-a, već ga samo identificira. URL je URI koji, osim što identificira resurs, također pruža informacije o lokaciji tog resursa. Zaista, bilo koji URL sadrži dovoljno informacija da se stranica tačno locira. Kasnije u ovom kursu, kada koristimo adrese sajtova, mi ćemo se držati URL skraćenica.

Struktura adrese sajta

Nazad na URL http://school.it2moro.ru/ . Može se podijeliti na 3 dijela:

  1. http://
  2. škola
  3. it2moro

Prvi dio adrese (http://) definiše protokol za interakciju između pretraživača i servera. U našem slučaju, to je HTTP protokol, o čemu će biti riječi kasnije.

Drugi dio adresna traka se naziva SUBdomena, i treći - domena. Oni služe za identifikaciju određene lokacije koristeći DNS uslugu. DNS (Domain Name System, sistem imena domena) - računar distribuirani sistem za informacije o domenima. Najčešće se koristi za dobijanje IP adrese od imena hosta (računara ili uređaja). Na mreži postoji veliki broj DNS servera koji po imenu domene resursa mogu „predložiti“ njegovu stvarnu lokaciju, određenu IP adresom.

Izvorni kod HTML stranice

Pogledajmo sada šta pretraživač prima kao odgovor na generisani HTTP zahtjev. Stranica se može sastojati od teksta, slika, hiperveza, polja za unos, dugmadi i drugih elemenata. Informacije o svemu ovome su prenete sa web servera na pretraživač, koji je generisao konačan izgled stranice. Preneseni podaci se opisuju korištenjem HTML protokola.

HTML(HyperText Markup Language, HyperText Markup Language) je standardni jezik za označavanje dokumenata na Internetu. HTML jezik tumači pretraživač i prikazuje kao dokument u obliku koji je čitljiv.

Možemo reći da pretraživači obavljaju dvije glavne funkcije - to je interakcija s web serverima putem HTTP zahtjevi , kao i pretvaranje HTML koda primljenog sa servera u vizuelni prikaz.

URI (Jedinstveni identifikator resursa) je uniformni (jedinstveni) identifikator resursa. URI - niz znakova koji vam omogućava da identifikujete bilo koji resurs: dokument, sliku, datoteku, uslugu, e-mail pretinac, itd. Prije svega, govorimo, naravno, o resursima Interneta i svijeta Web. URI pruža jednostavan i proširiv način za identifikaciju resursa. Proširivost URI-ja znači da već postoji nekoliko identifikacionih šema unutar URI-ja, a u budućnosti će biti kreirano više.

Odnos između URI-ja, URL-a i URN-a

Venov dijagram koji prikazuje podskupove URI šeme: URL i URN.

URI je ili URL ili URN ili oboje.

  • URL je URI koji, osim što identificira resurs, također pruža informacije o lokaciji tog resursa.
  • URN je URI koji samo identificira resurs u određenom imenskom prostoru (odnosno, u određenom kontekstu), ali ne navodi njegovu lokaciju. Na primjer, URN urn:ISBN:0-395-36341-1 je URI koji ukazuje na resurs (knjigu) 0-395-36341-1 u ISBN prostoru imena, ali za razliku od URL-a, URN ne ukazuje na lokacija tog resursa: ne piše u kojoj prodavnici se može kupiti ili na kojoj web lokaciji za preuzimanje.

Budući da URI ne ukazuje uvijek kako doći do resursa, za razliku od URL-a, već ga samo identificira, to omogućava opisivanje korištenjem RDF (Resource Description Framework) resursa koji se ne mogu dobiti putem Interneta (na primjer, osoba, automobil, grad itd.).

istorija

1990. godine, u Ženevi, u Švicarskoj, unutar zidina Evropskog vijeća za nuklearna istraživanja, britanski naučnik Tim Berners-Lee izmislio je URL lokator resursa. Budući da je URL najčešće korišteni podskup URI-ja, ista 1990. godina se smatra godinom rođenja URI-ja. Ali strogo govoreći, koncept URI je dokumentovan tek u junu 1994. godine u RFC 1630.

Nova verzija URI je definiran 1998. godine u RFC 2396, ujedno i riječ Universal ime je promijenjeno u Uniforma.

nedostatke

URL je bio fundamentalna inovacija na Internetu, tako da su URI principi dokumentovani da budu u potpunosti kompatibilni sa URL-ovima. Odatle je došao veliki nedostatak URI-ja, koji je došao kao naslijeđe iz URL-a. URI-ji, poput URL-ova, mogu koristiti samo ograničen skup latiničnih znakova i interpunkcije (čak i manji od ASCII). Drugim riječima, ako želimo da koristimo ćiriličke znakove, ili hijeroglife, ili, recimo, specifične znakove francuskog jezika, u URI-ju, onda ćemo morati da kodiramo URI na isti način na koji su URL-ovi sa Unicode znakovima kodirani u Wikipedia. Na primjer, linija poput:

https://en.wikipedia.org/wiki/Cyrillic

kodirano u URL-u kao:

https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0

Budući da su slova svih abeceda podvrgnuta takvoj transformaciji, osim onog koji se koristi u engleski jezik Latinski znakovi, zatim URI sa riječima na drugim jezicima (čak i evropskim) gube sposobnost da ih ljudi percipiraju. A to je u velikoj suprotnosti sa principom internacionalizma koji proklamuju sve vodeće organizacije Interneta, uključujući W3C i ISOC. Namjera je da ovaj problem bude riješen IRI standardom. Internacionalizirani identifikator resursa) su međunarodni identifikatori resursa u kojima bi se bez problema mogli koristiti Unicode znakovi i koji ne bi narušili prava drugih jezika. Takođe, kreator URI-ja, Tim Berners-Lee, rekao je da je sistem imena domena koji leži u osnovi URL-a loša odluka, koji nameće hijerarhijsku arhitekturu resursima koja nije prikladna za hipertekstualni web.

URI struktura

URI = [šema ":"] hijerarhijski - dio [ "?" zahtjev ] [ "#" fragment ]

U ovom unosu:

Šema

šema pristupa resursima (često označava mrežni protokol), npr. http, ftp, fajl, ldap, mailto, urn

hijerarhijski-dio

sadrži podatke, obično organizovane u hijerarhijskom obliku, koji zajedno sa podacima u nehijerarhijskoj komponenti upit, koriste se za identifikaciju resursa u okviru URI šeme. Obično hijerarhijski-dio sadrži putanju do resursa (i eventualno, prije njega, adresu servera na kojem se nalazi) ili identifikator resursa (u slučaju URN-a).

Upit

ova opciona URI komponenta je gore opisana.

Fragment

(takođe neobavezno)

Omogućava vam da indirektno identificirate sekundarni resurs upućivanjem na primarni i specificiranjem Dodatne informacije. Sekundarni izvor koji se može identificirati može biti neki dio ili podskup primarnog, neka njegova reprezentacija ili drugi resurs definiran ili opisan takvim izvorom.

Parsiranje URI strukture. Za takozvani "parsing" URI (eng. raščlanjivanje), odnosno za dekomponovanje URI-ja na njegove sastavne delove i njihovu kasniju identifikaciju, najpogodnije je koristiti sistem regularnih izraza, koji je sada dostupan u gotovo svim savremeni jezici programiranje. RFC 3986 preporučuje korištenje sljedećeg uzorka za raščlanjivanje URI-ja:

Ovaj obrazac uključuje 9 grupa naznačenih iznad brojevima (za više o obrascima i grupama pogledajte Regularni izrazi), koje najpotpunije i najpreciznije analiziraju tipičnu strukturu URI-ja, gdje:

  • grupa 2 - šema,
  • grupa 4 - izvor,
  • grupa 5 - put,
  • grupa 7 - zahtjev,
  • grupa 9 - fragment.

Stoga, ako koristite ovaj obrazac za raščlanjivanje, na primjer, takvog tipičnog URI-ja:

http://www.ics.uci.edu/pub/ietf/uri/#Related

tada će 9 gornjih grupa uzoraka proizvesti sljedeće rezultate:

  1. http:
  2. //www.ics.uci.edu
  3. www.ics.uci.edu
  4. /pub/ietf/uri/
  5. nema rezultata
  6. nema rezultata
  7. #Related
  8. povezani

URI primjeri:

Apsolutni URI

  • https://ru.wikipedia.org/wiki/URI
  • ftp://ftp.is.co.za/rfc/rfc1808.txt
  • file://C:\UserName.HostName\Projects\Wikipedia_Articles\URI.xml
  • file:///C:/file.wsdl
  • file:///Users/John/Documents/Projects/Web/MyWebsite/about.html
  • ldap:///c=GB?objectClass?one
  • mailto: [email protected]
  • gutljaj: [email protected]
  • vijesti:comp.infosystems.www.servers.unix
  • data:text/plain;charset=iso-8859-7,%be%be%be
  • tel:+1-816-555-1212
  • telnet://192.0.2.16:80/
  • urn:oasis:names:specifikacija:docbook:dtd:xml:4.1.2

2) Relativni URI-ji

  • /relative/URI/with/absolute/path/to/resource.txt
  • //example.org/scheme-relative/URI/with/absolute/path/to/resource.txt
  • relativno/path/to/resource.txt
  • ../../../resource.txt
  • resurs.txt
  • /resource.txt#frag01
  • #frag01

[prazan string] - ekvivalentno raščlanjivanju identifikatora od strane parsera s rezultatom [prazan string], tj. veza vodi do zadanog objekta u zadanoj šemi

DNS usluga

DNS - sistem imena domena. Imena DNS domena su sinonim za IP adresu, baš kao što su imena u adresaru vašeg telefona sinonim za telefonske brojeve. One su karakterne, a ne numeričke; pogodniji su za pamćenje i orijentaciju; nose značenje. www.irnet.ru → DNS tabele →193.232.70.36 Imena domena su takođe jedinstvena, tj. Ne postoje dva identična imena domena na svijetu. Imena domena, za razliku od IP adresa, nisu obavezna, kupuju se zasebno.

Rice. 2. Hijerarhija u DNS sistemu.

Jedinstvene su i adrese koje su naznačene na kovertama prilikom dostave pisama običnom poštom. Ne postoji država na svijetu sa istim imenom. A ako se nazivi gradova ponekad ponavljaju, onda u kombinaciji s podjelom na veće administrativne jedinice kao što su okrugi i regije, postaju jedinstveni. I nazivi ulica ne bi trebalo da se ponavljaju unutar istog grada. Dakle, adresa zasnovana na geografskim i administrativnim imenima jedinstveno identifikuje odredište. Domeni imaju sličnu hijerarhiju. Imena domena su međusobno odvojena tačkama: lingvo.yandex.ru, krkime.com.

DNS ima sledeće karakteristike:

  • Distribucija administracije. Za različite dijelove hijerarhijske strukture odgovorni su različiti ljudi ili organizacije.
  • Distribucija skladištenja informacija. Svaki mrežni čvor mora nužno pohraniti samo one podatke koji su uključeni u njegov oblast odgovornosti, i (eventualno) adrese root DNS serveri.
  • Keširanje informacija. Čvor možda pohranjuju određenu količinu podataka koji nisu iz područja njihove odgovornosti kako bi smanjili opterećenje mreže.
  • Hijerarhijska struktura, u kojem su svi čvorovi kombinovani u stablo, a svaki čvor može ili samostalno odrediti rad nizvodnih čvorova, ili delegat(prenos) ih na druge čvorove.
  • Rezervacija. Nekoliko servera (obično) je odgovorno za pohranjivanje i održavanje svojih čvorova (zona), odvojenih i fizički i logički, što osigurava sigurnost podataka i nastavak rada čak i ako jedan od čvorova otkaže.

Nivoi domena. Postoje tri nivoa domena.

Domains prvo ili vrhunski nivo dijele se u dvije grupe:

1) To su domeni teritorijalne pripadnosti, na primjer: .ru .by .ua .de .us itd. To su domeni koji su dodijeljeni određenoj zemlji. Koristeći ih, možete, na primjer, odrediti kojoj zemlji pripada određena stranica.

2) Druga grupa domena prvog nivoa su domeni neke specifične namene. Na primjer: .com - za komercijalne organizacije, .info - za informativne stranice, .tv - za televizijske kompanije, itd. Ovi domeni mogu odrediti specifičan fokus stranice. Iako se, istini za volju, u posljednje vrijeme sve više koriste u bilo koje svrhe i često se ne pridržavaju svoje namjene.

Domeni najvišeg nivoa ne mogu se koristiti kao adresa vaše stranice. Oni služe za kreiranje domena drugi nivo , tako da možete registrovati domen drugog nivoa na bilo kojoj od domena prvog nivoa. Domen drugog nivoa sastoji se od sljedećih elemenata: www.site_name.first-level domena. Na primjer: www.webmastermix.ru. Preporučljivo je koristiti nazive domena drugog nivoa za adresu web stranice. Ljudi ih najbolje čitaju i pamte, kao i pretraživači. Stoga većina web lokacija ima nazive domena ovog nivoa.

Osim toga, postoje i domeni treći nivo . Kreiraju se na bazi domena drugog nivoa. Domena trećeg nivoa izgleda ovako: www.forum.webmastermix.ru. Registracijom domena drugog nivoa možete samostalno kreirati onoliko domena trećeg nivoa na njegovoj osnovi koliko želite. Možete registrirati naziv domene za svoju web lokaciju koristeći posebne usluge.

WEB TEHNOLOGIJE: HTML, JAVASCRIPT

Prvi dio didaktičkog bloka iznad ove teme bio je posvećen Internet tehnologijama. Sada počinjemo proučavati tehnologije koje se koriste u svjetske mreže ili web tehnologije.

Prvo morate razumjeti osnovne koncepte web tehnologija: web stranicu i web stranicu. Web stranica je najmanja logička jedinica World Wide Weba, koja je dokument koji je jedinstveno identificiran jedinstvenim URL-om. Web stranica je skup tematski povezanih web stranica koje se nalaze na istom serveru i u vlasništvu su istog vlasnika. U određenom slučaju, web stranica može biti predstavljena jednom web stranicom. World Wide Web je skup svih web stranica.

Osnova čitavog World Wide Weba je HTML jezik za označavanje hiperteksta - Hyper Text Markup Language (slika 3). Služi za logičko (semantičko) označavanje dokumenta (web stranice). Ponekad se zloupotrebljava za kontrolu načina na koji se sadržaj web stranice prikazuje na ekranu monitora ili kada se šalje na štampač, što je u osnovi suprotno ideologiji usvojenoj na World Wide Webu.

Rice. 3. Web tehnologije

Cascading Style Sheets (CSS) dizajnirani su za kontrolu prikaza sadržaja web stranice. CSS je na mnogo načina sličan stilovima koji se koriste u popularnom programu za obradu teksta Word.

Skriptni jezici se koriste za davanje dinamike web stranicama (padajući meniji, animacije). Standardni skriptni jezik na World Wide Webu je JavaScript. Jezgro JavaScript jezika je ECMAScript.

HTML, CSS, JavaScript su jezici pomoću kojih možete kreirati proizvoljno složene web stranice. Ali ovo je samo lingvistička odredba, dok su u pretraživačima dokumenti predstavljeni kao skup objekata, čiji je skup tipova Model objekata pretraživača (BOM). Objektni model pretraživača je jedinstven za svaki model, pa stoga postoje problemi pri kreiranju aplikacija za više pretraživača. Stoga je Web konzorcij predložio objektni model dokument (DOM), koji je standardni način predstavljanja web stranica pomoću skupa objekata.

Sintaksa moderni HTML opisano pomoću proširivog jezika XML markup– Extensible Markup Language. XML će vam omogućiti da kreirate vlastite jezike za označavanje, slične HTML-u u obliku DTD-a. Postoji mnogo takvih jezika: za predstavljanje matematičkih i hemijskih formula, znanja itd.

Kao što se može vidjeti iz navedenog, sve web tehnologije su međusobno usko povezane. Razumijevanje ove činjenice će olakšati razumijevanje svrhe određenog mehanizma koji se koristi za kreiranje web aplikacija.

EMAIL

Elektronska pošta (e-pošta, e-pošta, od engleske elektronske pošte) je tehnologija i usluge koje pruža za slanje i primanje elektronskih poruka (zvanih "pisma" ili " emailovi”) distribuiran računarsku mrežu. Osnovna razlika u odnosu na druge sisteme za razmenu poruka je mogućnost odložene isporuke i razvijen sistem interakcije između nezavisnih servera pošte.

E-pošta omogućava slanje i primanje poruka, odgovaranje na pisma dopisnika automatski koristeći njihove adrese, slanje kopija pisma na više primalaca odjednom, prosljeđivanje primljenog pisma na drugu adresu, korištenje logičkih imena umjesto adresa (numeričkih ili imena domena), kreirajte nekoliko podsekcija poštanskog sandučića za sve vrste korespondencije, uključite tekstualne datoteke u pisma, koristite sistem "reflektora pošte" za vođenje diskusija sa grupom vaših dopisnika itd. Da biste poslali e-mail poruku, morate navesti adresu poštanskog sandučeta. Poštansko sanduče pretplatnika e-pošte je područje na tvrdom disku servera e-pošte posvećeno korisniku.

Razvoj internet tehnologije doveo je do pojave modernih protokola za razmenu poruka, koji pružaju velike mogućnosti za obradu pisama, raznovrsnost usluga i jednostavnost korišćenja. Na primjer, SMTP protokol, koji radi na principu klijent-server, dizajniran je za slanje poruka sa računara primaocu. Obično pristup SMTP serveru nije zaštićen lozinkom, tako da se bilo koji poznati server na mreži može koristiti za slanje pošte. Za razliku od servera za slanje pisama, pristup serverima za čuvanje poruka je zaštićen lozinkom. Stoga morate koristiti server ili uslugu koja ima Račun. Ovi serveri koriste POP i IMAP protokole, koji se razlikuju po načinu pohranjivanja poruka.

U skladu sa POP3 protokolom, poruke koje stignu na određenu adresu čuvaju se na serveru sve dok se ne preuzmu na računar tokom sledeće sesije. Nakon preuzimanja poruka, možete prekinuti vezu sa mrežom i početi čitati poštu. Stoga je korištenje pošte putem POP3 protokola najbrže i najpogodnije za korištenje.

IMAP protokol je pogodan za one ljude koji koriste stalnu vezu s mrežom. Poruke primljene na adresu se takođe čuvaju na serveru, ali za razliku od POP3, prilikom provere pošte prvo će se preuzeti samo zaglavlja poruke. Samo pismo se može pročitati nakon odabira zaglavlja poruke (preuzet će se sa servera). Jasno je da kod dial-up veze rad s poštom po ovom protokolu dovodi do neopravdanog gubitka vremena.

Postoji nekoliko protokola za primanje i slanje pošte između višekorisničkih sistema.

Kratak opis nekih od njih:

1) SMTP (Simple Mail Transfer Protocol) je mrežni protokol dizajniran za prijenos e-pošte u TCP/IP mrežama, a prijenos mora nužno biti iniciran od strane samog sistema za prijenos.

MTA (Mail Transfer Agent) - agent za prijenos pošte - glavna je komponenta Internet sistema za prijenos pošte, koja predstavlja ovaj mrežni računar za mrežni sistem e-pošte. Obično korisnici ne rade sa MTA, već sa MUA (Mail User Agent) programom - e-mail klijentom. Šematski je princip interakcije prikazan na slici.

2) POP, POP2, POP3 (protokol pošte)- tri prilično jednostavna nezamenljiva protokola dizajnirana da isporuče poštu korisniku sa centralnog servera pošte, izbrišu je sa njega i identifikuju korisnika imenom/lozinkom. POP uključuje SMTP, koji se koristi za prijenos pošte koja potiče od korisnika. E-mail poruke se mogu primati u obliku zaglavlja, a da se pismo ne prima.

Nakon uspostavljanja veze, POP3 protokol prolazi kroz tri uzastopna stanja.

      1. Autorizacija Klijent prolazi kroz proceduru autentifikacije
      2. Klijentska transakcija prima informacije o stanju poštanskog sandučeta, prihvata i briše poštu.
      3. Ažuriranje servera briše odabrane e-poruke i zatvara vezu.

3) IMAP2, IMAP2bis, IMAP3, IMAP4, IMAP4rev1 (Internet Message Access Protocol) - pruža korisniku bogate mogućnosti za rad sa poštanskim sandučićima koji se nalaze na centralnom serveru

o IMAP skladišti poštu na serveru u direktorijumima datoteka, a klijentu također pruža mogućnost da traži nizove u porukama pošte na samom serveru.

o IMAP2 - koristi se u rijetkim slučajevima.

o IMAP3 - nekompatibilno rješenje, ne koristi se.

o IMAP2bis - IMAP2 ekstenzija, omogućava serverima da analiziraju MIME strukturu (višenamjenske ekstenzije Internet pošte) poruke, i danas se koristi.

o IMAP4 je redizajniran i poboljšan IMAP2bis koji se može koristiti bilo gdje.

o IMAP4rev1 - Proširuje IMAP sa velikim skupom funkcija, uključujući one koje koristi DMSP (Distribuirani sistem pošte za personalne računare).

4) ACAP (Application Configuration Access Protocol) - protokol dizajniran za rad sa IMAP4; dodaje mogućnost pretplate pretraživanja i pretplate na oglasne ploče, poštanski sandučići i koristi se za traženje adresara.

5) DMSP (ili PCMAIL) je protokol za prijem/slanje pošte čija je posebnost u tome što korisnik može koristiti više radnih stanica. Radna stanica sadrži informacije o statusu pošte, imenik preko kojeg se odvija razmjena, koji se, kada je povezan sa serverom, ažurira na trenutna drzava na mail serveru.

6) MIME je standard koji definira mehanizme za slanje različitih vrsta informacija putem e-pošte, uključujući tekst na jezicima koji nisu engleski koji koriste kodiranje znakova osim ASCII, kao i 8-bitni binarni sadržaj kao što su slike, muzika, filmovi i programi .

Samostalan rad.

Pokrenite primjer dat u tekstu (handout) sačuvajte u vlastiti folder na radnoj površini.

9.2. Rad sa nastavnikom:

Kada se pojave problemi ili pogrešne radnje kontaktirajte nastavnika da ispravi greške.

Do kraja časa pokažite nastavniku izvještaj o obavljenom poslu i primite kredit za ovaj rad.

9.3. Kontrola početnog i završnog nivoa znanja:

Kompjutersko testiranje .


Slične informacije.


I tako dalje. Prije svega, govorimo, naravno, o resursima Interneta i World Wide Weba. URI pruža jednostavan i proširiv način za identifikaciju resursa. Proširivost URI-ja znači da već postoji nekoliko identifikacionih šema unutar URI-ja, a u budućnosti će biti kreirano više.
Za više detalja, pogledajte"URI struktura" ispod.

Najpoznatiji primjeri URI-ja su URN-ovi. URL je URI koji, osim što identificira resurs, također pruža informacije o lokaciji tog resursa. A URN je URI koji identifikuje resurs u određenom imenskom prostoru (i stoga u specifičnom kontekstu). Na primjer, URN urn:ISBN:0-395-36341-1 je URI koji ukazuje na resurs (knjigu) 0-395-36341-1 u ISBN prostoru imena, ali za razliku od URL-a, URN ne ukazuje na lokacija tog resursa. Međutim, u novije vrijeme postoji tendencija da se samo kaže URI za bilo koji niz identifikatora, bez daljnje elaboracije. Stoga će pojmovi URL i URN uskoro postati stvar prošlosti.

istorija

Nova verzija URI definirana je 1998. godine u RFC 2396, u isto vrijeme riječ Universal ime je promijenjeno u Uniforma. U decembru 1999. RFC 2732 je uveo manje promjene u URI specifikaciju kako bi se osigurala kompatibilnost sa avgustom 2002. RFC 3305 je najavio zastarjelost termina URL-a i prioriteta URI-ja. Trenutnu strukturu i sintaksu URI-ja reguliše RFC 3986, objavljen u januaru 2005. Mnogi najnoviju tehnologiju Semantička mreža (npr. RDF) se zasniva na URI standardu. Sada vodeću ulogu u razvoju URI-ja ima World Wide Web Consortium.

nedostatke

URL je bio fundamentalna inovacija na Internetu, tako da su URI principi dokumentovani da budu u potpunosti kompatibilni sa URL-ovima. Odatle je došao veliki nedostatak URI-ja, koji je došao kao naslijeđe iz URL-a. U URI-ju, kao iu URL-u, može se koristiti samo ograničen skup latiničnih znakova i interpunkcijskih znakova (čak i manje nego u ćirilici, ili hijeroglifima, ili, recimo, specifičnim francuskim znakovima, tada ćemo morati kodirati URI u na isti način kao u Wikipediji URL-ovi su kodirani sa Unicode znakovima... Na primjer, niz kao što je:

http://en.wikipedia.org/wiki/Microcredit

kodirano u URL-u kao:

http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0 %B8%D1%82

Budući da su slova svih alfabeta podvrgnuta takvoj transformaciji, osim latinice koja se koristi u engleskom, URI-ovi sa riječima na drugim jezicima (čak i evropskim) gube sposobnost da ih ljudi percipiraju. A to je u velikoj suprotnosti sa principom internacionalizma, koji su proklamovale sve vodeće organizacije Interneta, uključujući W3C i IRI (eng. Međunarodni identifikator resursa ) su međunarodni identifikatori resursa u kojima bi se bez problema mogli koristiti Unicode znakovi i koji ne bi narušili prava drugih jezika. Iako je teško unaprijed reći da li će identifikatori ikada moći . Ovaj format ima za cilj kreiranje identifikatora koji su potpuno nezavisni od konteksta, tj. nezavisni od protokola, domene, putanje, aplikacije i platforme. apsolutno nezavisni.

Takođe, tvorac URI-ja, Tim Berners-Lee, rekao je da je sistem imena domena koji leži u osnovi URL-a loša odluka, namećući hijerarhijsku arhitekturu resursima koja nije prikladna za hipertekstualni web.

URI struktura

Parsiranje URI strukture

Za takozvani "parsing" URI (eng. raščlanjivanje), odnosno za dekomponovanje URI-ja na njihove sastavne delove i njihovu kasniju identifikaciju, najpogodnije je koristiti sistem regularnih izraza, koji je sada dostupan u gotovo svim modernim programskim jezicima. Za raščlanjivanje URI-ja preporučuje se sljedeći obrazac:

^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? 12 3 4 5 6 7 8 9

Ovaj obrazac uključuje 9 grupa naznačenih iznad brojevima (za više o obrascima i grupama pogledajte Regularni izrazi), koje najpotpunije i najpreciznije analiziraju tipičnu strukturu URI-ja, gdje:

  • grupa 2 - šema,
  • grupa 4 - izvor,
  • grupa 5 - put,
  • grupa 7 - zahtjev,
  • grupa 9 - fragment.

Stoga, ako koristite ovaj obrazac za raščlanjivanje, na primjer, takvog tipičnog URI-ja:

http://www.ics.uci.edu/pub/ietf/uri/#Related

tada će 9 gornjih grupa uzoraka proizvesti sljedeće rezultate:

  1. http:
  2. //www.ics.uci.edu
  3. www.ics.uci.edu
  4. /pub/ietf/uri/
  5. nema rezultata
  6. nema rezultata
  7. #Related
  8. povezani

Razlika između URI-ja i URL-a

URI ne ukazuje uvijek kako doći do resursa, za razliku od URL-a, već ga samo identificira. Ovo omogućava opisivanje koristeći RDF (Resource Description Framework) resurse koji se ne mogu dobiti putem interneta (na primjer, osoba, automobil, grad, itd.).

URI primjeri

Apsolutni URI

http://ru.wikipedia.org/wiki/URI ftp://ftp.is.co.za/rfc/rfc1808.txt file://C:\UserName.HostName\Projects\Wikipedia_Articles\URI.xml ldap: ///c=GB?objectClass?one mailto: [email protected] gutljaj: [email protected] vijesti:comp.infosystems.www.servers.unix data:text/plain;charset=iso-8859-7,%be%fg%be tel:+1-816-555-1212 telnet://192.0.2.16:80 /urn:oasis:names:specifikacija:docbook:dtd:xml:4.1.2

URI veze

/relative/URI/with/absolute/path/to/resource.txt relativno/path/to/resource.txt ../../../resource.txt resource.txt /resource.txt#frag01 #frag01 [prazno linija]

vidi takođe

Linkovi

Bilješke


Wikimedia fondacija. 2010 .

Pogledajte šta je "Uri" u drugim rječnicima:

    Uri- može se odnositi na: Geografiju: * Kanton Uri je kanton (regija) Švicarske * Uri (Indija), regija i grad u Kašmiru * Uri (SS), grad na Sardiniji, Italija * Úri, selo u Pešti okrug, Mađarska * sumerski URI, zemlja AgadeURI, tri… … Wikipedia

    uro- URÎ, urăsc, vb. IV. 1.trans. A avea un puternic sentiment de antipatie, de duşmănie împotriva cuiva sau a ceva; a nu putea suferi pe cineva sau ceva. 2.refl. impers. (Construit cu dativul) A se plictisi, a se sătura de ceva sau de cineva. ♢… … Dicționar Roman

    uri- urì interj., urỹ NdŽ, Jn, Aln, ùri kartojant 1. nusakomas puolančio šuns(ar šunų) urzgimas: Tik urỹ urỹ ir apipuolo mane šunes K.Būg(Ds). Urì urì šunes kad pradeda loti Šmn. ║ Ds sakoma pjudant šuniu. 2. Vžns nusakomas triukšmingas… … Rječnik litvanskog jezika

Rad sa URI-jima

Svaki dan koristimo Jedinstveni identifikatori resursa (URI) kada tražite nešto na WWW. URI-ji su potrebni za identifikaciju i upite nova vrsta resurs. Koristeći URI, možete pristupiti ne samo web stranicama, već i FTP serveru, web servisu i lokalnim datotekama.

Termin se često koristi umjesto URI Uniform Resource Locator (URL). URI je generički termin koji se koristi za označavanje resursa. URL je URI povezan sa popularnim URI šemama kao što su http, ftp i mailto. U tehničkoj dokumentaciji termin URL se više ne koristi.

Još jedan termin koji možda već znate - Jedinstveni naziv resursa (URN). URN je standardizirani URI koji se koristi za identifikaciju resursa bez obzira na njegovu lokaciju na mreži.

Hajde da raščlanimo dijelove URI-ja koji se odnose na stranicu na web stranici Global Knowledge:

http://www.globalknowledge.net:80/training/generic.asp?pageid=1078&country=DACH

    Prvi dio URI se zove šema (šema). Šema definira prostor URI imena i može suziti sintaksu izraza koji slijedi šemu. Mnoge šeme su nazvane prema odgovarajućim protokolima (kao što su http, ftp) koje koriste, ali to nije obavezno. U našem primjeru, ID šeme je http. Circuit Delimiter(// u ovom primjeru) odvaja shemu od ostatka URL-a.

    Nakon graničnika šeme slijedi naziv servera ili IP adresa decimalni zapis sa tačkama, npr. www.globalknowledge.net.

    Iza imena servera ili IP adrese nalazi se broj porta koji identifikuje vezu sa određenom aplikacijom na serveru. Ako nije naveden broj porta, koristi se zadani broj porta za taj protokol (na primjer, port 80 za HTTP).

    Way specificira stranicu (i direktorij) traženog resursa. Ne predstavlja nužno fizičku datoteku na serveru, ali se može kreirati dinamički. U ovom slučaju, put je /training/generic.asp.

    Sa putanje simbola? odvojio posljednji dio ovog URI-ja, tzv upit. U našem primjeru, zahtjev je definiran stringom pageid=1078&country=DACH. Niz upita može se sastojati od nekoliko komponenti, od kojih svaka specificira varijablu i vrijednost, u kombinaciji sa simbolom &. Višestruke komponente upita mogu se kombinovati sa znakom &. Dakle, u našem primjeru, prva komponenta je pageid=1078 sa varijablom pageid postavljenom na 1078, a druga komponenta je country=DACH.

    Odjeljci unutar izvora mogu se identificirati s fragmentima. Fragmenti se koriste za povezivanje sa sekcijama unutar HTML stranice. U razvoju web stranica, isječci se također nazivaju bookmarks. Znak # odvaja identifikator fragmenta od putanje. U URL adresi http;//www.microsoft.com/net/basics/glossary.asp#NETFramework, fragment je string #NETFramework.

Ako je znak # dodan nizu upita, onda to više nije fragment. URL može sadržavati niz upita ili fragment, ali ne oboje.

Više znakova je rezervirano u URI-ovima - ne mogu se uključiti u imena hostova ili putanje jer su to posebni znakovi za razgraničenje. Sljedeći znakovi su rezervirani u URI-ju:

; / ? : @ & = + $ ,

Uri klasa iz System imenskog prostora inkapsulira jedinstveni identifikator resursa. Sadrži svojstva i metode za raščlanjivanje, poređenje i kombinovanje URI-ja.

Možete kreirati Uri objekt prosljeđivanjem URI niza konstruktoru:

Uri baseURI = novi Uri("http://site");

Ako već postoji osnovni URI objekt, možete kreirati novi URI kombiniranjem osnovnog URI-ja s relativnim URI-jem:

Uri baseURI = novi Uri("http://site"); Uri newURI = novi Uri(baseURI, "my/csharp/web/level2/2_2.php");

Ako osnovni URI već sadrži putanju, zanemaruje se. Novi URI se zasniva samo na šemi, portu i imenu servera.

Uri klasa ima nekoliko statičkih polja samo za čitanje koja vam omogućavaju da dobijete neke od najčešće korištenih šema:

Uri.UriSchemeFile

Šema datoteka se koristi za pristup datotekama lokalno ili na zajedničkim mrežnim resursima, koji se mogu imenovati prema konvenciji univerzalna namjena imena ( Univerzalna konvencija o imenovanju, UNC).

Uri.UriSchemeFtp

FTP protokol sa ftp šemom se koristi za primanje datoteka sa ftp servera i, obrnuto, za postavljanje datoteka na ftp server.

Uri.UriSchemeGopher

Gopher protokol je bio preteča HTTP-a. Pružao je mogućnost hijerarhijskog pregleda tekstualnih informacija o sadržaju, što je bilo superiornije u odnosu na FTP. Ali ubrzo je zamijenjen HTTP protokolom.

Uri.UriSchemeHttp, Uri.UriSchemeHttps

Ove dvije sheme su dobro poznate: http i https. https shema se koristi za sigurnu razmjenu.

Uri.UriSchemeMailto

mailto šema se koristi za slanje e-mail poruka.

Uri.UriSchemeNews, Uri.UriSchemeNntp

Sheme vijesti i nntp koriste se u diskusionim grupama koje koriste NNTP protokol.

Uri klasa ima statičke metode za provjeru ispravne šeme i imena hosta: Uri.CheckSchemeName() vraća true ako je naziv šeme ispravan i metoda UriCheckHostName() ne samo da provjerava ime hosta, već i vraća vrijednost nabrajanja UriHostNameType koja ukazuje na tip hosta.

Uri klasa ima mnoga svojstva samo za čitanje koja vam omogućavaju pristup svim dijelovima URI-ja. U sljedećoj tabeli koristimo gornji URI kao primjer da demonstriramo upotrebu svojstava:

AbsoluteUri Ovo svojstvo pokazuje puni URI. Ako specificirani broj port za protokol jednak je zadanom broju porta, Uri konstruktor ga automatski uklanja. Za naš primjer, vrijednost svojstva AbsoluteUri izgleda ovako: http://www.globalknowledge.net/t raining/generic.asp?pageid=1078&country=DACH. Ako je ime datoteke proslijeđeno konstruktoru Uri klase, svojstvo AbsoluteUri automatski prethodi imenu datoteke sa šemom file://.
Šema Shema je prvi dio URI-ja, au ovom slučaju ovo svojstvo vraća vrijednost http.
Domaćin Svojstvo Host prikazuje ime hosta iz URI-ja: www.globalknowledge.net
Autoritet Ako je broj porta jednak zadanom broju koji koristi protokol, svojstvo ovlaštenja prikazuje isti niz kao svojstvo Host. Ako se koristi drugi broj porta, tada svojstvo ovlaštenja također prikazuje broj porta.
hostnametype Tip imena hosta ovisi o korištenom imenu. U ovom slučaju, dobija se ista vrijednost nabrajanja UriHostNameType o kojoj smo gore govorili.
luka Koristeći svojstvo Port, dobija se broj porta - 80.
AbsolutePath Apsolutni put počinje nakon broja porta u URI-ju i završava prije niza upita. U ovom slučaju, to je /training/generic.asp.
localpath Lokalni put daje vrijednost /training/generic.asp. Kao što vidite, za HTTP zahtjev, nema razlike između AbsolutePath i LocalPath. Razlika se pojavljuje ako se URI odnosi na zajednički mrežni resurs. Za URI datoteke obrasca:\\server\share\directory\file.txt, svojstvo LocalPath vraća samo nazive direktorija i datoteka, dok svojstvo AbsolutePath uključuje imena servera i dijeljenja.
Upit Svojstvo Query prikazuje string koji prati putanju: ?pageid=1078&country=DACH.
PathAndQuery Svojstvo PathAndQuery daje kombinaciju putanje i niza upita: /training/generic.asp?pageid=1078&country=DACH.
Fragment Ako putanju prati fragment, vraća se u svojstvu Fragment. Put može biti praćen samo nizom upita ili fragmentom. Fragment je identificiran simbolom #
segmentima Svojstvo Segments vraća niz nizova formiranih iz putanje. U ovom slučaju imamo tri segmenta: /, training/ i generic.asp.
UserInfo Korisničko ime postavljeno u URI može se pročitati iz svojstva UserInfo. Prenošenje korisničkih imena je uobičajeno u FTP protokol i ako je naveden neanonimni korisnik, kao što je ftp:// [email protected], tada će svojstvo UserInfo vratiti myuser.

Osim navedenih, postoji još nekoliko svojstava koja vraćaju boolean vrijednosti ako URI predstavlja datoteku, UNC putanju, adresu povratne informacije ili ako protokol koristi zadani broj porta. Ovo su svojstva IsFile, IsUnc, IsLoopback i IsDefaultPort.

Da biste pristupili svim mrežnim resursima, morate znati gdje se oni nalaze i kako im se može pristupiti. World Wide Web koristi standardiziranu šemu adresiranja i identifikacije, uzimajući u obzir iskustvo adresiranja i identifikacije e-pošte, Gophera, WAIS-a, telneta, ftp-a i slično. - URL, Uniform Resource Locator.

URI(Jedinstveni identifikator resursa, Univerzalni identifikator resurs) (RFC 2396, avgust 1998.) je kompaktni niz znakova za identifikaciju apstraktnog ili fizičkog resursa. Resurs je svaki objekat koji pripada nekom prostoru. Uključuje i zamenjuje prethodno definisane URL-ove (RFC 1738/RFC 1808) i URN-ove (RFC 2141, RFC 2611).

URI je namijenjen jedinstvenoj identifikaciji bilo kojeg resursa.

Neki podskupovi URI-ja:

URN(Jedinstveni naziv resursa) - Privatna "urn:" URI shema s podskupom "imenskog prostora" koji mora biti jedinstven i nepromijenjen čak i ako resurs više ne postoji ili nije dostupan.

Pretpostavlja se da, na primjer, pretraživač zna gdje da traži ovaj resurs.

sintaksa:

urn:namespace: data1.data2,more-data gdje imenski prostor specificira kako se koriste podaci nakon drugog ":".

URN primjer:

urna: ISBN: 0-395-36341-6

ISBN - tematski klasifikator za izdavače

0-395-36341-6 - određeni broj teme knjige ili časopisa



Po prijemu URN-a, klijentski program pristupa ISBN-u (direktoriju "klasifikator tema za izdavače" na Internetu). I prima dekodiranje broja predmeta "0-395-36341-6" (na primjer: "kvantna hemija").

URN se široko koristi u P2P mrežama (kao što je edonkey).

Primjer URN koji ukazuje na Adobe Photoshop v8.0 sliku diska na edonkey mreži:

urn:ed2k://|file|AdobePhotoshopv8.0.iso|940769280|b34c101c90b6dedb4071094cb1b9f2d3|/

ed2k - ukazuje na mrežu

Adobe Photoshop v8.0.iso - naziv datoteke

940769280 - veličina u bajtovima

- identifikator datoteke (izračunato korištenjem hash funkcije)

Uniformni URL lokatora resursa:

URL(Uniform Resource Locator, RFC 1738) - unificirani lokator resursa (pokazivač), standardizirani način snimanja adrese resursa na WWW i Internetu. URL ima fleksibilnu i proširivu strukturu za najprirodniju lokaciju resursa na mreži, koja identificira resurs po načinu na koji mu se pristupa (na primjer, njegova "lokacija na mreži"), umjesto da ga identifikuje imenom ili druge atribute ovog resursa.

URL primjeri:

http://www.ipm.kstu.ru/index.php

ftp://www.ipm.kstu.ru/

Ograničeni skup ASCII znakova se koristi za predstavljanje adrese.

Opšti oblik adrese može se predstaviti na sljedeći način:

<схема>://<логин>:<пароль>@<хост>:<порт>/<полный-путь-к-ресурсу >

šema pristupa resursima: http, ftp, gopher, mailto, vijesti, telnet, fajl, čovjek, info, whatis, ldap, wais, itd.

Prijava: Lozinka- korisničko ime i lozinka koji se koriste za pristup resursu

domaćin naziv domene hosta ili njegovu IP adresu.

luka- host port za povezivanje

puni put do resursa - specificiranje informacija o lokaciji resursa (zavisi od protokola).

URL primjeri:

http://example.com #default zahtjev za početnu stranicu

http://www.example.com/site/map.html #request datu stranicu u navedenom direktoriju

http://example.com:81/script.php #poveži se na nestandardni port

http://example.org/script.php?key=value #request sa prosljeđivanjem parametra u skriptu

ftp://korisnik: [email protected]#povezivanje na ftp server sa autorizacijom

http://192.168.0.1/example/www #povezivanje na mrežnu adresu

file:///srv/www/htdocs/index.html #otvori lokalnu datoteku

gopher://example.com/1 #povezivanje na gopher server

URL - Uniform Resource Locators eksplicitno opisuje kako doći do objekta.

Pojava URL-ova postala je značajna inovacija na Internetu. Međutim, od svog izuma pa do danas, URL standard ima ozbiljan nedostatak - može koristiti samo ograničen skup znakova, čak i manji nego u ASCII-u: latinična slova, brojeve i samo neke interpunkcijske znakove - .

Ako želimo da koristimo ćiriličke znakove, ili hijeroglife, ili, recimo, specifične francuske znakove u URL-u, onda znakove koji su nam potrebni moramo prekodirati na poseban način.

Na Vikipediji na ruskom jeziku svaki dan se viđaju primjeri url kodiranje, budući da se ruski jezik koristi ćiriličnim znakovima. Na primjer, linija poput:

http://en.wikipedia.org/wiki/Microcredit

kodirano u URL-u kao:

http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0 %B8%D1%82

Takva konverzija se odvija u dvije faze: prvo se svaki ćirilični znak kodira u Unicode (UTF-8) u niz od dva bajta, a zatim se svaki bajt ovog niza zapisuje u heksadecimalnom prikazu:

M → D0 i 9C → %D0%9C

i → D0 i B8 → %D0%B8

do → D0 i BA → %D0%BA

p → D1 i 80 → %D1%80, itd.

Svakom takvom heksadecimalnom bajt kodu, prema specifikaciji URL-a, prethodi znak postotka (%) - otuda je čak i nastao engleski izraz "percent-encoding", koji označava način na koji su znakovi kodirani u URL-ovima i URI-ovima.

Budući da su slova svih alfabeta podvrgnuta takvoj transformaciji, osim osnovne latinice, URL sa riječima na velikoj većini jezika (osim engleskog, talijanskog, latinskog) može postati nečitljiv za osobu.

Sve je to u suprotnosti sa principom internacionalizma koji proklamuju sve vodeće organizacije interneta, uključujući W3C i ISOC. IRI (International Resource Identifier) ​​standard je dizajniran da riješi ovaj problem - međunarodni identifikatori resursa u kojima se Unicode znakovi mogu koristiti bez problema, i koji stoga ne bi narušili prava drugih jezika.

Druge URL šeme

HTTP šema.

Šema specificira svoj identifikator, adresu mašine, TCP port, putanju u direktorijumu servera, varijable i njihove vrednosti, oznaku.

sintaksa:

http://[ [:@][:][?]]

http - ime šeme

korisnik - korisničko ime

host - ime hosta

port - broj porta

upit(<имя-поля>=<значение>{&<имя-поля>=<значение>) - niz upita

Definirano u RFC 2068. Po defaultu, port=80.

primjeri:
http://ipm.kstu.ru/internet/index.php

Ovo je najčešći tip URI koji se koristi u WWW dokumentima. Ime šeme (http) prati putanja koja se sastoji od adrese domene mašine i pune adrese HTML dokumenta u stablu HTTP server.

IP adresa se takođe može koristiti kao adresa mašine:

http://195.208.44.20/internet/index.php

Ako server HTTP protokola radi na nečemu drugom osim 80 TCP port, onda se to odražava u adresi:

http://195.208.44.20:8080/internet/index.php

http://195.208.44.20/internet/index.php#metka1
Znak "#" odvaja naziv dokumenta od naziva oznake.

Varijable i njihove vrijednosti se prenose na sljedeći način:
http://ipm.kstu.ru/internet/index.php?var1=value1&vard2=value2

Vrijednosti "var1" i "var2" su imena varijabli, a "value1" i "value2" su njihove vrijednosti.

FTP šema

Ova šema omogućava vam adresiranje FTP arhiva datoteka.

sintaksa:

ftp://[ [:@][:]

ftp - ime šeme

korisnik - korisničko ime

lozinka - korisnička lozinka

host - ime hosta

port - broj porta

url-path - putanja do datoteke i samog fajla

Definisano u RFC 1738. Podrazumevano, port=21, korisnik=anonimno, lozinka=e-adresa, ako je navedeno ime, ali ne postoji lozinka, to se traži u dijalogu.

izgleda kao:

//...//[;type= ], gdje :

Primjeri: ftp://ipm.kstu.ru/students/name/

Da biste naveli korisničko ime i lozinku, potrebno je da napišete ovako:
ftp://ime: [email protected]://ipm.kstu.ru/students/name/

U ovom slučaju, ovi parametri su odvojeni od adrese mašine simbolom "@", a jedan od drugog dvotočkom.

Mailto shema

Ova šema je za slanje pošte.

sintaksa:

mailto:[ {,,...}][?]

mailto - ime šeme

e-mail-1 ( @) - prva adresa e-pošte

korisnik - korisničko ime

host - ime hosta

e-mail-2 - druga adresa e-pošte

upit(<имя-поля-заголовка>=<значение>{&<имя-поля-заголовка>=<значение>) - niz upita

mailto: [email protected]

U ovoj šemi se prosljeđuju polja i njihove vrijednosti:

mailto: [email protected]?subject=Subject_of_the_mail&body=Text_to_be_embedded_in_the_mail

Adresa primaoca se također može napisati kao vrijednost polja za:

mailto: [email protected]?subject=Subject_of_the_mail&body=Text_to_be_embedded_in_the_mail

Šta je HTTP?

Prvi dokument (ali ne i standard) je RFC1945 (Hypertext Transfer Protocol -- HTTP/1.0 T. Berners-Lee, R. Fielding, H. Frystyk, maj 1996.)

Najnovija verzija je RFC2616 (Hypertext Transfer Protocol -- HTTP/1.1 R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, jun 1999.)

Protokol za prijenos hiperteksta je protokol za prijenos hiperteksta, protokol visokog nivoa (naime, na nivou aplikacije). Koristi se od strane WWW servisa za prijenos web stranica.

HTTP (HyperText Transfer Protocol, RFC 2616, trenutna verzija HTTP/1.1) je protokol za prijenos hiperteksta. Ovaj protokol je prvobitno bio namijenjen za razmjenu hipertekstualnih dokumenata, a sada su njegove mogućnosti značajno proširene (posebno su dodane funkcije podrške za striming).

HTTP je tipičan klijent-server protokol, poruke se razmjenjuju prema shemi "zahtjev-odgovor" u obliku ASCII komandi. Karakteristika HTTP protokola je mogućnost da se u zahtjevu i odgovoru specificira kako je isti resurs predstavljen razni parametri: format, kodiranje, jezik, itd. Zahvaljujući mogućnosti specificiranja kako je poruka kodirana, klijent i server mogu razmjenjivati ​​binarne podatke, iako je ovaj protokol tekstualni.

HTTP je protokol sloja aplikacije, ali se također koristi kao "transport" za druge protokole aplikacija kao što su SOAP, XML-RPC, WebDAV.

HTTP protokol definira metodu interakcije zahtjev-odgovor između klijentskog programa i serverskog programa u okviru Tehnološki svijetširoki web.

Za preuzimanje web stranice u pretraživač klijenta, on šalje zahtjev posebnom programu instaliranom na serverskom računaru, nazvanom http server, i obrađuje podatke primljene od njega. U ovom slučaju, funkcija pretraživača je da pita server određena stranica, nabavite ga i prikažite na ekranu korisnika. Server, s druge strane, prihvaća zahtjev, traži traženi dokument i daje klijentu ili sadržaj pronađene datoteke ili poruku o grešci ako takva datoteka nije pronađena ili joj je pristup iz nekog razloga odbijen. Važna tačka Razumevanje ovog procesa znači da http-server ne analizira sadržaj poslanog dokumenta. Grubo govoreći, http-server ne brine šta se nalazi unutar traženog fajla, on ga samo prosleđuje pretraživaču, a pretraživač već preuzima sve poslove oko strukturiranja i prikazivanja primljenih informacija.

Pretraživanje tražene stranice vrši se u određenom direktoriju, koji je dodijeljen na serverskom računaru za ovu stranicu - link ka ovom direktoriju je prisutan na adresi koju je unio korisnik. U slučaju kada se zahtjev ne postavlja prema određenom dokumentu, već prema web stranici u cjelini, http server automatski zamjenjuje tzv. "početnu stranicu" umjesto naziva prenesenog fajla, koji se zove index.htm ili index.html (u nekim slučajevima - default. htm ili default.html). Ovaj dokument se mora nalaziti u korijenskom direktoriju određenom za hosting vaše stranice, ili, ako je drugačije navedeno, u direktoriju koji se zove WWW. Sve ostale datoteke mogu se smjestiti ili u isti direktorij ili u ugniježđene direktorije, što je ponekad zgodno, posebno kada stranica sadrži nekoliko tematskih sekcija ili naslova.

Pored podmapa koje kreirate, u koje možete slobodno smjestiti gotovo svaki sadržaj koji vam je potreban, direktorij servera obično sadrži još nekoliko direktorija koje treba posebno spomenuti. Prvi je fascikla CGI-BIN, u koju se nalaze CGI skripte i druge skripte koje se pokreću sa vaše stranice. interaktivne aplikacije, kao i nekoliko servisnih direktorija neophodnih za normalan rad server. Na početna faza jednostavno ih treba zanemariti. Ponekad se u istom direktoriju gdje je pohranjen index.html nalazi red dodatni fajlovi: not_found.html - dokument koji se prikazuje ako http server ne može pronaći datoteku koju je tražio korisnik, forbidden.html - prikazuje se kao poruka o grešci ako je pristup traženom dokumentu odbijen, i na kraju robots.txt - fajl , u kojem na poseban način opisuje pravila za indeksiranje vašeg sajta od strane pretraživača.

U većini slučajeva, a posebno pri objavljivanju početne stranice na serverima koji pružaju besplatan hosting, korisnicima je onemogućen pristup servisnim direktorijima i CGI-BIN folderu, a nemoguća je i promjena sadržaja not_found i forbidden.html datoteka. Ovo treba uzeti u obzir ako planirate da u svoj resurs uključite bilo kakav interaktivni sadržaj koji zahtijeva barem mogućnost postavljanja datoteka u jednu od uslužnih mapa. U nekim slučajevima, možda vam neće biti dozvoljeno da kreirate ugniježđene direktorije na serveru, u kom slučaju će korisnik morati biti zadovoljan samo jednim direktorijem rezerviranim za vaše potrebe.

Iz prethodno navedenog postaje jasno da klijentski pretraživač može samo primati i obraditi informacije sa servera, te ih postavljati i modificirati samo ako je prijenos datoteka na server implementiran na osnovu HTTP protokola koristeći posebne CGI skripte uključene u server web -interfejs. U svim ostalim slučajevima morate koristiti tzv. ftp-server, na koji pomoću posebnog softvera možete prenijeti potrebne datoteke, automatski ih otpremaju u direktorij određen za vašu web lokaciju. U oba slučaja, moraćete da znate svoje korisničko ime i lozinku da biste pristupili sistemu. Takođe treba imati na umu da većina serverski programi(posebno Apache za UNIX kompatibilne platforme) razlikuju znakove malih i velikih slova, tako da bi sva imena datoteka i njihove ekstenzije trebali biti napisani kako bi se izbjegle greške mala slova, i to obavezno na latinskom. Ovo posljednje je zbog razlika u obradi kodiranja ruskog jezika, koja su tipična za određene servere.

HTTP protokol radi na sljedeći način: program klijenta uspostavlja TCP vezu sa serverom (standardni broj porta je 80) i šalje mu HTTP zahtjev. Server obrađuje ovaj zahtjev i izdaje HTTP odgovor klijentu.

Interakcija između klijenta i web servera se odvija razmjenom poruka. HTTP poruke se dijele na zahtjeve klijent-server i odgovore server-klijent.

Poruke zahtjeva i odgovora imaju zajednički format. Oba tipa poruka izgledaju ovako: prvo dolazi početna linija, zatim moguće jedno ili više polja zaglavlja, koja se nazivaju i zaglavlja, zatim prazan red (tj. red koji se sastoji od CR i LF znakova), koji označava kraj zaglavlja polja, a zatim eventualno tijelo poruke:

početni niz

polje zaglavlja 1

polje zaglavlja 2

polje zaglavlja N

tijelo poruke

HTTP zaglavlja

Format početnog stringa klijenta i servera se razlikuje i biće razmotreno u nastavku. Postoje četiri tipa zaglavlja:

Opšta zaglavlja (generalna zaglavlja), koja mogu biti prisutna i u zahtjevu i u odgovoru;

Zaglavlja zahtjeva (zaglavlja zahtjeva), koja mogu biti prisutna samo u zahtjevu;

Zaglavlja odgovora (response-headers), koja mogu biti prisutna samo u odgovoru;

Zaglavlja entiteta koja se odnose na tijelo poruke i opisuju njen sadržaj.

Svaki naslov se sastoji od naslova, znaka dvotačke ":" i vrijednosti. Najvažniji naslovi prikazani su u tabeli 1.

Tabela 1

HTTP zaglavlja

header Svrha
Naslovi objekata
dopustiti Navodi metode koje podržava server
kodiranje sadržaja Način na koji je tijelo poruke kodirano, na primjer da se smanji veličina
dužina sadržaja Dužina poruke u bajtovima
tip sadržaja Sadrži oznaku tipa MIME sadržaja odgovora. Ovisno o vrijednosti Content-Type, pretraživač tretira odgovor kao HTML stranicu, gif ili jpeg sliku, datoteku koju treba pohraniti na disk ili nešto drugo i poduzima odgovarajuću akciju. Neke vrste sadržaja: text/html - tekst u HTML format(web stranica); text/plain - običan tekst (slično "notepad"); image/jpeg - slika u JPEG formatu; image/gif - isto, u GIF formatu; Također može proslijediti kodiranje za tekstualne podatke. Na primjer: charset=windows-1251 charset=koi8-rus Content-Length - dužina sadržaja odgovora u bajtovima (veličina datoteke). Last-Modified - datum i vrijeme kada je dokument posljednji put izmijenjen.
ETag Jedinstvena oznaka resursa na serveru koja vam omogućava da uporedite resurse
Ističe Datum i vrijeme kada će se resurs na serveru promijeniti i treba ga ponovo preuzeti
Zadnja izmjena Datum i vrijeme posljednje izmjene sadržaja
Zaglavlja odgovora
Dob Broj sekundi za ponovni pokušaj zahtjeva za dobijanje novog sadržaja
lokacija URI resursa za pristup za dobivanje sadržaja
Pokušaj ponovo nakon Datum i vrijeme ili broj sekundi nakon kojih se zahtjev mora ponoviti da bi se dobio uspješan odgovor
server Naziv serverskog softvera koji je poslao odgovor
Zaglavlja zahtjeva
prihvatiti Spisak tipova sadržaja koje pretraživač podržava prema željenom redosledu ovog pretraživača, na primer: Prihvati: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/ msword, application/vnd.ms-powerpoint, */* Ovo je očigledno neophodno za slučaj kada server može izdati isti dokument u različitim formatima. Vrijednost ovog parametra uglavnom koriste CGI skripte za generiranje odgovora prilagođenog za dati pretraživač.
Prihvati Charset Kodiranja znakova u kojima klijent može prihvatiti tekstualni sadržaj
Prihvatite kodiranje Način na koji server može kodirati poruku
Domaćin Host i broj porta sa kojeg se traži dokument
If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since Zaglavlja zahtjeva za uvjetni pristup resursu
Domet Zatražite dio dokumenta
Korisnički agent Naziv klijentskog softvera - vrijednost je "kodno ime" pretraživača, na primjer: Mozilla/4.0 (kompatibilan; MSIE 5.0; Windows 95; DigExt)
Opšti naslovi
veza Connection (connection) - može uzeti vrijednosti Keep-Alive i close. Keep-Alive ("održi živ") znači da se nakon izdavanja ovog dokumenta veza sa serverom ne prekida, te se može izdati više zahtjeva. Većina pretraživača radi u Keep-Alive modu, jer vam omogućava da "skinete" html stranicu i slike za nju u jednoj konekciji na server. Jednom postavljen, Keep-Alive traje do prve greške ili eksplicitno specificiran u sljedećem zahtjevu za zatvaranje veze. zatvori - Veza je zatvorena nakon odgovora na ovaj zahtjev.
Datum Datum i vrijeme kada je poruka generirana
pragma Posebne komande specifične za implementaciju u vezi sa sadržajem koji se prenosi
Transfer Encoding Kako je poruka kodirana tokom prenosa

U nekim zaglavljima, vrijednost je datum i vrijeme. Moraju biti u formatu opisanom u RFC 1123, na primjer:

Tijelo poruke sadrži stvarne prenesene informacije - korisni teret poruke. Tijelo poruke je niz okteta (bajtova). Tijelo poruke može biti kodirano, s metodom kodiranja specificiranom u zaglavlju objekta Content-Encoding.

Poruka zahtjeva od klijenta do servera sastoji se od linije zahtjeva, zaglavlja (općenito, zahtjevi, objekt) i opciono tijela poruke.

Niz zahtjeva počinje metodom, nakon čega slijedi traženi ID resursa, verzija protokola i završni znakovi na kraju reda:

<Метод> <Идентификатор> <Версия HTTP>

Metoda specificira metodu za primjenu na traženi resurs. Na primjer, GET metoda kaže da klijent želi dobiti sadržaj resursa. Identifikator identifikuje traženi resurs. HTTP verzija je označena nizom poput ovog:

http/<версия>.<подверсия>

Metode HTTP protokola

Razmotrite osnovne metode HTTP protokola.

Metoda OPTIONS zahtijeva informacije o opcijama povezivanja (npr. metode, tipovi dokumenata, kodiranja) koje poslužitelj podržava za traženi resurs. Ova metoda omogućava klijentu da odredi opcije i/ili zahtjeve povezane sa resursom, ili mogućnostima servera, bez preduzimanja bilo kakve radnje na resursu ili pokretanja njegovog preuzimanja.

Ako odgovor servera nije poruka o grešci, onda zaglavlja entiteta sadrže informacije koje se mogu smatrati opcijama povezivanja. Na primjer, zaglavlje Dozvoli navodi sve metode koje podržava server za dati resurs.

Ako je traženi identifikator resursa zvjezdica ("*"), tada je OPTIONS zahtjev namijenjen adresiranju servera u cjelini.

Ako traženi identifikator resursa nije zvjezdica, tada se zahtjev OPTIONS primjenjuje na opcije koje su dostupne prilikom povezivanja na navedeni resurs.

Metoda GET vam omogućava da dobijete bilo koju informaciju u vezi sa traženim resursom. U većini slučajeva, ako identifikator traženog resursa ukazuje na dokument (na primjer, tekstualni dokument, grafička slika, video), server vraća sadržaj ovog dokumenta (sadržaj datoteke). Ako je traženi resurs aplikacija (program) za generiranje podataka, tada se generirani podaci vraćaju u tijelo poruke odgovora, a ne u binarnoj slici izvršne datoteke. Ovo se koristi, na primjer, prilikom kreiranja CGI aplikacija. Ako identifikator traženog resursa ukazuje na direktorij (direktorij, mapu), tada, ovisno o postavkama servera, ili sadržaj direktorija (lista datoteka) ili sadržaj jedne od datoteka koja se nalazi u ovom direktoriju (obično index.html ili default.htm). IN poslednji slučaj Ime foldera može se navesti sa ili bez znaka "/" na kraju. U nedostatku ovog simbola na kraju identifikatora, server izdaje jedan od odgovora za preusmjeravanje (sa statusnim kodovima 301 ili 302).

Pravi se razlika između "uvjetnog GET-a", u kojem poruka zahtjeva uključuje zaglavlja zahtjeva If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match ili If-Range. Uslovna GET metoda zahtijeva prijenos objekta samo ako zadovoljava uvjete opisane u navedenim zaglavljima. Uslovna GET metoda je dizajnirana da smanji nepotrebno preuzimanje mreže, jer vam omogućava da ne učitavate ponovo podatke koje je klijent već sačuvao.

Također se pravi razlika između "djelimičnog GET-a", u kojem poruka zahtjeva uključuje zaglavlje zahtjeva za opseg. Djelomični GET zahtijeva prijenos samo dijela objekta. Djelomična GET metoda ima za cilj da smanji nepotrebno opterećenje mreže zahtijevajući samo dio objekta kada je drugi dio već učitao klijent. Vrijednost zaglavlja Range je raspon bajtova koji se primaju. Bajtovi su numerisani od 0. Početni i krajnji bajt opsega su razdvojeni znakom "-". Ako trebate dobiti nekoliko raspona, oni su navedeni odvojeni zarezima.

HEAD metoda je identična GET, osim što server ne vraća tijelo poruke u odgovoru. Metainformacije sadržane u HTTP zaglavljima odgovora na HEAD zahtjev identične su informacijama koje su date u odgovoru na GET zahtjev. Ova metoda se može koristiti za dobivanje informacija o objektu zahtjeva bez direktnog prosljeđivanja tijela objekta. Metoda HEAD se često koristi za testiranje hipertekstualnih veza.

POST metoda se koristi za zahtjev u kojem adresirani server uzima podatke uključene u tijelo poruke (objekt) zahtjeva i šalje ih na obradu aplikaciji koja je navedena kao traženi resurs. POST je dizajniran da bude uobičajena metoda za implementaciju sljedeće karakteristike:

Bilješke o postojećim resursima;

Objavljivanje poruke na oglasnoj ploči (BBS), novinskim grupama, mailing listama ili sličnoj grupi članaka;

Prenošenje bloka podataka, kao što je rezultat unosa u formu, u proces obrade;

Izvršavanje upita prema bazama podataka (DB);

Zapravo, funkcija koju obavlja POST metoda određena je aplikacijom na koju ukazuje identifikator traženog resursa. Uz GET metodu, POST metoda se koristi prilikom kreiranja CGI aplikacija. Pregledač može generirati zahtjeve metodom POST prilikom podnošenja obrazaca. Da biste to učinili, element FORM HTML dokumenta koji sadrži obrazac mora imati atribut METHOD s vrijednošću POST.

Radnja izvedena metodom POST može izvršiti radnju na serveru i ne proslijediti nikakav sadržaj kao rezultat operacije. U ovom slučaju, ovisno o tome da li odgovor uključuje tijelo poruke koje opisuje rezultat ili ne, statusni kod odgovora može biti ili 200 (OK) ili 204 (Nema sadržaja).

Ako je resurs na poslužitelju kreiran, odgovor sadrži statusni kod 201 (Kreirano) i uključuje zaglavlje odgovora lokacije.

Tijelo poruke koja se prosljeđuje u zahtjevu metodom PUT pohranjuje se na server, a identifikator traženog resursa će biti identifikator sačuvanog dokumenta. Ako identifikator traženog resursa ukazuje na već postojeći resurs, tada se objekt uključen u tijelo poruke tretira kao modificirana verzija resursa koji se nalazi na serveru. Ako se kreira novi resurs, server o tome obavještava korisničkog agenta putem odgovora sa statusnim kodom 201 (Kreirano, Kreirano).

Fundamentalna razlika između POST i PUT metoda je drugačije značenje identifikator traženog resursa. URI u POST zahtjevu identificira resurs koji rukuje objektom uključenim u tijelo poruke. Ovaj resurs može biti aplikacija koja prima podatke. Nasuprot tome, URI u PUT zahtjevu identifikuje entitet uključen u zahtjev kao tijelo poruke, to jest, korisnički agent dodjeljuje taj URI uključenom resursu.

Metoda DELETE traži od servera da izbriše resurs koji ima traženi identifikator. Zahtjev s ovom metodom može biti odbijen od strane servera ako korisnik nema dozvolu za brisanje traženog resursa.

Metoda TRACE se koristi za vraćanje proslijeđenog zahtjeva na sloju HTTP protokola. Primalac zahteva (Web server) šalje primljenu poruku nazad klijentu kao telo objekta odgovora sa statusnim kodom 200 (OK). TRACE zahtjev ne smije sadržavati tijelo poruke.

TRACE omogućava klijentu da vidi šta server prima na drugom kraju i koristi te informacije za testiranje ili dijagnostiku.

Ako je zahtjev uspješan, tada odgovor sadrži cijelu poruku zahtjeva u tijelu poruke odgovora, a zaglavlje Content-Type ima vrijednost "message/http".

Kodovi odgovora

Nakon prijema i tumačenja poruke zahtjeva, server odgovara porukom HTTP odgovora.

Prva linija odgovora je Statusna linija. Sastoji se od verzije protokola, numeričkog statusnog koda, izraza za objašnjenje, odvojenih razmacima i znakova na kraju reda:

<Версия HTTP> <Код состояния> <Поясняющая фраза>

Verzija protokola ima istu vrijednost kao u zahtjevu.

Element Status-Code je cjelobrojni trocifreni (trocifreni) kod rezultata razumijevanja i zadovoljenja zahtjeva. Fraza razloga je kratak tekstualni opis statusnog koda. Statusni kod je za softversku obradu, a izraz za objašnjenje je za korisnike.

Prva cifra statusnog koda određuje klasu odgovora. Posljednje dvije cifre nemaju posebnu ulogu u klasifikaciji. Postoji 5 vrijednosti za prvu cifru:

1xx: Informacijski kodovi - zahtjev primljen, obrada se nastavlja.

2xx: Kodovi uspjeha- akcija je uspješno primljena, shvaćena i obrađena.

3xx: Kodovi za preusmjeravanje - Moraju se poduzeti daljnje radnje da se zahtjev završi.

4xx: kodovi grešaka klijenta - zahtjev ima sintaksičku grešku ili se ne može dovršiti.

5xx: Serverski kodovi grešaka - Server nije u mogućnosti da ispuni važeći zahtjev.

Fraze razloga za svaki statusni kod su navedene u RFC 2068 i preporučuju se, ali se mogu zamijeniti ekvivalentnim bez uticaja na protokol. Na primjer, u lokaliziranim verzijama HTTP servera na ruskom jeziku, ove fraze su zamijenjene ruskim. Tabela 2 prikazuje kodove odgovora HTTP servera.

tabela 2

HTTP serverski kodovi odgovora

Šifra Izraz objašnjenja prema RFC 2068 Ekvivalentni izraz za objašnjenje na ruskom
1xx: Informacijski kodovi
Nastavi Nastavi
2xx: Kodovi uspjeha
uredu uredu
Created Created
nema sadržaja Nema sadržaja
Resetujte sadržaj Resetujte sadržaj
Djelomičan sadržaj Djelomičan sadržaj
3xx: Kodovi za preusmjeravanje
Premješteno privremeno Privremeno preseljena
Nije izmijenjeno Nije izmijenjeno
4xx: Klijentovi kodovi grešaka
Loš zahtjev Neispravan zahtjev
Neovlašteno Neovlašteno
nije pronađeno Nije pronađeno
Metoda nije dozvoljena Metoda nije dozvoljena
Request Timeout Zahtjev je istekao
Sukob Sukob
Obavezna dužina Potrebna dužina
Entitet zahtjeva je prevelik Objekt zahtjeva je prevelik
5xx: Serverski kodovi grešaka
Interni greska servera Interna greška serveri
Nije implementirano Nije implementirano
usluga nedostupna Usluga je nedostupna
HTTP verzija nije podržana Nepodržana verzija HTTP-a

Statusnu liniju prate zaglavlja (općenito, odgovor i objekt) i opciono tijelo poruke.

Jedna od najvažnijih funkcija web server je omogućiti pristup dijelu lokala sistem podataka. Da biste to učinili, u postavkama servera je naveden određeni direktorij, koji je root za ovaj server. Objaviti dokument, odnosno napraviti ga dostupna korisnicima koji je "posjetio" ovaj server (povezan s njim preko HTTP-a), morate kopirati ovaj dokument na korijenski direktorij Web server ili jedan od njegovih poddirektorija. Prilikom povezivanja putem HTTP protokola, na serveru se kreira proces sa korisničkim pravima, koji po pravilu ne postoji u stvarnosti, već je posebno kreiran za pregled resursa servera. Konfigurisanjem prava i dozvola datog korisnika, možete kontrolisati pristup Web resursima.

Razmislite najjednostavniji primjer HTTP zahtjev. Ako u adresni prozor pretraživača upišemo adresu http://yandex.ru, pretraživač će odrediti IP adresu servera yandex.ru i poslati mu sljedeći HTTP zahtjev na 80. port:

GET http://yandex.ru/ HTTP/1.0

Prihvatite: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

Accept-Language: en

Kolačić: yandexuid=2464977781018373381

Korisnički agent: Mozilla/4.0 (kompatibilan; MSIE 5.5; Windows 98)
Domaćin: yandex.ru

Referer: narod.ru

Proxy veza: Keep Alive

Zahtjev se šalje u nešifriranom tekstualnom obliku. Najvažniji dio zahtjeva nalazi se u prvom redu: Ovo je tip zahtjeva (GET), URL traženog dokumenta (http://yandex.ru) i verzija HTTP protokol(HTTP/1.0). Parametri upita su navedeni u nastavku. Svaki red odgovara jednom parametru. Red počinje imenom parametra, nakon čega slijedi dvotočka i vrijednost parametra.

Prihvati - tip podataka koje pretraživač može prihvatiti (u MIME kodiranju).

Accept-Language je preferirani jezik na kojem pretraživač želi prihvatiti podatke. Korisnički agent - tip programa koji je poslao zahtjev.

Host - DNS (ili IP) ime hosta na koji je zahtjev upućen.

Cookie - kolačići (podaci koje je server pohranio na lokalni disk klijent kada je posljednji put posjetio ovog domaćina).

Referer - host sa čije stranice šaljemo zahtjev. Tako, na primjer, ako se nalazimo na stranici http://narod.ru i tamo kliknemo na vezu http://yandex.ru, tada će zahtjev biti poslan hostu yandex.ru, a polje za zahtjev referera će sadržavati ime hosta narod.ru.

Skup parametara upita nije fiksiran. Pored navedenih, mogu postojati i drugi parametri.

Najzanimljiviji parametri su referer i kolačić. Ovi parametri se uglavnom koriste za identifikaciju korisnika od strane servera.

GET zahtjev može sadržavati podatke proslijeđene od klijenta do servera. Oni se prenose direktno preko URL-a koristeći CGI protokol. Podaci su odvojeni od URL-a znakom “?” i povezani su znakom "&":

GET ?<параметр 1>=<значение 1>&<параметр 2>=<значение 2>&…

Ovaj tip prijenosa podataka na server je zgodan, ali ima ograničenja u volumenu. Preveliki nizovi podataka ne mogu se prenijeti putem URL-a. Za takve svrhe postoji još jedna vrsta zahtjeva: POST zahtjev. POST zahtjev je vrlo sličan GET zahtjevu, s jedinom razlikom što se podaci u POST zahtjevu prosljeđuju odvojeno od samog zaglavlja zahtjeva:

Tijelo zahtjeva mora biti odvojeno od zaglavlja praznim redom. Ako server naiđe na prazan niz u POST zahtjevu, onda se sve što slijedi smatra tijelom zahtjeva (preneseni podaci). Obratite pažnju na sledeće: format podataka u telu POST zahteva je proizvoljan. Iako se najčešće koristi CGI format, nije potreban. Osim toga, POST zahtjev ne zahtijeva tijelo zahtjeva, a može proći i podatke kroz URL.

Osim CGI formata, ponekad se za prijenos velikih količina informacija (na primjer, datoteka) koriste i tzv. višedelni format (format prenetih podataka je određen parametrom Content-Type):

Moderni pretraživači sadrže alate za web programere da dobiju neke informacije o zahtjevima za objavu koji se šalju. Ako trebate pogledati zaglavlja samo nekoliko zahtjeva, njihovo korištenje će biti lakše i brže od drugih metoda.

Ako koristite Firefox, možete koristiti njegovu web konzolu. Prikazuje zaglavlja zahtjeva i sadržaj poslanog kolačići. Da biste ga pokrenuli, otvorite meni pretraživača, kliknite na stavku "Web Development" i izaberite "Web Console". Na panelu koji se pojavi aktivirajte dugme "Mreža". Unesite naziv metode u polje filtera - objava. Ovisno o vašim ciljevima, kliknite na dugme obrasca koji šalje traženi zahtjev ili osvježite stranicu. Konzola će prikazati dostavljeni zahtjev. Kliknite na njega mišem da vidite više detalja.

Google pretraživač Chrome ima moćne alate za otklanjanje grešaka. Da biste ih koristili, kliknite na ikonu francuskog ključa, a zatim proširite stavku "Prilagodi i kontroliraj Google Chrome". Odaberite "Alati" i pokrenite "Alati za programere". Na traci sa alatkama odaberite karticu Mreža i pošaljite zahtjev. Pronađite traženi zahtjev na listi i kliknite na njega da vidite detalje.

Opera pretraživač ima ugrađene programerske alate za Opera Dragonfly. Da biste ih pokrenuli, kliknite desnim tasterom miša na željenu stranicu i odaberite stavku kontekstni meni"Istraži element". Idite na karticu "Mreža" alata za programere i podnesite traženi zahtjev. Pronađite ga na listi i proširite da biste ispitali zaglavlja i odgovore servera.

Internet Explorer 9 uključuje paket pod nazivom "F12 Developer Tools" koji pruža detaljne informacije na ispunjene zahtjeve. Pokreću se pritiskom na dugme F12 ili korišćenjem menija "Alati" koji sadrži istoimenu stavku. Za pregled zahtjeva idite na karticu "Mreža". Pronađite dati upit u sažetku i dvaput kliknite da biste proširili detalje.

Preglednici Chrome i Internet Explorer 9 sadrže ugrađene alate koji vam omogućavaju da detaljno pregledate poslani zahtjev za objavu. Za sve detalje, koristite ih ili Firefox s instaliranim Firebug dodatkom. Vrlo je zgodan za često ispitivanje upita, na primjer, prilikom otklanjanja grešaka na web lokacijama.

Ako želite da vidite zahtjev koji šalje program koji nije pretraživač, koristite Fiddlerov HTTP debugger. Djeluje kao proxy server i presreće zahtjeve bilo kojeg programa i pruža vrlo detaljne informacije o njihovim zaglavljima i sadržaju.

Top Related Articles