HTTP lokacija

С Википедије, слободне енциклопедије

HTTP lokacija je deo zaglavlja koji se vraća kao odgovor HTTP servera u dva slučaja:

  1. Da zatraži od Internet pregledača da učita drugu veb stranicu. U tom slučaju, lokaciono zaglavlje treba da bude poslato sa statusnim kodom tipa 3xx. On se prosleđuje kao deo odgovora servera kada je URI: privremeno premešten ili trajno premešten.
  2. Da prikupi informacije o lokaciji novo-kreiranog resursa. U ovom slučaju, lokaciono zaglavlje bi trebalo da bude poslato sa HTTP statusnim kodom 201 ili 202.[1]

Po RFC 2616 (HTTP 1.1) zahteva se kompletan apsolutni URI za preusmeravanje,[2] ali popularni Internet pregledači tolerišu prosleđivanje relativnog URL kao vrednosti za lokaciono zaglavlje. Shodno tome, predstojeća revizija HTTP/1.1 će učiniti relativni URL prihvatljivim.[3]

Primeri[уреди | уреди извор]

Apsolutni URL, primeri[уреди | уреди извор]

Internet standard zahteva da apsolutni URI bude prosleđen uz lokaciono zaglavlje, što znači da on mora da sadrži shemu [4] (na primer: http:, https:, telnet:, mailto: )[5] i da poštuje sintaksu i semantiku određenu shemom. Na primer, sintaksa i semantika koje sheme-specific propisuje za HTTP URL zahteva "host" (adresu veb servera) i "apsolutnu putanju", sa opcionim komponentama "port" i "query". U slučaju da nedostaje apsolutna putanja, mora biti navedena kao "/" kada se koristi kao pristupna URI za resurs.[6]

Zahtev klijenta:

GET /index.html HTTP/1.1
Host: www.example.com

Odgovor servera:

HTTP/1.1 302 Found
Location: http://www.example.org/index.php

Relativni URL, primeri[уреди | уреди извор]

Ovaj primer, koji je nepravilan po trenutnom standardu, određuje apsolutni URI.[7] Ipak, svi popularni pregledači prihvataju relativan URL i to je ispravno po predstojećoj reviziji HTTP/1.1 [8] .

Zahtev klijenta:

GET /blog HTTP/1.1
Host: www.example.com

Odgovor servera:

HTTP/1.1 302 Found
Location: /blog/

Reference[уреди | уреди извор]

  1. ^ Leonard 2007, стр. 228–230
  2. ^ RFC 2616 (HTTP 1.1)
  3. ^ What are the Consequences for using Relative Location Headers?
  4. ^ RFC 3305 (URIs, URLs, and URNs)
  5. ^ IANA Uniform Resource Identifer (URI) Schemes
  6. ^ RFC [https://tools.ietf.org/html/rfc2616 2616 Section 3.2.2] (HTTP URL)
  7. ^ RFC 2616 Section 14.30 (Location)
  8. ^ draft-ietf-httpbis-p2-semantics-22 Section 7.1.2 (Location)

Литература[уреди | уреди извор]

  • Leonard, Richardson (2007). RESTful Web Services. Sebastopol: O'Reilly. стр. 228—230. ISBN 978-0-596-52926-0.