Ce este o adresă URL și cum se lucrează cu ea. URL cu sau fără bară oblică - de ce este corect? Ce este uri
Litigii pe această problemă - cum să scrieți corect o adresă URL, cu sau fără bară oblică la sfârșit? - au fost si vor fi. Argumentele sunt variate și adesea contradictorii. Și penalizarea pentru înregistrarea incorectă a unui localizator universal de resurse (URL) este imaginată a fi de două tipuri. Din partea motoarelor de căutare, se presupune că acestea sunt penalități pentru paginile duplicat. Din punct de vedere al performanței, se presupune că aceasta este o redirecționare inutilă către pagina de postare corectă, generată automat de server.
Totuși, atunci când analizăm specificațiile tehnice ale standardelor de internet, în special documentul „RFC 1738 - Uniform Resource Locators (URL)”, trebuie să admitem că ambele opțiuni de înregistrare a adresei unei resurse web sunt corecte din punct de vedere formal, precum și sancțiunea pentru folosirea uneia sau a altei opțiuni nu este altceva decât o ciudățenie motor de căutare sau povești despre oameni pseudo-SEO.
Din punct de vedere al conciziei, opțiunea fără bară oblică la sfârșit pare mai corectă, indiferent dacă linkul tău se adresează unui „fișier” de pe server sau unui „dosar”, dovadă indirectă a căruia va fi demonstrată mai jos. Dar nu există o singură declarație în document că o altă opțiune este incorectă sau se referă la o resursă complet diferită.
Nu vă voi plictisi cu o traducere pe mai multe pagini a RFC menționat, deoarece, în primul rând, scopul întrebării au fost barele oblice de la sfârșitul adresei URL, iar în al doilea rând, publicația se adresează utilizatorilor obișnuiți ai motoarelor, inclusiv cei care nu sunt interesați de toate detaliile, așteaptă scurte explicații și dovezi de fond.
În consecință, voi cita fragmente din acest document ca dovezi și voi explica. Oricine nu este interesat de acest lucru se poate uita imediat la concluzia de la sfârșitul articolului.
Sintaxa URL generală
În primul rând, vă voi atrage atenția asupra unui fragment din paragraful 2. Sintaxa URL generală (sintaxa URL generală). În fiecare caz, voi furniza un fragment al textului în limba originală și apoi o traducere în rusă.
Adică, URL-ul în sine este o abstractizare pură. Faptul că poate părea similar în exterior cu numele unui fișier sau folder nu înseamnă deloc că este o referință fizică la un astfel de fișier și nu la un alt fișier din spațiul de fișiere al serverului. Acest lucru va fi menționat în mod explicit mai jos în document.
NotaÎn general, în ceea ce privește link-urile http, este fundamental incorect să spunem că, de exemplu,
- http://domain.com/path/subpath/filename.txt- se presupune că indică un fișier
- http://domain.com/path/subpath/- se presupune că indică către un folder
- http://domain.com/path - se presupune că indică incorect către un dosar
Suntem obișnuiți să spunem asta pentru că este convenabil să asociem link-uri cu fișierele de pe site. În realitate, toate aceste legături indică un fel de resursă, fără a indica în niciun fel tipul de resursă. Ce se ascunde în spatele fiecărei resurse, adică ce fel de fișier sau folder real și ce tip de conținut va fi servit printr-un astfel de link, este deja determinat de configurația serverului.
Este important să înțelegeți că în link-uri nu există „fișier”, „dosar”, „subfolder”, „text”, „imagine”, „html”, „script”, „foaia de stil” și așa mai departe. Nicio bară oblică la sfârșit sau absența acesteia nu înseamnă absolut nimic până când linkul suferă o transformare în cadrul serverului și decide unde indică de fapt linkul și ce tip de conținut este ascuns în spatele lui. Doar această decizie se referă la arhitectura internă a serverului.
Scheme ierarhice
Următorul este un extras din paragraful 2.3 Scheme ierarhice și legături relative.
Unele scheme URL (cum ar fi schemele ftp, http și fișiere) conțin nume care pot fi considerate ierarhice; componentele ierarhiei sunt separate prin „/”.
Unele scheme URL (cum ar fi ftp, http și fișier) conțin nume care pot fi considerate ierarhice; Elementele ierarhiei sunt separate prin caracterul „/”.
Adică, se susține că în anumite scheme de adrese nu este interzis ca conținutul locatorului de resurse să fie subînțeles ca ierarhic și încă nu s-a stipulat că ierarhia este echivalentă cu orice formă, să zicem, una de fișier.
Sintaxa generală a diagramei de rețea
//
Nota„Și”/
„poate fi exclus. http://domain.com/ sau http://domain.com ?
Și așa și așa este corect. Doar că prima bară oblică după numele de gazdă are scopul de a separa calea de numele de gazdă.
Același paragraf al documentului raportează acest lucru după cum urmează:
Url-path Restul locatorului constă din date specifice schemei și este cunoscut sub numele de „url-path”. Furnizează detalii despre cum poate fi accesată resursa specificată. Rețineți că „/” dintre gazdă (sau port) și calea URL NU face parte din calea URL.
Restul locatorului constă din date specifice schemei și este cunoscut sub numele de „url-path”. Acesta oferă detalii despre cum poate fi accesată resursa specificată. Rețineți că caracterul „/” dintre gazdă (sau port) și calea URL nu face parte din url-path.
Nu există niciun cuvânt care să vă oblige să puneți acest caracter final sau să nu îl puneți atunci când url-path este egală cu șirul gol (cum ar spune mulți dintre noi, când URL-ul face legătura cu rădăcina site-ului). Nimeni nu are dreptul să-ți aplice penalități „pentru două preluări ale paginii principale”, deoarece conform specificației, în ambele cazuri conectați adresa URL la aceeași resursă.
Să continuăm
un alt fragment din același paragraf.
Sintaxa url-path depinde de schema utilizată, la fel ca și de modul în care este interpretată.Sintaxa url-path depinde de schema utilizată, la fel ca și de modul în care este interpretată. Aceasta este o confirmare suplimentară a faptului că fiecare schemă de localizare are propriul concept de „ierarhie” și modul de interpretare al acesteia..
Ierarhie
Pentru unele sisteme de fișiere, „/” folosit pentru a desemna structura ierarhică a adresei URL corespunde delimitatorului folosit pentru a construi o ierarhie a numelor de fișier și, astfel, numele fișierului va arăta similar cu calea URL. Aceasta NU înseamnă că adresa URL este un nume de fișier Unix.
Nota nu sunt prezente, caracterul „/” poate fi, de asemenea, omis.
În elemente
ŞI
caracterele "/", ";", "?" sunt rezervate. Caracterul „/” poate fi folosit în HTTP pentru a defini o structură ierarhică.
De asemenea, afirmă că puteți specifica un link fără o bară oblică finală. În acest caz, vorbeam despre o situație în care calea linkului este goală - indică către rădăcina gazdei. Intrare formalăȘi în sfârșit, un extras din paragraful 5. BNF pentru scheme URL specifice (notație formală pentru scheme URL specifice).
Vă rugăm să rețineți cât de precis este format elementul hpath - calea de legătură - conform regulilor. Elementele căii hsegmentului - segmente - sunt separate printr-o bară oblică.
Ca și cum ar sugera ideea importantă că bara oblică împarte calea în părți ierarhice și este întotdeauna situată în interior. În principiu, este posibil ca ultimul element hsegment să fie un șir gol (acest lucru rezultă din definiția sa), iar apoi o bară oblică de închidere să apară involuntar la sfârșitul URL-ului.
Concluzie Împărțirea unei căi în segmente folosind caracterul oblică implică prezența unor nume nevide pentru aceste segmente. În consecință, o legătură cu o bară oblică la sfârșit pare ilogică (deși nu este interzisă) în sensul că pare să indice un ultim segment al căii, dar nu numește acest segment în niciun fel. La fel cum linkul este ilogic (dar nici nu este interzis) http://domain.com/level1////levelX
, care nu denumește segmente de cale intermediară dacă calea este considerată nu ca un set de parametri, ci ca o structură ierarhică.
- În limbajul colocvial, conținutul semantic al celor două legături poate fi explicat astfel:
- - adrese la punctul de plecare implicit al celui de-al doilea nivel al ierarhiei
- se adresează unui punct nedefinit din cadrul celui de-al doilea nivel al ierarhiei, adică este ca și cum serverului i s-a încredințat sarcina că „accesăm al doilea nivel al ierarhiei, iar tu însuți decizi în ce punct din acest nivel consideră că este cea inițială implicită.” Din tot ce s-a spus mai sus rezultă
- , care este la fel cu linkurile
- http://domain.com
http://domain.com/
- adresa vizitatorului la rădăcina site-ului și, de exemplu, link-uri
- http://domain.com/level1/level2
http://domain.com/level1/level2/ adresa vizitatorului la al doilea nivel al ierarhiei resurselor. Și faptul că un anumit server poate interpreta slash-ul de la sfârșit în felul său și poate începe să redirecționeze intern la punctul de pornire implicit al nivelului - să zicem, la fișierul index.html, acesta este deja caz special configurație specifică. La fel ca în implementarea unui sistem URL care poate fi citit de om, toate înregistrările de redirecționare care utilizează modulul server mod_rewrite își definesc propriul concept (inerent unui anumit motor) de structură URL ierarhică, în care elementele de cale pot fi echivalate cu parametrii de solicitare și au nimic în comun cu structura fișierului
Aș dori în special să subliniez că aceasta este cunoștințele interne ale serverului, determinate de configurația acestuia, precum și de motorul instalat pe site. Un serviciu extern, să zicem același motor de căutare, nu poate face presupuneri și nu are idee dacă și cum diferă legăturile cu și fără bare oblice, cu excepția cazului în care serverul site-ului este configurat special astfel încât astfel de legături să ofere conținut diferit.
FYI
La nivel de implementare, problema barelor oblice la capete nu are o importanță fundamentală, ceea ce este confirmat de multe portaluri celebre. Pe unele, toate legăturile se termină cu o bară oblică, pe altele - fără o oblică. Principalul lucru este că conținutul link-urilor nu se dovedește a fi diferit, iar pentru Yandex trebuie să înregistrați o redirecționare a 301-a de la acele link-uri pe care nu le utilizați (să zicem, care se termină cu o bară oblică) către cele pe care le utilizați. Faptul este că, conform declarațiilor neconfirmate ale serviciului de asistență Yandex, acest motor de căutare poate face greșeli și nu poate „lipi” (memorați în cunoștințele sale) sau cu o anumită întârziere lipiți adresele slash-fără-slash într-una singură.
Iată un exemplu de implementare a unei astfel de redirecționări folosind fișierul rădăcină .htaccess:
# dacă adresa URL de intrare se termină cu o bară oblică (em, ami), # setați o redirecționare a 301-a către o pagină fără bară oblică RewriteCond %(REQUEST_URI) ^/.+/$ RewriteRule ^(.*?)/+$ http:/ /%(HTTP_HOST)/$1
Pentru Google (din nou, conform informațiilor neconfirmate prin experiment), aceste redirecționări nu sunt importante, deoarece se presupune că știe să lipească astfel de adrese corect și fără redirecționări.
Ține minte Există mulți oameni care se consideră specialiști SEO.
Dar nu fiecare dintre ei este așa. Mai mult decât atât, subiectul SEO este adesea speculat fără cunoștințe și temeiuri adecvate, pur și simplu în credința că și tu ești ignorant în acest domeniu, așa că vei crede cu ușurință în orice „fidea”. Când vi se spune că una dintre paginile dvs. „a ieșit din index”, utilizați o recomandare foarte bună de la Yandex: puteți afla despre erorile de indexare, dacă există, în serviciul Yandex.Webmaster. O publicație foarte interesantă, Little-Known SEO Facts, publicată în aprilie 2017. Prezintă un studiu amplu cu multe capturi de ecran, care a început cu scopul de a testa validitatea mai multor judecăți populare în domeniul promovării motoarelor de căutare și de a folosi exemple clare pentru a transmite rezultatele proprietarului mediu de site-uri web. Același studiu demonstrează în același timp tânărului cititor o serie de caracteristici evidente, obișnuite și destul de discrete, dar totuși uimitoare ale rezultatelor căutării organice. căutări pe Googleși Yandex.
Dar nu fiecare dintre ei este așa. Mai mult decât atât, subiectul SEO este adesea speculat fără cunoștințe și temeiuri adecvate, pur și simplu în credința că și tu ești ignorant în acest domeniu, așa că vei crede cu ușurință în orice „fidea”. Când vi se spune că una dintre paginile dvs. „a ieșit din index”, utilizați o recomandare foarte bună de la Yandex: puteți afla despre erorile de indexare, dacă există, în serviciul Yandex.Webmaster. Deși următorul link nu are aproape nimic de-a face cu SEO, va fi totuși atractiv pentru maeștrii SEO care acum caută comenzi suplimentare. O ofertă comercială este postată sub link băieții au găsit o modalitate interesantă de a folosi site-ul. Afacerilor private li se oferă crearea unui panou online bazat pe o temă specială, sub controlul căruia site-ul, sau mai degrabă primul său ecran, arată ca un banner întins pe panouri publicitare în aer liber. Pe smartphone am rotit ecranul, întinderea a devenit verticală și a ocupat întreaga zonă a ecranului, l-am întors înapoi, a devenit orizontal și a umplut din nou întregul ecran. Iar sub primul ecran se află un apendice de text, unde utilizatorii de obicei nu derulează, dar motorul de căutare vede bine acest text. Așadar, cei mai deștepți pinocchio din afacerile regionale cumpără aceste panouri online ieftine ca alternativă profitabilă publicitate contextuală
și rețeaua media contextuală a Yandex și Google.
Și pentru a obține expunerea maximă în indexul de căutare locală, sunt gata să cheltuiască bani pe o grămadă de texte SEO deodată pentru a-și promova panoul publicitar, care miroase a destul de puțin bani. Judecând după zvonuri, comenzile pentru 30 de kilograme de ruble se strecoară și, din moment ce băieții le externalizează către parteneri SEO, aici puteți construi punți de parteneriat și puteți obține un venit suplimentar bun.?
: Întotdeauna am vrut să înțeleg asta, dar semnificația lui era atât de mică încât a existat întotdeauna un motiv să nu o fac :)
Ați observat vreodată bara de adrese din browser? Ce este asta? URI, URL sau URN? Mulți dintre noi nu fac distincție între URI, URL, URN, iar unii nici măcar nu au auzit de termenii URI și URN, toată lumea folosește doar termenul URL. Să încercăm să ne dăm seama împreună.
Decodificarea abrevierilor
URI - Uniform Resource Identifier identificator resursă)
URL - Localizator uniform de resurse (unificat localizator de locație resursă)
URN - Numele resursei Unifrom (unificat Nume resursă)
Atenție, adevărul este ascuns în detalii aici, dar până acum nimic nu este clar, este un fel de mizerie. Să mergem mai departe.
Definiţie
URI: denotă numele și adresa unei resurse dintr-o rețea. De regulă, este împărțit în URL și URN, astfel încât URL și URN sunt componente ale URI.
URL: adresa unei resurse de pe web. O adresă URL definește locația unei resurse și modul în care poate fi accesată.
URN: Numele unei resurse de pe web. Semnificația unui URN este că definește doar numele unui anumit articol, care poate fi găsit în multe locuri specifice.
Nimic mai bun decât un exemplu concret
URI = http://site/2009/09/uri-url-urn.html
URL = http://site
URN = /2009/09/uri-url-urn.html
Să rezumam
URI este conceptul de identificator abstract, în timp ce URL și URN sunt implementarea concretă a unei adrese și a unui nume.
Sper că totul este clar pentru toată lumea. Fii alfabetizat!
Percepția fiecăruia dintre noi este individuală, așa că argumentați și citiți discuțiile din comentariile articolului, există o mulțime de lucruri interesante acolo.
Te poți pierde nu numai în pădure, ci și online. Și acest lucru se poate datora unei căi sau adrese incorecte care duce la resursă. Nu știi ce este un URL? Apoi, înainte de a începe o nouă călătorie prin spațiul virtual, să înțelegem sistemul de adrese de e-mail.
Ce este un URL
URL-ul este un standard general acceptat pentru înregistrarea adresei și indicarea locației unei resurse pe Internet. Din engleză numele său ( Localizator uniform de resurse) este tradus ca un localizator de resurse unificat. Puteți găsi o decodare anterioară a abrevierei URL - Localizator universal de resurse (localizator universal de resurse). Dar ambele sensuri completează conceptul de URL, mai degrabă decât să se contrazică reciproc.
Formatul de bază pentru scrierea unei structuri URL arată astfel:
://:@:/?#
- cel mai adesea ne referim la protocol.
autentificare – autentificarea utilizatorului utilizată pentru autorizarea resursei.
parola – parola de utilizator pentru autorizare.
gazdă – numele de domeniu al gazdei.
port – port gazdă utilizat în timpul conexiunii.
URL este calea unde se află resursa solicitată pe server.
parametrii și ancora– valoarea variabilelor și identificatorul unei anumite resurse.
Transmiterea valorilor variabilelor într-un șir de interogare este posibilă numai folosind metoda GET.
Să luăm în considerare format URL adresele de pagină ale resursei solicitate pe exemple practice. Pe partea clientului, adresa URL este afișată în bara de adrese a browserului:
Cele mai comune opțiuni sunt:
- http:// ru.wikipedia.org/wiki/Main_page– HTTP este folosit pentru a transmite cererea ( protocol de transfer hipertext);
- https://ru.wikipedia.org/wiki/Home_page— https este utilizat ca metodă de transmitere. Este o formă securizată a protocolului http care utilizează criptare (SSL sau TLS);
- fttp://wikipedia.org/wiki/file.txt– protocol de transfer de fișiere ftp;
- http://mail.ru/script.php?num=10&type=new&v=text– transmiterea valorilor variabilelor într-un șir de interogare folosind metoda GET.
Orice format URL este în primul rând un șir de caractere. Poate include:
2; litere latine.
2; Numere arabe (0-9).
2; Caractere rezervate („+”, „=”, „!” și altele).
2; Personaje speciale – le vom analiza mai detaliat.
Utilizarea caracterelor speciale în adrese URL
Desigur, astfel de caractere prea „speciale” nu sunt folosite în adrese URL. Dar sunt câteva:
- ?
- – servește la separarea unui bloc cu parametrii transmisi în linia de solicitare;
- & - separă parametrii trecuți unul de celălalt;
- = — separă o variabilă dintr-un parametru de valoarea acestuia;
- : - servește la separarea protocolului de restul URL-ului;
- # - simbolul este folosit în partea locală a adresei. Vă permite să accesați o anumită parte a paginii solicitate;
@ - indicat în datele de înregistrare a utilizatorului și la transferul de date folosind protocolul mailto.
Dar toate acestea sunt doar o teorie. Așadar, înainte de a învăța restul, să ne uităm la un mic exemplu practic.
Un bun exemplu
Pentru claritate, să luăm acest formular simplu de înregistrare: