Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • OS
  • Pogledajte što je "Uri" u drugim rječnicima. Druge sheme url-a

Pogledajte što je "Uri" u drugim rječnicima. Druge sheme url-a

Url(Jedinstveni lokator resursa)- jednoobrazni lokator (lokator) resursa. Url je standardizirani način bilježenja adrese izvora na Internetu.

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

URI je više opći koncept umjesto URL-a. 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. Doista, bilo koji URL sadrži dovoljno informacija za točno lociranje stranice. Do kraja ovog tečaja zadržat ćemo se skraćenica URL-ova kada koristimo adrese web-mjesta.

Struktura URL-a web-mjesta

Natrag na Url http://school.it2moro.ru/ ... Može se podijeliti na 3 dijela:

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

Prvi dio adrese (http: //) definira protokol interakcije između preglednika i poslužitelja. U našem slučaju, ovo je HTTP protokol, o kojem će biti riječi u nastavku.

Drugi dio adresna traka se naziva SUBDOMAIN, i treći - domena. Oni služe za identifikaciju određene stranice pomoću DNS usluge. DNS (Domain Name System) - računalo distribuirani sustav za informacije o domenama. Najčešće se koristi za dobivanje IP adrese od imena hosta (računala ili uređaja). Na mreži postoji veliki broj DNS poslužitelja, koji imenom domene nekog resursa mogu "sugerirati" njegovu stvarnu lokaciju, determiniranu njegovom IP adresom.

Izvorni kod HTML stranice

Pogledajmo sada što preglednik prima kao odgovor na generirani HTTP zahtjev. Stranica se može sastojati od teksta, slika, hiperveza, polja za unos, gumba i drugih elemenata. Informacije o svemu tome prenijete su s web poslužitelja na preglednik, koji je generirao konačni izgled stranice. Preneseni podaci opisuju se pomoću HTML protokola.

HTML(HyperText Markup Language) je standardni jezik za označavanje dokumenata na Internetu. HTML jezik tumači preglednik i prikazuje se kao dokument u ljudskom obliku.

Možemo reći da preglednici obavljaju dvije glavne funkcije - to je interakcija s web poslužiteljima putem HTTP zahtjevi i također pretvaranje HTML koda primljenog od poslužitelja u vizualni prikaz.

URI (Jedinstveni identifikator resursa) je jedinstveni (uniformni) identifikator resursa. URI je niz znakova koji vam omogućuje da identificirate bilo koji resurs: dokument, sliku, datoteku, uslugu, e-mail pretinac itd. Prije svega, govorimo, naravno, o resursima Interneta i World Wide Weba . URI pruža jednostavan i proširiv način identificiranja resursa. Proširivost URI-ja znači da nekoliko identifikacijskih shema već postoji unutar URI-ja, a u budućnosti će biti kreirano više.

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

Vennov dijagram koji prikazuje podskupove URI sheme: URL i URN.

URI je ili URL, 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 ukazuje na 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 mjesto tog resursa: ne piše u kojoj trgovini ga možete kupiti ili na kojoj web stranici ga preuzeti.

Budući da URI ne pokazuje uvijek kako doći do resursa, za razliku od URL-a, već ga samo identificira, to omogućuje opisivanje resursa pomoću RDF-a (Resource Description Framework) koji se ne mogu dobiti putem interneta (na primjer, osoba, automobil, grad itd.).

Priča

Godine 1990., u Ženevi u Švicarskoj, unutar zidina Europskog vijeća za nuklearna istraživanja, britanski znanstvenik Tim Berners-Lee izumio je URL lokator lokacije resursa. Budući da je URL najčešće korišteni podskup URI-ja, 1990. se smatra godinom rođenja URI-ja. Ali, strogo govoreći, koncept URI dokumentiran je tek u lipnju 1994. u RFC 1630.

Nova verzija URI je definiran 1998. RFC 2396, ujedno i riječ Univerzalni u naslovu je promijenjen u Uniforma.

Nedostaci

URL je bio temeljna inovacija na Internetu, pa su principi URI-ja dokumentirani kako bi se osigurala potpuna kompatibilnost URL-a. Odatle dolazi veliki nedostatak URI-ja, nasljeđivanje od URL-ova. U URI-ju, kao i u URL-u, može se koristiti samo ograničen skup latiničnih znakova i interpunkcijskih znakova (čak i manje nego u ASCII-u). Drugim riječima, ako želimo koristiti ćirilične znakove, ili hijeroglife, ili, recimo, specifične francuske znakove, u URI-ju, morat ćemo kodirati URI na isti način na koji Wikipedia kodira URL-ove s Unicode znakovima. Na primjer, redak poput ovoga:

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

URL kodiran 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 one koja se koristi u Engleski jezik Latinska slova, zatim URI s riječima na drugim jezicima (čak i europskim) gube sposobnost da ih ljudi percipiraju. A to je u velikoj suprotnosti s načelom internacionalizma, koje proklamiraju sve vodeće organizacije Interneta, uključujući W3C i ISOC. Namjera je da se ovaj problem riješi IRI standardom (eng. Internacionalizirani identifikator resursa) - međunarodni identifikatori resursa u kojima bi bilo moguće bez problema koristiti Unicode znakove i koji ne bi narušili prava drugih jezika. Također, tvorac URI-ja, Tim Berners-Lee, rekao je da je sustav naziva domene koji leži u osnovi URL-a loša odlukašto resursima nameće hijerarhijsku arhitekturu koja nije baš prikladna za hipertekstualni web.

URI struktura

URI = [shema ":"] hijerarhijski - dio [ "?" zahtjev] [isječak "#"]

U ovom unosu:

Shema

shema za pristup resursu (često označava mrežni protokol), na primjer, http, ftp, file, ldap, mailto, urn

Hijerarhijski-dio

sadrži podatke, obično organizirane u hijerarhijskom obliku, koji u kombinaciji s podacima u nehijerarhijskoj komponenti upit, služe za identifikaciju resursa unutar opsega URI sheme. Obično hijerarhijski-dio sadrži put do resursa (i, moguće, ispred njega, adresu poslužitelja na kojem se nalazi) ili identifikator resursa (u slučaju URN).

Upit

ova izborna URI komponenta je gore opisana.

Fragment

(također neobavezna komponenta)

Omogućuje vam da neizravno identificirate sekundarni resurs upućivanjem na primarni i naznačavanjem dodatne informacije... Sekundarni izvor koji se može identificirati može biti neki dio ili podskup primarnog, neki njegov prikaz ili drugi resurs definiran ili opisan takvim izvorom.

Raščlanjivanje strukture URI-ja. Za takozvanu "parsing" URI-ja (eng. raščlanjivanje), odnosno za rastavljanje URI-ja na njihove sastavne dijelove i njihovu naknadnu identifikaciju, najprikladnije je koristiti sustav regularnog izraza, koji je sada dostupan u gotovo svim moderni jezici programiranje. Sljedeći uzorak preporučuje se za raščlanjivanje URI-ja u RFC 3986:

Ovaj uzorak uključuje 9 grupa gore označenih brojevima (za više informacija o obrascima i grupama pogledajte Regularni izrazi), koje najpotpunije i najtočnije analiziraju tipičnu URI strukturu, gdje:

  • skupina 2 - shema,
  • grupa 4 - izvor,
  • grupa 5 - put,
  • grupa 7 - zahtjev,
  • grupa 9 - ulomak.

Dakle, ako, koristeći ovaj predložak, analiziramo, na primjer, takav tipičan URI:

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

tada će 9 gornjih grupa predložaka dati 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. #Povezano
  8. Povezano

Primjeri URI-ja:

Apsolutni URI-ji

  • https://ru.wikipedia.org/wiki/URI
  • ftp://ftp.is.co.za/rfc/rfc1808.txt
  • datoteka: // C: \ Korisničko ime.HostName \ Projekti \ Wikipedia_Articles \ URI.xml
  • datoteka: /// C: /file.wsdl
  • datoteka: ///Users/John/Documents/Projects/Web/MyWebsite/about.html
  • ldap: /// c = GB? objectClass? jedan
  • mailto: [e-mail zaštićen]
  • gutljaj: [e-mail zaštićen]
  • vijesti: comp.infosystems.www.servers.unix
  • podaci: tekst / običan; skup znakova = iso-8859-7,% be% be% be
  • tel: + 1-816-555-1212
  • telnet: //192.0.2.16: 80 /
  • urna: oaza: nazivi: 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 / put / do / resurs.txt
  • ../../../resource.txt
  • resurs.txt
  • /resource.txt#frag01
  • # frag01

[prazan string] - ekvivalentno je raščlanjivanju identifikatora od strane parsera s rezultatom [prazni niz], to jest, veza vodi do zadanog objekta u zadanoj shemi

DNS usluga

DNS je skraćenica od Domain Name System. Nazivi DNS domena su sinonimi za IP adrese, baš kao što su imena u adresaru vašeg telefona sinonimi za telefonske brojeve. Oni su simbolički, a ne brojčani; prikladniji su za pamćenje i orijentaciju; nose semantičko opterećenje. www.irnet.ru → DNS tablice → 193.232.70.36 Nazivi domena su također jedinstveni, tj. ne postoje dva identična imena domena na svijetu. Nazivi domena, za razliku od IP adresa, nisu obavezni, kupuju se dodatno.

Riža. 2. Hijerarhija u DNS-u.

Jedinstvene su i adrese koje su naznačene na omotnicama prilikom dostave pisama običnom poštom. Ne postoje države na svijetu s istim imenom. A ako se nazivi gradova ponekad ponavljaju, onda u kombinaciji s podjelom na veće administrativne jedinice poput okruga i regija postaju jedinstveni. I nazivi ulica ne bi se trebali ponavljati unutar istog grada. Dakle, adresa, na temelju zemljopisnih i administrativnih naziva, jedinstveno identificira odredište. Domene imaju sličnu hijerarhiju. Nazivi domena međusobno su odvojeni točkama: lingvo.yandex.ru, krkime.com.

DNS ima sljedeće karakteristike:

  • Distribuirana administracija... Za različite dijelove hijerarhije odgovorni su različiti ljudi ili organizacije.
  • Distribucija pohrane informacija... Svaki čvor mreže mora nužno pohraniti samo podatke koji su uključeni u svoj područje odgovornosti, i (eventualno) adrese korijenski DNS poslužitelji.
  • Predmemorija informacija... Čvor može biti pohranjuju neke podatke izvan područja njihove odgovornosti kako bi smanjili opterećenje mreže.
  • Hijerarhijska struktura, u kojem su svi čvorovi kombinirani u stablo, a svaki čvor može ili samostalno odrediti rad čvorova niže razine, ili delegat(prenijeti) ih na druge čvorove.
  • Rezervacija... Nekoliko poslužitelja (obično) odgovorno je za pohranu i održavanje svojih čvorova (zona), fizički i logički odvojenih, što osigurava sigurnost podataka i nastavak rada čak i u slučaju kvara jednog od čvorova.

Razine domene. Postoje tri razine domena.

domene prvo ili vrhunska razina dijele se u dvije grupe:

1) To su domene s teritorijalnom pripadnosti, na primjer: .ru .by .ua .de .us itd. To su domene koje su dodijeljene određenoj zemlji. Po njima možete, na primjer, odrediti kojoj zemlji pripada određena stranica.

2) Druga skupina domena prve razine su domene neke specifične namjene. Na primjer: .com - za komercijalne organizacije, .info - za informativne stranice, .tv - za televizijske tvrtke, itd. Ove domene se mogu koristiti za određivanje specifičnog fokusa stranice. Iako se, istini za volju, u posljednje vrijeme sve više koriste na bilo koji način i često ne drže svoju svrhu.

Domene prve razine ne mogu se koristiti kao adresa vaše stranice. Oni služe za stvaranje domena druga razina , dakle, na bilo kojoj od domena prve razine, možete registrirati domenu druge razine. Domena druge razine sastoji se od sljedećih elemenata: www.site_name.first-level domena. Na primjer: www.webmastermix.ru. Preporuča se koristiti nazive domena druge razine za adresu stranice. Ljudi ih najbolje čitaju i pamte, kao i percipiraju tražilice. Stoga većina web-mjesta ima nazive domena na ovoj razini.

Osim toga, postoje domene treća razina ... Izrađuju se na temelju domena druge razine. Domena treće razine izgleda ovako: www.forum.webmastermix.ru. Nakon registracije domene druge razine, možete samostalno kreirati na njezinoj osnovi onoliko domena treće razine koliko želite. Možete registrirati naziv domene za svoju web stranicu pomoću posebnih usluga.

WEB TEHNOLOGIJE: HTML, JAVASCRIPT

Prvi dio didaktičkog bloka navedene teme bio je posvećen Internet tehnologijama. Sada počinjemo proučavati tehnologije koje se koriste u Svjetska mreža, odnosno web tehnologije.

Prvo morate razumjeti osnovne koncepte web tehnologija: web stranicu i web stranicu. Web stranica je minimalna 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 poslužitelju i u vlasništvu su istog vlasnika. U određenom slučaju, web mjesto može biti predstavljeno jednom web stranicom. World Wide Web je zbirka svih web stranica.

Osnova cjelokupnog World Wide Weba je jezik za označavanje hiperteksta HTML – Hyper Text Markup Language (slika 3). Služi za logičko (semantičko) označavanje dokumenta (web stranice). Ponekad se neispravno koristi za kontrolu načina na koji se sadržaj web stranica prikazuje na zaslonu monitora ili prilikom ispisa na pisač, što je u osnovi proturječno ideologiji usvojenoj na World Wide Webu.

Riža. 3. Web tehnologije

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

Skriptni jezici se koriste za dodavanje dinamike web stranicama (padajući izbornici, animacija). Standardni skriptni jezik na svjetskoj mreži je JavaScript. Jezgra JavaScripta je ECMAScript.

HTML, CSS, JavaScript su jezici s kojima možete izraditi bilo koju složenu web stranicu. Ali ovo je samo lingvistička podrška, dok su u preglednicima dokumenti predstavljeni kao zbirka objekata, od kojih su mnogi objektni model preglednika (BOM). Objektni model preglednika je jedinstven za svaki model, pa se tako javljaju problemi pri izradi aplikacija za više preglednika. Stoga je Web konzorcij predložio objektni model dokument (DOM), što je standardni način predstavljanja web stranica pomoću skupa objekata.

Sintaksa moderni HTML opisano pomoću proširivog jezika XML označavanje- Proširivi jezik za označavanje. XML će vam omogućiti da stvorite vlastite označne jezike slične HTML-u u obliku DTD-ova. Postoji mnogo takvih jezika: za predstavljanje matematičkih i kemijskih formula, znanja itd.

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

EMAIL

Elektronička pošta (e-pošta, e-pošta, od engleskog elektronička pošta) je tehnologija i usluge koje pruža za slanje i primanje elektroničkih poruka (zvanih "pisma" ili " e-poruke") Distribuirano računalna mreža... Glavna razlika od ostalih sustava za razmjenu poruka je mogućnost odgođene dostave i razvijen sustav interakcije između neovisnih poslužitelja pošte.

E-pošta omogućuje slanje i primanje poruka, odgovaranje na pisma dopisnika automatski koristeći njihove adrese, slanje kopija pisma na više primatelja odjednom, prosljeđivanje primljenog pisma na drugu adresu, korištenje logičkih naziva umjesto adresa (brojčane ili imena domena), stvorite nekoliko pododjeljaka poštanskog sandučića za sve vrste korespondencije, uključite tekstualne datoteke u pisma, koristite sustav "reflektora pošte" za vođenje rasprava s grupom svojih dopisnika itd. Za slanje poštanske poruke e-mailom potrebno je navesti adresu poštanskog sandučića. Poštanski sandučić pretplatnika e-pošte je područje na tvrdom disku poslužitelja e-pošte rezervirano za korisnika.

Razvoj internetske tehnologije doveo je do pojave modernih protokola za razmjenu poruka, koji pružaju velike mogućnosti za obradu pisama, razne usluge i jednostavnost korištenja. Na primjer, SMTP protokol, koji radi na principu klijent-poslužitelj, dizajniran je za slanje poruka s računala primatelju. Obično pristup SMTP poslužitelju nije zaštićen lozinkom, tako da se bilo koji poznati poslužitelj na mreži može koristiti za slanje e-pošte. Za razliku od poslužitelja za slanje pisama, pristup poslužiteljima za pohranu poruka zaštićen je lozinkom. Stoga je potrebno koristiti poslužitelj ili uslugu u kojoj se Račun... Ovi poslužitelji koriste POP i IMAP protokole, koji se razlikuju po načinu na koji pohranjuju poruke.

U skladu s POP3 protokolom, poruke koje stignu na određenu adresu pohranjuju se na poslužitelju sve dok se ne preuzmu na računalo tijekom sljedeće sesije. Nakon preuzimanja poruka, možete prekinuti vezu s mrežom i početi čitati poštu. Stoga je korištenje POP3 pošte najbrže i najprikladnije za korištenje.

IMAP protokol je prikladan za one ljude koji koriste stalnu vezu s mrežom. Poruke koje prima adresa također se pohranjuju na poslužitelju, ali, za razliku od POP3, prilikom provjere pošte prvo će se preuzeti samo zaglavlja poruke. Samo pismo se može pročitati nakon odabira zaglavlja poruke (preuzet će se s poslužitelja). Jasno je da kod dial-up veze rad s poštom pomoću ovog protokola dovodi do nepotrebnog gubitka vremena.

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

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 nužno mora inicirati sam sustav za prijenos.

MTA (Mail Transfer Agent) - agent za prijenos pošte - glavna je komponenta internetskog sustava za prijenos pošte koja predstavlja ovaj mrežno računalo za mrežni sustav e-pošte. Obično korisnici ne rade s MTA-om, već s programom MUA (Mail User Agent) – klijentom e-pošte. Princip interakcije shematski je prikazan na slici.

2) POP, POP2, POP3 (protokol pošte)- tri prilično jednostavna nepromjenjiva protokola, razvijena za isporuku pošte korisniku sa središnjeg poslužitelja pošte, brisanje s njega i identifikaciju korisnika imenom/lozinkom. POP uključuje SMTP, koji se koristi za prijenos pošte od korisnika. Poruke e-pošte mogu se primati u obliku zaglavlja, bez primanja cijele poruke.

Nakon uspostavljanja veze, POP3 protokol prolazi kroz tri uzastopna stanja

      1. Autorizacija klijent prolazi kroz postupak autentifikacije
      2. Klijentska transakcija prima informacije o stanju poštanskog sandučića, prihvaća i briše poštu.
      3. Ažuriranje poslužitelja 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 s poštanskim sandučićima koji se nalaze na središnjem poslužitelju

o IMAP sprema poštu na poslužitelju u direktorije datoteka, a klijentu također pruža mogućnost pretraživanja nizova u porukama pošte na samom poslužitelju.

o IMAP2 - koristi se u rijetkim slučajevima.

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

o IMAP2bis - IMAP2 proširenje koje omogućuje poslužiteljima da raščlane poruke u MIME (Višenamjenska proširenja internetske pošte) poruke, koje se još uvijek koriste.

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

o IMAP4rev1 - Proširuje IMAP širokim rasponom značajki, uključujući one koje koristi DMSP (Distributed Mail System for Personal Computers).

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

5) DMSP (ili PCMAIL) je protokol za primanje/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 kroz koji se odvija razmjena, koji se, kada je spojen na poslužitelj, ažurira na Trenutna država na poslužitelju pošte.

6) MIME je standard koji definira mehanizme za slanje svih vrsta informacija putem e-pošte, uključujući tekst na jezicima koji nisu engleski, za koje se koriste kodiranja znakova različita od ASCII, kao i 8-bitni binarni sadržaj kao što su slike, glazbu, filmove i programe.

Samostalan rad.

Izvršiti primjer naveden u tekstu (handout) Spremi u vlastitu mapu na radnoj površini.

9.2. Rad s učiteljem:

Ako imate poteškoća ili pogrešne radnje obratite se svom učitelju da ispravi pogreške.

Do kraja sata pokažite učitelju izvješće o obavljenom poslu i za taj rad dobijete kredit.

9.3. Kontrola početne i završne razine znanja:

Testiranje na računalu .


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 identificiranja resursa. Proširivost URI-ja znači da nekoliko identifikacijskih shema već postoji 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. URN je URI koji identificira resurs u određenom imenskom prostoru (a time i u određenom 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 mjesto tog resursa. Međutim, nedavno je postojala tendencija da se govori jednostavno o URI-ju o bilo kojem nizu identifikatora, bez daljnje razrade. Stoga će pojmovi URL i URN uskoro postati stvar prošlosti.

Priča

Nova verzija URI-ja definirana je 1998. godine u RFC 2396, ujedno i riječ Univerzalni u naslovu je promijenjen u Uniforma... U prosincu 1999. RFC 2732 uveo je manje promjene u URI specifikaciju kako bi se osigurala kompatibilnost s kolovozom 2002. RFC 3305 najavio je ukidanje termina URL-a i prioriteta URI-ja. Trenutnu strukturu i sintaksu URI-ja regulira RFC 3986, objavljen u siječnju 2005. Puno najnoviju tehnologiju semantički web (npr. RDF) temelje se na URI standardu. Sada vodeću ulogu u razvoju URI-ja ima World Wide Web Consortium.

Nedostaci

URL je bio temeljna inovacija na Internetu, pa su principi URI-ja dokumentirani kako bi se osigurala potpuna kompatibilnost URL-a. Odatle dolazi veliki nedostatak URI-ja, nasljeđivanje od URL-ova. U URI-ju, kao i u URL-u, može se koristiti samo ograničen skup latiničnih znakova i interpunkcijskih znakova (čak i manje nego u ćirilici, ili hijeroglifi, ili, recimo, specifični znakovi francuskog jezika, tada ćemo morati kodirati URI na isti način kao u Wikipediji URL-ovi s Unicode znakovima su kodirani, na primjer, nizom poput ovog:

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

URL kodiran 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 slova svih abeceda, osim latinice koja se koristi u engleskom jeziku, prolaze kroz takvu transformaciju, URI s riječima na drugim jezicima (čak i europskim) gube sposobnost da ih ljudi percipiraju. A to je u velikoj suprotnosti s načelom internacionalizma, koje su proglasile sve vodeće organizacije Interneta, uključujući W3C i IRI (eng. Međunarodni identifikator resursa ) - međunarodni identifikatori resursa u kojima bi bilo moguće bez problema koristiti Unicode znakove i koji ne bi narušili prava drugih jezika. Iako je teško unaprijed reći hoće li identifikatori ikada moći. Ovaj format nastoji stvoriti identifikatore koji bi bili potpuno neovisni o kontekstu, odnosno ne bi ovisili o protokolu, ni o domeni, ni o putu, ni o aplikaciji, ni o platformi – bili bi posve neovisna.

Isto tako, tvorac URI-ja, Tim Berners-Lee, rekao je da je sustav naziva domene koji je u osnovi URL-ova loša odluka, namećući hijerarhijsku arhitekturu resursima koja nije prikladna za hipertekstualni web.

URI struktura

Raščlanjivanje URI strukture

Za takozvani "parsing" URI (eng. raščlanjivanje), odnosno za razlaganje URI-ja na komponente i njihovu naknadnu identifikaciju, najprikladnije je koristiti sustav regularnih izraza, koji je danas dostupan u gotovo svim modernim programskim jezicima. Preporuča se korištenje sljedećeg uzorka za raščlanjivanje URI-ja:

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

Ovaj uzorak uključuje 9 grupa gore označenih brojevima (za više informacija o obrascima i grupama pogledajte Regularni izrazi), koje najpotpunije i najtočnije analiziraju tipičnu URI strukturu, gdje:

  • skupina 2 - shema,
  • grupa 4 - izvor,
  • grupa 5 - put,
  • grupa 7 - zahtjev,
  • grupa 9 - ulomak.

Dakle, ako, koristeći ovaj predložak, analiziramo, na primjer, takav tipičan URI:

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

tada će 9 gornjih grupa predložaka dati 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. #Povezano
  8. Povezano

Razlikovanje URI-ja od URL-a

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

URI primjeri

Apsolutni URI-ji

http://ru.wikipedia.org/wiki/URI ftp://ftp.is.co.za/rfc/rfc1808.txt datoteka: // C: \ UserName.HostName \ Projekti \ Wikipedia_Articles \ URI.xml ldap: /// c = GB? objectClass? jedan mailto: [e-mail zaštićen] gutljaj: [e-mail zaštićen] vijesti: comp.infosystems.www.servers.unix podaci: tekst / običan; skup znakova = iso-8859-7,% be% fg% be tel: + 1-816-555-1212 telnet: //192.0.2.16: 80 / urna: oaza: nazivi: specifikacija: docbook: dtd: xml: 4.1.2

URI reference

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

vidi također

Linkovi

Bilješke (uredi)


Zaklada Wikimedia. 2010.

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

    Uri- može se odnositi na: Geografija: * 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 županija, Mađarska * sumerski URI, zemlja AgadeURI, tri…… Wikipedia

    urî- URÎ, urăsc, vb. IV. 1.tranz. 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 litavskog jezika

Rad s URI-jem

Svaki dan koristimo Jedinstveni identifikatori resursa (URI) kad tražiš nešto na WWW-u. URI-ji su potrebni za identifikaciju i zahtjev nova vrsta resurs. Koristeći URI-je, možete pristupiti ne samo web stranicama, već i FTP poslužitelju, web-usluzi i lokalnim datotekama.

Izraz se često koristi umjesto URI-ja Jedinstveni lokator resursa (URL)... URI je opći izraz koji se koristi za veze na resurse. URL je URI povezan s popularnim URI shemama kao što su http, ftp i mailto. U tehničkoj dokumentaciji termin URL se više ne koristi.

Možda vam je već poznat još jedan pojam - Jedinstveni naziv resursa (URN)... URN je standardizirani URI koji se koristi za identifikaciju resursa bez obzira na njegovu lokaciju na mreži.

Analizirajmo dijelove URI-ja koji povezuju na stranicu na web stranici Global Knowledge:

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

    Prvi dio URI se zove shema... Shema definira prostor imena URI-ja i može suziti sintaksu izraza koji slijedi shemu. Mnoge sheme su imenovane prema odgovarajućim protokolima (kao što su http, ftp) koje koriste, ali to nije obavezno. U našem primjeru, identifikator sheme je http. Graničnik kruga(// u ovom primjeru) odvaja shemu od ostatka URL-a.

    Nakon graničnika sheme slijedi naziv poslužitelja ili IP adresa decimalni zapis s točkama, poput www.globalknowledge.net.

    Iza naziva poslužitelja ili IP adrese nalazi se broj porta koji identificira vezu s određenom aplikacijom na poslužitelju. Ako nije naveden broj porta, koristi se zadani broj porta za taj protokol (na primjer, port 80 za HTTP).

    Staza definira stranicu (i direktorij) traženog resursa. Ne predstavlja nužno fizičku datoteku na poslužitelju, ali se može generirati dinamički. U ovom slučaju, put izgleda kao /training/generic.asp.

    Sa staze po simbolu? skinut zadnji dio ovog URI-ja pod nazivom upit... U našem primjeru, zahtjev je definiran redkom pageid = 1078 & country = DACH. Niz upita može imati nekoliko komponenti, od kojih svaka specificira varijablu i vrijednost, spojenu simbolom &. Više komponenti upita može se kombinirati s &. Dakle, u našem primjeru, prva komponenta je pageid = 1078 s varijablom pageid i vrijednošću 1078, a druga komponenta je country = DACH.

    Odjeljci unutar izvora mogu se identificirati s fragmentima. Fragmenti koriste se za povezivanje s odjeljcima unutar HTML stranice. U web dizajnu, fragmenti se također nazivaju knjižnim oznakama. Znak # odvaja identifikator fragmenta od puta. U URL-u http; // www.microsoft.com/net/basics/glossary.asp#NETFramework, isječak je #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.

U URI-jima je rezervirano više znakova — ne mogu se uključiti u imena hostova ili putova jer su to posebni znakovi za razgraničenje. U URI-ju su rezervirani sljedeći znakovi:

; / ? : @ & = + $ ,

Uri razred iz imenskog prostora sustava enkapsulira jedinstveni identifikator resursa. Sadrži svojstva i metode za raščlanjivanje, uspoređivanje i kombiniranje URI-ja.

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

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

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

Uri baseURI = novi Uri ("http: // stranica"); Uri noviURI = novi Uri (baseURI, "moj / csharp / web / level2 / 2_2.php");

Ako osnovni URI već sadrži put, zanemaruje se. Samo shema, port i naziv poslužitelja uzimaju se kao osnova za novi URI.

Uri klasa ima nekoliko statičkih polja samo za čitanje kako bi dobili neke od uobičajenih shema:

Uri.UriSchemeFile

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

Uri.UriSCHemeFtp

FTP s ftp shemom koristi se za dohvaćanje datoteka s ftp poslužitelja i, obrnuto, stavljanje datoteka na ftp poslužitelj.

Uri.UriSchemeGopher

Gopher protokol bio je prethodnik HTTP-u. Pružao je hijerarhijske mogućnosti pregleda za informacije o tekstualnom sadržaju, što je bilo superiornije od FTP-a. No ubrzo ga je zamijenio HTTP protokol.

Uri.UriSchemeHttp, Uri.UriSchemeHttps

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

Uri.UriSchemeMailto

mailto shema se koristi za slanje e-mail poruka.

Uri.UriSchemeNews, Uri.UriSchemeNntp

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

Klasa Uri ima statičke metode za provjeru jesu li shema i ime hosta ispravni: Uri.CheckSchemeName () vraća true ako je naziv sheme ispravan i metoda UriCheckHostName () ne samo da provjerava valjanost imena hosta, već i vraća vrijednost nabrajanja UriHostNameType koja ukazuje na tip hosta.

Uri klasa ima mnoga svojstva samo za čitanje koja vam omogućuju pristup svim dijelovima URI-ja. U sljedećoj tablici koristimo gornji URI kao primjer za demonstriranje upotrebe svojstava:

AbsoluteUri Ovo svojstvo prikazuje potpuni URI. Ako navedeni 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 proslijedite naziv datoteke konstruktoru klase Uri, svojstvo AbsoluteUri automatski prethodi nazivu datoteke s datotekom: // shema.
Shema Shema je prvi dio URI-ja, a u ovom slučaju ovo svojstvo vraća vrijednost http.
Domaćin Svojstvo hosta prikazuje ime hosta iz URI-ja: www.globalknowledge.net
Autoritet Ako je broj porta jednak zadanom protokolu, svojstvo Authority prikazuje isti niz kao svojstvo Host. Ako se koristi drugi broj porta, tada svojstvo Authority također prikazuje broj porta.
HostNameType Vrsta imena hosta ovisi o korištenom imenu. U ovom slučaju dobiva se ista vrijednost nabrajanja UriHostNameType o kojoj smo gore govorili.
Luka Korištenjem svojstva Port dobiva se broj porta - 80.
Apsolutni put Apsolutni put počinje nakon broja porta u URI-ju i završava prije niza upita. U ovom slučaju, postavljeno je na /training/generic.asp.
Lokalni put Lokalni put daje vrijednost /training/generic.asp. Kao što možete vidjeti, za HTTP zahtjev nema razlike između AbsolutePath i LocalPath. Razlika se pojavljuje kada se URI odnosi na zajednički mrežni resurs. Za URI-je datoteke obrasca: \\ server \ share \ directory \ file.txt, svojstvo LocalPath vraća samo nazive direktorija i datoteka, dok svojstvo AbsolutePath uključuje nazive poslužitelja i dijeljenja.
Upit Svojstvo Query prikazuje redak koji slijedi stazu:? Pageid = 1078 & country = DACH.
PathAndQuery Svojstvo PathAndQuery daje kombinaciju puta 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 znakom #
Segmenti Svojstvo Segments vraća niz nizova formiranih iz puta. U ovom slučaju imamo tri segmenta: /, training / i generic.asp.
Korisnički podaci Korisničko ime postavljeno u URI može se pročitati iz svojstva UserInfo. Prosljeđivanje korisničkih imena je uobičajeno u FTP protokol, a ako je naveden neanonimni korisnik, na primjer ftp: // [e-mail zaštićen] tada će svojstvo UserInfo vratiti myuser.

Osim navedenih, postoji još nekoliko svojstava koja vraćaju booleove vrijednosti, ako URI predstavlja datoteku, UNC stazu, adresu Povratne informacije ili ako se za ovaj protokol koristi zadani broj porta. To su svojstva IsFile, IsUnc, IsLoopback i IsDefaultPort.

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

URI(Jedinstveni identifikator resursa, Generički identifikator resurs) (RFC 2396, kolovoz 1998.) - kompaktni niz znakova za identifikaciju apstraktnog ili fizičkog resursa. Pod resursom se podrazumijeva svaki objekt koji pripada određenom prostoru. Uključuje i nadjačava prethodno definirane URL-ove (RFC 1738 / RFC 1808) i URN-ove (RFC 2141, RFC 2611).

URI je dizajniran da jedinstveno identificira bilo koji resurs.

Neki podskupovi URI-ja:

URNA(Uniform Resource Name) - Privatni URI "urn:" s podskupom "imenskog prostora" koji mora biti jedinstven i nepromjenjiv čak i kada resurs više ne postoji ili nije dostupan.

Pretpostavlja se da, na primjer, preglednik zna gdje tražiti ovaj resurs.

Sintaksa:

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

URN primjer:

urna: ISBN: 0-395-36341-6

ISBN - tematski klasifikator za nakladnike

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



Po primitku URN-a, program klijenta prelazi na ISBN (imenik "Tematski klasifikator za izdavače" na Internetu). I dobiva dešifriranje broja predmeta "0-395-36341-6" (na primjer: "kvantna kemija").

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

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

urn: ed2k: // | datoteka | AdobePhotoshopv8.0.iso | 940769280 | | /

ed2k - označava mrežu

Adobe Photoshop v8.0.iso - naziv datoteke

940769280 - veličina u bajtovima

- identifikator datoteke (izračunato pomoću hash funkcije)

URL Uniform Resource Locator:

Url(Uniform Resource Locator, RFC 1738) je unificirani lokator resursa (locator), standardizirani način za bilježenje adrese izvora na WWW-u i Internetu. URL ima fleksibilnu i proširivu strukturu kako bi što prirodnije naznačio lokaciju resursa na mreži, koja identificira resurs prema načinu na koji mu se pristupa (npr. njegova "mrežna lokacija") umjesto da ga identificira imenom ili drugim atributima taj resurs.

Primjeri URL-ova:

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

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

Za predstavljanje adrese koristi se ograničeni skup ASCII znakova.

Opći pogled na adresu može se predstaviti na sljedeći način:

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

shema pristupa resursima: http, ftp, gopher, mailto, vijesti, telnet, datoteka, čovjek, info, whatis, ldap, wais, itd.

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 - pojašnjavanje informacija o lokaciji izvora (ovisno o protokolu).

Primjeri URL-ova:

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

http://www.example.com/site/map.html # zahtjev datu stranicu u navedenom imeniku

http://example.com:81/script.php # spojite se na nestandardni port

http://example.org/script.php?key=value # zahtjev s prosljeđivanjem parametara skripti

ftp: // korisnik: [e-mail zaštićen]# povežite se s ftp poslužiteljem s autorizacijom

http://192.168.0.1/example/www # povežite se na mrežnu adresu

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

gopher: //example.com/1 # spojite se na gopher poslužitelj

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

Pojava URL-ova značajna je inovacija na internetu. Međutim, od trenutka svog izuma do danas, URL standard ima ozbiljan nedostatak - može koristiti samo ograničen skup znakova, čak i manje nego u ASCII-u: latinična slova, brojke i samo nekoliko interpunkcijskih znakova.

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

Na Wikipediji na ruskom jeziku svaki dan vidite primjere url kodiranje budući da se ruski jezik koristi ćiriličnim znakovima. Na primjer, redak poput ovoga:

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

URL kodiran 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

Ova 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 zapisu:

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

i → D0 i B8 →% D0% B8

k → D0 i BA →% D0% BA

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

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

Budući da slova svih abeceda, osim osnovne latinice, prolaze kroz takvu transformaciju, URL s riječima na velikoj većini jezika (osim engleskog, talijanskog, latinskog) može postati nečitljiv za osobu.

Sve je to u suprotnosti s načelom internacionalizma, koje proklamiraju sve vodeće organizacije na internetu, uključujući W3C i ISOC. Ovaj problem je osmišljen kako bi se riješio IRI (International Resource Identifier) ​​standard - međunarodni identifikatori resursa u kojima bi bilo moguće koristiti Unicode znakove bez problema, i koji stoga ne bi kršili prava drugih jezika.

Druge sheme url-a

HTTP shema.

Shema specificira svoj identifikator, adresu stroja, TCP port, put u direktoriju poslužitelja, varijable i njihove vrijednosti, oznaku.

Sintaksa:

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

http - naziv sheme

korisnik - korisničko ime

host - ime domaćina

port - broj porta

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

Definirano u RFC 2068. Prema zadanim postavkama, port = 80.

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

Ovo je najčešći tip URI-ja koji se koristi u WWW dokumentima. Nakon naziva sheme (http) slijedi put koji se sastoji od adrese domene stroja i pune adrese HTML dokumenta u stablu HTTP poslužitelj.

IP adresa se također može koristiti kao adresa stroja:

http://195.208.44.20/internet/index.php

Ako HTTP poslužitelj 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 nazivi varijabli, a "value1" i "value2" su njihove vrijednosti.

FTP shema

Ova shema omogućuje vam adresiranje FTP arhiva datoteka.

Sintaksa:

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

ftp - naziv sheme

korisnik - korisničko ime

lozinka - korisnička lozinka

host - ime domaćina

port - broj porta

url-path - put do datoteke i same datoteke

Definirano u RFC 1738. Prema zadanim postavkama, port = 21, korisnik = anoniman, lozinka = adresa e-pošte, ako je ime navedeno, ali lozinka nije, tada se traži u dijaloškom okviru.

izgleda kao:

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

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

Da biste naveli korisničko ime i lozinku, morate ih napisati ovako:
ftp: // naziv: [e-mail zaštićen]: //ipm.kstu.ru/students/name/

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

MAILTO shema

Ova shema je namijenjena slanju pošte.

Sintaksa:

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

mailto - ime sheme

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

korisnik - korisničko ime

host - ime domaćina

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

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

mailto: [e-mail zaštićen]

U ovoj shemi prosljeđuju se polja i njihove vrijednosti:

mailto: [e-mail zaštićen]? predmet = Predmet_e-pošte & tijelo = Tekst_koji će_biti_umetnut_u_pošti

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

mailto: [e-mail zaštićen]? predmet = Predmet_e-pošte & tijelo = Tekst_koji će_biti_umetnut_u_pošti

Što je HTTP?

Prvi dokument (ali ne i standardni) je RFC1945 (Hypertext Transfer Protocol - HTTP / 1.0 T. Berners-Lee, R. Fielding, H. Frystyk, svibanj 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, lipanj 1999.)

Protokol za prijenos hiperteksta je protokol za prijenos hiperteksta, protokol visoke razine (odnosno, sloj aplikacije). Koristi ga usluga WWW za prijenos web stranica.

HTTP (HyperText Transfer Protocol, RFC 2616, trenutna verzija je HTTP / 1.1) je protokol za prijenos hiperteksta. Ovaj je protokol izvorno bio namijenjen razmjeni hipertekstualnih dokumenata, a sada su njegove mogućnosti značajno proširene (posebice je dodana podrška za streaming).

HTTP je tipičan klijent-poslužitelj protokol; poruke se razmjenjuju prema shemi "zahtjev-odgovor" u obliku ASCII naredbi. Značajka HTTP protokola je mogućnost da se u zahtjevu i odgovoru navede način predstavljanja istog resursa pomoću razni parametri: format, kodiranje, jezik itd. Zahvaljujući mogućnosti specificiranja načina kodiranja poruke klijent i poslužitelj mogu razmjenjivati ​​binarne podatke, iako je ovaj protokol tekstualni.

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

HTTP protokol definira način interakcije zahtjev-odgovor između klijentskog programa i poslužiteljskog programa unutar Svjetska tehnologija Wide Web.

Za učitavanje web stranice u klijentski preglednik, šalje zahtjev posebnom programu instaliranom na poslužiteljskom računalu, nazvanom http poslužitelj, i obrađuje podatke primljene od njega. U ovom slučaju, funkcija preglednika je da pita poslužitelj određenu stranicu, nabavite ga i prikažite na korisnikovom zaslonu. Poslužitelj, s druge strane, prihvaća zahtjev, traži traženi dokument i daje klijentu ili sadržaj pronađene datoteke ili poruku o pogrešci ako takva datoteka nije pronađena ili joj je pristup iz nekog razloga odbijen. . Važna točka razumjeti ovaj proces znači da http poslužitelj ne analizira sadržaj poslanog dokumenta. Grubo govoreći, http-poslužitelj ne brine što se nalazi unutar tražene datoteke, on je samo prenosi u preglednik, a sav posao na strukturiranju i prikazu primljenih informacija već je preuzet

Pretraživanje tražene stranice vrši se u određenom imeniku koji je dodijeljen na računalu poslužitelja za ovu stranicu - poveznica na ovaj direktorij nalazi se na adresi koju je unio korisnik. U slučaju kada se poziv ne upućuje na određeni dokument, već na stranicu u cjelini, http-poslužitelj automatski zamjenjuje tzv. "početnu stranicu" umjesto naziva datoteke koja se prenosi, a koja se naziva indeks .htm ili index.html (u nekim slučajevima - default. htm ili default.html). Ovaj dokument mora se nalaziti u korijenskom direktoriju određenom za hosting vaše stranice ili, ako je drugačije navedeno, u direktoriju pod nazivom WWW. Sve ostale datoteke mogu se smjestiti ili u isti direktorij ili u poddirektorije, što je ponekad zgodno, osobito kada stranica sadrži nekoliko tematskih odjeljaka ili naslova.

Osim podmapa koje kreirate, u koje slobodno možete smjestiti gotovo bilo koji sadržaj koji vam je potreban, imenik poslužitelja obično sadrži još nekoliko direktorija koje treba posebno spomenuti. Prvo, ovo je mapa CGI-BIN u kojoj se nalaze CGI skripte i druge skripte koje se pokreću s vaše stranice. interaktivne aplikacije, kao i nekoliko servisnih imenika potrebnih za normalan rad poslužitelju. Na početno stanje samo ne bi trebao obraćati pažnju na njih. Ponekad se u istom direktoriju gdje je pohranjen index.html nalazi red dodatne datoteke: not_found.html - dokument koji se prikazuje ako http poslužitelj ne može pronaći datoteku koju je tražio korisnik, forbidden.html - prikazuje se kao poruka o pogrešci ako je pristup traženom dokumentu odbijen, i, konačno, robots.txt - datoteka , u kojoj na poseban način opisuje pravila za indeksiranje vaše stranice od strane tražilica.

U većini slučajeva, a posebno pri objavljivanju početne stranice na poslužiteljima koji pružaju besplatan hosting, korisnicima je onemogućen pristup servisnim direktorijima i CGI-BIN mapi; promjena sadržaja datoteka not_found i forbidden.html također je nemoguća. To treba uzeti u obzir ako planirate uključiti bilo kakav interaktivni sadržaj u svoj resurs koji zahtijeva barem mogućnost postavljanja datoteka u jednu od uslužnih mapa. U nekim slučajevima vam može biti zabranjeno stvaranje ugniježđenih direktorija na poslužitelju, tada će korisnik morati biti zadovoljan samo jednim direktorijem koji je izdvojen za vaše potrebe.

Iz svega rečenog postaje jasno da klijentov preglednik može samo primati i obraditi informacije s poslužitelja, te ih postavljati i modificirati samo ako je prijenos datoteka na poslužitelj implementiran na temelju HTTP protokola koristeći posebne CGI skripte uključene u web sučelju poslužitelja. U svim ostalim slučajevima morate koristiti tzv. ftp-server, na koji možete prenijeti pomoću posebnog softvera potrebne datoteke automatskim učitavanjem u direktorij određen za vašu web-lokaciju. U oba slučaja morat ćete znati svoje korisničko ime i lozinku za pristup sustavu. Također treba imati na umu da većina poslužiteljski programi(posebno, Apache za UNIX-kompatibilne platforme) razlikuju znakove malih i velikih slova, tako da sve nazive datoteka i njihove ekstenzije treba napisati kako bi se izbjegle pogreške mala slova, i to uvijek na latinskom. Potonje je zbog razlika u obradi kodiranja ruskog jezika, tipičnih za određene poslužitelje.

Rad preko HTTP protokola je sljedeći: program klijenta uspostavlja TCP vezu s poslužiteljem (standardni broj porta je 80) i izdaje mu HTTP zahtjev. Poslužitelj obrađuje ovaj zahtjev i klijentu izdaje HTTP odgovor.

Komunikacija između klijenta i web poslužitelja odvija se razmjenom poruka. HTTP poruke se dijele na zahtjeve klijent-poslužitelj i odgovore poslužitelja-klijenta.

Poruke zahtjeva i odgovora imaju zajednički format. Obje vrste poruka izgledaju ovako: prvo postoji početni redak (start-line), zatim, moguće, jedno ili više polja zaglavlja, koja se nazivaju i samo zaglavlja, zatim prazan redak (odnosno red koji se sastoji od znakova CR i LF), što označava kraj polja zaglavlja, a zatim eventualno tijelo poruke:

startna linija

polje zaglavlja 1

polje zaglavlja 2

polje zaglavlja N

tijelo poruke

Zaglavlja HTTP protokola

Format početne linije klijenta i poslužitelja je različit i bit će razmotren u nastavku. Postoje četiri vrste naslova:

Opća zaglavlja (general-headers), koja mogu biti prisutna i u zahtjevu i u odgovoru;

Zaglavlja zahtjeva, koja mogu biti prisutna samo u zahtjevu;

Zaglavlja odgovora, koja mogu biti prisutna samo u odgovoru;

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

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

stol 1

Zaglavlja HTTP protokola

Naslov Ugovoreni sastanak
Zaglavlja objekata
Dopusti Navodi metode koje podržava poslužitelj
Kodiranje sadržaja Način na koji je tijelo poruke kodirano, na primjer za smanjenje veličine
Sadržaj-dužina Duljina poruke u bajtovima
Vrsta sadržaja Sadrži oznaku tipa MIME sadržaja odgovora. Ovisno o vrijednosti Content-Type, preglednik tumači odgovor kao HTML stranicu, gif ili jpeg sliku, datoteku koju treba spremiti na disk ili nešto drugo i poduzima odgovarajuću radnju. Neke vrste sadržaja: tekst / html - tekst u HTML format(web stranica); tekst / običan - običan tekst (slično kao "Bilježnica"); slika / jpeg - slika u JPEG formatu; slika / gif - isto, u GIF formatu; Također može proći kodiranje za tekstualne podatke. Na primjer: charset = windows-1251 charset = koi8-rus Content-Length - duljina sadržaja odgovora u bajtovima (veličina datoteke). Zadnja izmjena - datum i vrijeme zadnje izmjene dokumenta.
ETtag Jedinstvena oznaka resursa na poslužitelju koja vam omogućuje usporedbu resursa
Istječe Datum i vrijeme kada će se resurs na poslužitelju promijeniti i mora se ponovno dohvatiti
Zadnja promjena Datum i vrijeme posljednje izmjene sadržaja
Zaglavlja odgovora
Dob Broj sekundi nakon kojeg treba ponovno pokušati podnijeti zahtjev za dobivanje novog sadržaja
Mjesto URI resursa koji treba konzultirati da biste dobili sadržaj
Pokušaj ponovno-poslije Datum i vrijeme ili broj sekundi nakon kojih se zahtjev mora ponoviti kako bi se dobio uspješan odgovor
Poslužitelj Naziv poslužiteljskog softvera koji je odgovorio
Zaglavlja zahtjeva
Prihvatiti Popis tipova sadržaja koje preglednik podržava prema redoslijedu njihove preferencije za ovaj preglednik, na primjer: Prihvati: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / vnd.ms-excel, application / msword, application / vnd. ms-powerpoint, * / * Ovo je očito potrebno za slučaj kada poslužitelj može poslužiti isti dokument u različitim formatima. Vrijednost ovog parametra se uglavnom koristi u CGI skriptama za generiranje odgovora prilagođenog za dani preglednik.
Prihvati-Charset Kodiranja znakova u kojima klijent može prihvatiti tekstualni sadržaj
Prihvati-kodiranje Način na koji poslužitelj može kodirati poruku
Domaćin Host i broj porta s kojeg se dokument traži
If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since Zaglavlja zahtjeva za uvjetni pristup resursima
Domet Zatražite dio dokumenta
Korisnički agent Naziv klijentskog softvera - vrijednost je "kodni naziv" preglednika, na primjer: Mozilla / 4.0 (kompatibilan; MSIE 5.0; Windows 95; DigExt)
Opća zaglavlja
Povezivanje Veza - može biti Keep-Alive i blizu. Keep-Alive znači da nakon izdavanja ovog dokumenta veza s poslužiteljem nije prekinuta, te se može izdati više zahtjeva. Većina preglednika radi upravo u Keep-Alive načinu rada, budući da vam omogućuje da "skinete" html stranicu i slike na nju u jednoj vezi s poslužiteljem. Jednom postavljen, način rada Keep-Alive održava se do prve pogreške ili dok se izričito ne naznači u sljedećem zahtjevu za zatvaranje veze. zatvori - veza se zatvara nakon odgovora na ovaj zahtjev.
Datum Datum i vrijeme formiranja poruke
Pragma Naredbe specifične za implementaciju za preneseni sadržaj
Transfer-Encoding Način kodiranja poruke za prijenos

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

Tijelo poruke sadrži stvarnu informaciju koja se prenosi - korisni teret poruke. Tijelo poruke je niz okteta (bajtova). Tijelo poruke može se kodirati, s kodiranjem navedenim u zaglavlju objekta Content-Encoding.

Poruka zahtjeva od klijenta do poslužitelja sastoji se od retka zahtjeva, zaglavlja (općenito, zahtjev, objekt) i moguće tijela poruke.

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

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

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

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

Metode HTTP protokola

Pogledajmo glavne metode HTTP protokola.

Metoda OPTIONS traži informacije o opcijama povezivanja (na primjer, metode, vrste dokumenata, kodiranja) koje poslužitelj podržava za traženi resurs. Ova metoda omogućuje klijentu da definira opcije i/ili zahtjeve povezane s resursom, ili mogućnostima poslužitelja, bez poduzimanja bilo kakve radnje na resursu ili pokretanja preuzimanja.

Ako odgovor poslužitelja nije poruka o pogrešci, tada zaglavlja objekta sadrže informacije koje se mogu smatrati opcijama povezivanja. Na primjer, zaglavlje Allow navodi sve metode koje podržava poslužitelj za dati resurs.

Ako je identifikator traženog resursa zvjezdica ("*"), tada je zahtjev OPTIONS namijenjen za adresiranje poslužitelja u cjelini.

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

Metoda GET omogućuje vam da dobijete sve informacije vezane uz traženi resurs. U većini slučajeva, ako identifikator traženog resursa ukazuje na dokument (na primjer, tekstualni dokument, grafička slika, video), tada poslužitelj vraća sadržaj tog dokumenta (sadržaj datoteke). Ako je traženi resurs aplikacija (program) koja generira podatke, tada se generirani podaci vraćaju u tijelo poruke odgovora, a ne binarna slika izvršne datoteke. To se koristi, na primjer, pri izradi CGI aplikacija. Ako identifikator traženog resursa ukazuje na direktorij (imenik, mapu), tada, ovisno o postavkama poslužitelja, ili sadržaj direktorija (popis datoteka) ili sadržaj jedne od datoteka koja se nalazi u ovom direktoriju (obično index.html ili Default.htm). V potonji slučaj naziv mape može se navesti ili sa simbolom "/" na kraju ili bez njega. Ako ovaj simbol nema na kraju identifikatora, poslužitelj izdaje jedan od odgovora s preusmjeravanjem (sa statusnim kodovima 301 ili 302).

Razlikujte "uvjetni GET", u kojem poruka zahtjeva uključuje zaglavlja zahtjeva If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match ili If-Range. Uvjetna metoda GET zahtijeva prijenos objekta samo ako zadovoljava uvjete opisane u danim zaglavljima. Uvjetna metoda GET osmišljena je za smanjenje nepotrebno preuzimanje mreže, jer vam omogućuje da ne preuzimate podatke koje je klijent već spremio po drugi put.

Također se pravi razlika između "djelomičnog GET-a", u kojem poruka zahtjeva uključuje zaglavlje zahtjeva za raspon. Djelomični GET zahtijeva prijenos samo dijela objekta. Djelomična GET metoda je dizajnirana da smanji nepotrebno opterećenje mreže zahtijevajući samo dio objekta kada je drugi dio već preuzeo klijent. Vrijednost zaglavlja raspona je raspon bajtova za primanje. Bajtovi su numerirani počevši od 0. Početni i završni bajtovi raspona odvojeni su znakom "-". Ako trebate dobiti nekoliko raspona, oni su navedeni odvojeni zarezima.

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

Za zahtjev se koristi metoda POST, u kojoj adresirani poslužitelj prima 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 pruži generičku metodu za implementaciju sljedeće funkcije:

Bilješke o postojećim resursima;

Objavljivanje poruke na elektroničkoj oglasnoj ploči (BBS), news grupama, popisima e-pošte ili sličnoj skupini članaka;

Prosljeđivanje bloka podataka, kao što je rezultat unosa u obrazac, u proces obrade;

Izvršavanje upita prema bazama podataka (DB);

Zapravo, funkcija koju izvodi POST metoda određena je aplikacijom na koju ukazuje ID traženog resursa. Uz GET metodu, pri izradi CGI aplikacija koristi se i POST metoda. Preglednik može oblikovati zahtjeve metodom POST prilikom slanja obrazaca. Da biste to učinili, element FORM HTML dokumenta koji sadrži obrazac mora imati atribut METHOD postavljen na POST.

POST radnja može poduzeti radnju na poslužitelju i kao rezultat ne proslijediti nikakav sadržaj. U ovom slučaju, ovisno o tome uključuje li odgovor tijelo poruke koje opisuje rezultat ili ne, statusni kod u odgovoru može biti 200 (U redu) ili 204 (Nema sadržaja).

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

Tijelo poruke, koje se u zahtjevu prenosi metodom PUT, sprema se na poslužitelj, a identifikator traženog resursa bit će identifikator spremljenog 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 poslužitelju. Ako se kreira novi resurs, tada poslužitelj o tome obavještava korisničkog agenta s odgovorom sa statusnim kodom 201 (Stvoreno).

Temeljna 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 identificira objekt uključen u zahtjev kao tijelo poruke, to jest, korisnički agent dodjeljuje dati URI uključenom resursu.

Metoda DELETE traži od poslužitelja da izbriše resurs koji ima traženi identifikator. Zahtjev s ovom metodom može odbiti poslužitelj ako korisnik nema dopuštenje za brisanje traženog resursa.

Metoda TRACE koristi se za vraćanje poslanog zahtjeva na razini HTTP protokola. Primatelj zahtjeva (web poslužitelj) šalje primljenu poruku natrag klijentu kao tijelo objekta odgovora sa statusnim kodom 200 (OK). TRACE zahtjev ne smije sadržavati tijelo poruke.

TRACE omogućuje klijentu da vidi što poslužitelj prima na drugom kraju i koristi te podatke za testiranje ili dijagnostiku.

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

Kodovi odgovora

Nakon primanja i tumačenja poruke zahtjeva, poslužitelj odgovara porukom HTTP odgovora.

Prvi redak odgovora je Status-Line. Sastoji se od verzije protokola, brojčanog statusnog koda, izraza s objašnjenjem, odvojenih razmacima i znakova na kraju reda:

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

Verzija protokola ima isto značenje kao u zahtjevu.

Element Status-Code je cjelobrojni troznamenkasti (troznamenkasti) kod rezultata razumijevanja i zadovoljavanja zahtjeva. Reason-Phrase kratki je tekstualni opis statusnog koda. Statusni kod je za softversku obradu, a izraz za objašnjenje je za korisnike.

Prva znamenka statusnog koda identificira klasu odgovora. Zadnje dvije znamenke nemaju posebnu ulogu u klasifikaciji. Postoji 5 vrijednosti za prvu znamenku:

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 kako bi se zahtjev dovršio.

4xx: kodovi pogrešaka klijenta - Zahtjev ima sintaksičku pogrešku ili se nije mogao dovršiti.

5xx: kodovi pogrešaka poslužitelja - poslužitelj ne može ispuniti valjani zahtjev.

Fraze razloga za svaki statusni kod navedene su u RFC 2068 i preporučuju se, ali mogu biti zamijenjene ekvivalentima bez utjecaja na protokol. Na primjer, u lokaliziranim verzijama HTTP poslužitelja na ruskom jeziku te su fraze zamijenjene ruskim. Tablica 2 navodi kodove odgovora HTTP poslužitelja.

tablica 2

Kodovi odgovora HTTP poslužitelja

Kod Izraz objašnjenja prema RFC 2068 Ekvivalentni izraz za objašnjenje na ruskom
1xx: Informacijski kodovi
Nastaviti Nastaviti
2xx: Kodovi uspjeha
u redu u redu
Stvoreno Napravio
Nema sadržaja Nema sadržaja
Poništi sadržaj Poništi sadržaj
Djelomični sadržaj Djelomičan sadržaj
3xx: Kodovi za preusmjeravanje
Premješteno privremeno Privremeno preseljena
Nije izmijenjeno Nije izmijenjeno
4xx: kodovi pogrešaka klijenta
Loš zahtjev Oštećen zahtjev
Neovlašteno Neovlašteno
Nije pronađeno Nije pronađeno
metoda nije dopuštena Metoda nije dopuštena
Zatražiti pauzu Zahtjev je istekao
Sukob Sukob
Obavezna duljina Potrebna duljina
Entitet zahtjeva je prevelik Objekt zahtjeva je prevelik
5xx: kodovi pogrešaka poslužitelja
Unutarnji pogreška servera Interna pogreška poslužitelju
Nije implementirano Nije implementirano
usluga nedostupna Usluga je nedostupna
HTTP verzija nije podržana Nepodržana HTTP verzija

Statusnu traku slijede zaglavlja (općenito, odgovor i objekt) i možda tijelo poruke.

Jedna od najvažnijih funkcija web poslužitelj je osigurati pristup dijelu lokalnog sustav datoteka... Da biste to učinili, u postavkama poslužitelja naveden je određeni direktorij, koji je root za ovaj poslužitelj. Objaviti dokument, odnosno izraditi ga dostupna korisnicima koji je "posjetio" ovaj poslužitelj (s njim uspostavio vezu putem HTTP protokola), morate kopirati ovaj dokument na korijenski direktorij Web poslužitelj ili jedan od njegovih poddirektorija. Prilikom povezivanja putem HTTP protokola na poslužitelju se stvara proces s korisničkim pravima, koji u pravilu ne postoji u stvarnosti, već je posebno kreiran za pregled resursa poslužitelja. Konfiguriranjem prava i dopuštenja ovog korisnika, možete kontrolirati pristup web resursima.

Smatrati najjednostavniji primjer HTTP zahtjev. Ako u adresni prozor preglednika upišemo adresu http://yandex.ru, preglednik će odrediti IP adresu poslužitelja yandex.ru i poslati mu sljedeći HTTP zahtjev na 80. port:

NABAVITE 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, * / *

Prihvati-jezik: ru

Kolačić: yandexuid = 2464977781018373381

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

Referent: narod.ru

Proxy-veza: Keep-Alive

Zahtjev se šalje u nešifriranom tekstu. Najvažniji dio zahtjeva nalazi se u prvom retku: Ovo je vrsta zahtjeva (GET), URL adresa traženog dokumenta (http://yandex.ru) i verzija HTTP protokol(HTTP / 1.0). Sljedeći su parametri zahtjeva. Svaki redak odgovara jednom parametru. Redak počinje imenom parametra, nakon čega slijedi dvotočka i vrijednost parametra.

Prihvati je vrsta podataka koju preglednik može prihvatiti (MIME kodirani).

Accept-Language je preferirani jezik na kojem preglednik želi prihvatiti podatke. User-Agent - vrsta programa koji je poslao zahtjev.

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

Cookie – kolačići (podaci koje je poslužitelj pohranio na lokalni disk klijent prilikom posljednjeg posjeta ovom domaćinu).

Referer - host s čije stranice šaljemo zahtjev. Tako, na primjer, ako se nalazimo na stranici http://narod.ru i tamo kliknemo vezu http: //yandex.ru, tada će zahtjev biti poslan domaćinu yandex.ru, a polje zahtjeva za upućivanje sadržavat će ime domaćina narod.ru.

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

Najzanimljiviji parametri su referer i kolačić. Ovi se parametri uglavnom koriste za provjeru autentičnosti korisnika na poslužitelju.

GET zahtjev može sadržavati podatke proslijeđene od klijenta do poslužitelja. Oni se prosljeđuju izravno preko URL-a koristeći CGI protokol. Podaci su odvojeni od URL-a znakom "?" i povezani su znakom "&":

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

Ova vrsta prijenosa podataka na poslužitelj je prikladna, ali ima ograničenja u volumenu. Prevelike količine podataka ne mogu se prenijeti putem URL-a. U 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 prenose odvojeno od samog zaglavlja zahtjeva:

Tijelo zahtjeva mora biti odvojeno od zaglavlja praznim redom. Ako poslužitelj naiđe na prazan niz u POST zahtjevu, onda sve što slijedi smatra tijelo zahtjeva (prenesene podatke). Imajte na umu sljedeće: format podataka u tijelu POST zahtjeva je proizvoljan. Iako se najčešće koristi CGI format, nije potreban. Osim toga, POST zahtjev ne zahtijeva tijelo zahtjeva, a također može prenijeti podatke putem URL-a.

Osim CGI formata, ponekad i tzv. višedijelni format (format prenesenih podataka određen je parametrom Content-Type):

Moderni preglednici sadrže alate za web programere kako bi dobili neke informacije o zahtjevima za objavu koji se šalju. Ako trebate pogledati zaglavlja samo nekoliko zahtjeva, njihova će upotreba biti lakša i brža od ostalih 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 izbornik preglednika, kliknite na stavku "Web Development" i odaberite "Web Console". Na ploči koja se pojavi aktivirajte gumb "Mreža". Unesite naziv metode - objavi u polje za filtriranje. Ovisno o vašim ciljevima, kliknite na gumb obrasca za slanje traženog zahtjeva ili osvježite stranicu. Konzola prikazuje podneseni zahtjev. Kliknite mišem na nju da biste vidjeli više detalja.

Google preglednik Chrome ima moćne alate za otklanjanje pogrešaka. Da biste ih koristili, kliknite na ikonu sa slikom francuskog ključa, a zatim otvorite stavku "Konfiguriranje i upravljanje Google Chromeom". Odaberite "Alati" i pokrenite "Alati za razvojne programere". Na alatnoj traci odaberite karticu Mreža i pošaljite svoj zahtjev. Pronađite traženi zahtjev na popisu i kliknite na njega kako biste proučili detalje.

Preglednik Opera ima ugrađene razvojne alate za Opera Dragonfly. Da biste ih pokrenuli, desnom tipkom miša kliknite željenu stranicu i odaberite stavku kontekstni izbornik"Provjeri element". Idite na karticu Mreža alata za razvojne programere i pošaljite svoj zahtjev. Pronađite ga na popisu i proširite ga da biste pregledali zaglavlja poslužitelja i odgovore.

Internet Explorer 9 sadrži komplet koji se zove F12 Developer Tools detaljne informacije na ispunjene zahtjeve. Pokreću se pritiskom na tipku F12 ili korištenjem izbornika "Servis" koji sadrži istoimenu stavku. Za pregled zahtjeva idite na karticu "Mreža". Pronađite zadani upit u sažetku i dvaput kliknite da biste proširili pojedinosti.

Preglednici Chrome i Internet Explorer 9 sadrže ugrađene alate koji vam omogućuju detaljno ispitivanje poslanog zahtjeva za objavu. Za sve pojedinosti koristite ih ili Firefox s instaliranim dodatkom Firebug. Vrlo je zgodan za često ispitivanje upita, na primjer, prilikom otklanjanja pogrešaka na stranicama.

Ako želite vidjeti zahtjev koji šalje program koji nije preglednik, upotrijebite Fiddler HTTP debugger. Radi kao proxy poslužitelj i presreće zahtjeve bilo kojeg programa, a također pruža vrlo detaljne informacije o njihovim zaglavljima i sadržaju.

Vrhunski povezani članci