Mis on URL ja kuidas sellega töötada. URL kaldkriipsuga või ilma – miks see õige on? Mis on uri
Vaidlused selles küsimuses – kuidas URL-i õigesti kirjutada, kas lõpus kaldkriipsuga või ilma? - on olnud ja jääb. Argumendid on mitmekesised ja sageli vastuolulised. Ja ühtse ressursiotsija (URL) valeandmete esitamise eest on kahte tüüpi väljamakseid. Otsingumootorite poolt on need väidetavalt karistused dubleerivate lehtede eest. Toimivuse seisukohalt on see väidetavalt lisasuunamine õige kirje lehele, mille server genereerib automaatselt.
Analüüsides aga internetistandardite tehnilisi spetsifikatsioone, eelkõige dokumenti "RFC 1738 – Uniform Resource Locators (URL)", tuleb tõdeda, et mõlemad veebiressursi aadressi salvestamise võimalused on formaalselt õiged ja sanktsioon ühe või teise võimaluse kasutamine pole midagi muud kui veidrus otsingumootor või pseudo-SEO-šnikovi lood.
Lühidalt vaadates tundub õigem variant ilma kaldkriipsuta lõpus, olenemata sellest, kas teie link adresseerib "faili" serveris või "kausta", mille kaudset tõestust kirjeldatakse allpool. Kuid dokumendis pole ühtegi väidet, et mõni muu valik on vale või viitab täiesti erinevale ressursile.
Ma ei lae teile mainitud RFC mitmeleheküljelist tõlget, sest esiteks oli küsimuse eesmärk kaldkriipsud URL-i lõpus ja teiseks on väljaanne suunatud lihtsatele mootorite kasutajatele, sealhulgas neile. keda kõik detailid ei huvita, ootavad lühiselgitusi ja sisulisi tõendeid. Seetõttu tsiteerin tõenditena ja selgitan väljavõtteid sellest dokumendist. Keda ei huvita, võib kohe vaadata artikli lõpus olevat järeldust.
Üldine URL-i süntaks
Kõigepealt juhin tähelepanu väljavõttele lõigust 2. Üldine URL-i süntaks (üldine URL-i süntaks). Igal juhul annan tekstist fragmendi originaalkeeles ja seejärel tõlke vene keelde.
URL-e kasutatakse ressursside asukoha määramiseks, pakkudes ressursi asukoha abstraktset identifitseerimist. URL-e kasutatakse ressursside asukoha leidmiseks, pakkudes abstraktset identifitseerimist ressursi asukoha kohta.
See tähendab, et URL ise on puhas abstraktsioon. See, et see võib meile väliselt mõne faili või kausta nimega sarnane tunduda, ei tähenda sugugi füüsilist viidet just sellisele ja sellisele failile, mitte aga mõnele muule serveri failiruumis. Seda kirjeldatakse üksikasjalikult hiljem dokumendis.
MärkusÜldiselt on http linkide osas põhimõtteliselt vale väita, et nt.
- http://domain.com/path/subpath/filename.txt- osutab väidetavalt failile
- http://domain.com/path/subpath/- osutab väidetavalt kaustale
- http://domain.com/path – viitab väidetavalt valesti kaustale
Oleme lihtsalt harjunud seda ütlema, sest linke on mugav saidil olevate failidega seostada. Tegelikult osutavad kõik need lingid mingile ressursile, mitte mingil juhul ei näita ressursi tüüpi. See, mis on iga ressursi taga peidus, st millist päris faili või kausta ja mis tüüpi sisu selline link annab, määrab juba serveri konfiguratsioon.
Oluline on mõista, et linkides pole selliseid asju nagu "fail", "kaust", "alamkaust", "tekst", "pilt", "html", "skript", "laadileht" jne. Ükski kaldkriips lõpus või selle puudumine ei tähenda absoluutselt midagi enne, kui link läbib serverisisese transformatsiooni ja ta ise otsustab, kuhu link tegelikult viitab ja mis tüüpi sisu selle taga peidus on. Ainult see otsus viitab serveri sisemisele arhitektuurile.
Hierarhilised skeemid
Järgnevalt on väljavõte punktist 2.3 Hierarhilised skeemid ja suhtelised lingid.
Mõned URL-i skeemid (nt ftp, http ja failiskeemid) sisaldavad nimesid, mida võib pidada hierarhilisteks; hierarhia komponendid on eraldatud "/"-ga. Mõned URL-i skeemid (nt ftp, http ja fail) sisaldavad nimesid, mida võib pidada hierarhilisteks; hierarhia elemendid on eraldatud tähega "/".
See tähendab, et väidetakse, et eraldi aadressskeemides ei ole ressursilokaatori sisul keelatud vihjata hierarhilisele ja veel pole sätestatud, et hierarhia oleks samaväärne mis tahes vormiga, näiteks failiga.
Üldine võrguskeemi süntaks
Alljärgnev on väljavõte punktist 3.1. Ühine Interneti-skeemi süntaks (tavaline võrguskeemi süntaks).
//
Märkus See on muide vastus küsimusele, mis tuleneb sellest, mida me kaalume. Sageli vaidlevad nad sel teemal: kuidas anda link domeenile (hostile) - ilma kaldkriipsuta lõpus või kaldkriipsuga?
Kuidas http://domain.com/ või http://domain.com?
Ja nii ja nii õige. Lihtsalt esimene kaldkriips pärast hostinime on selleks, et eraldada teenimi hostinimest. Dokumendi sama lõik ütleb järgmist:
URL-i tee Ülejäänud lokaator koosneb skeemi spetsiifilistest andmetest ja seda tuntakse kui "url-teed". See annab üksikasjad selle kohta, kuidas määratud ressursile pääseb juurde. Pange tähele, et hosti (või pordi) ja url-tee vaheline "/" EI OLE url-tee osa. Ülejäänud lokaator koosneb skeemipõhistest andmetest ja on tuntud kui "url-path" (URL-i tee). See annab üksikasjad selle kohta, kuidas määratud ressursile juurde pääseb. Pange tähele, et hosti (või pordi) ja URL-i tee vaheline märk "/" ei ole URL-i tee osa.
Kui URL-i tee on tühi string (nagu paljud meist ütlevad, kui URL viitab saidi juurele), ei pea te seda lõpumärki panema või mitte panema. Kellelgi pole õigust karistada teid "pealehe kahe võtte eest", sest vastavalt spetsifikatsioonile lingite mõlemal juhul URL-i sama ressursiga.
Jätkame teine väljavõte samast lõigust.
URL-i tee süntaks sõltub kasutatavast skeemist, nagu ka viisist, kuidas seda tõlgendatakse. URL-i tee süntaks sõltub kasutatavast skeemist ja ka selle tõlgendamise viisist.
See on veel üks kinnitus, et igal lokaatoriskeemil on oma "hierarhia" mõiste ja selle tõlgendamise viis.
Hierarhia
Mõne failisüsteemi puhul vastab URL-i hierarhilise struktuuri tähistamiseks kasutatav "/" eraldajale, mida kasutatakse failinime hierarhia koostamiseks, ja seega näeb failinimi välja sarnane URL-i teega. See EI tähenda, et URL on Unixi failinimi. Märgi "/" kasutatakse URL-i hierarhilise struktuuri tähistamiseks vastavalt failinime hierarhia koostamisel kasutatud eraldajale ja seetõttu näeb mõnes failisüsteemis failinimi välja nagu URL-i tee. Kuid see ei tähenda, et URL oleks Unixi-laadne failinimi.Kuigi see lõik kehtib ftp-skeemi kohta, kehtivad selle avaldused ka muude skeemide kohta (http, gopher, prospero jne). Ainult failiskeemis tähendab kaldkriips loogiliselt sama, mis näiteks failinimedes file://server_or_device/path/subpath/filename.txt.
http
HTTP URL on kujul: http://
Märkus Samuti on kirjas, et saate määrata lingi ilma kaldkriipsuta. Antud juhul rääkisime olukorrast, kus lingi tee on tühi – osutab hosti juurele.
Ametlik märge
Ja lõpuks väljavõte lõikest 5. BNF konkreetsete URL-i skeemide jaoks (ametlik märge konkreetsete URL-i skeemide jaoks).
Siin on valikulised osad märgitud nurksulgudes. Tärn sulgude ees tähistab 0 või enamat fragmendi kordust, nagu on näidatud sulgudes. Vertikaalset riba tuleks mõista kui VÕI.
Hostport = host [ ":" port ] ... ... httpurl = "http://" hostport [ "/" hpath [ "?" otsing]] hpath= hsegment *[ "/" hsegment ] hsegment = *[ uchar | ";" | ":" | "@" | "&" | "=" ] otsing = *[ uchar | ";" | ":" | "@" | "&" | "=" ] ... ... lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | h | "i" | "j" | "k" | "l" | "m" | "n" | "o" | p | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" hialpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "mina" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | Q | "R" | "S" | "T" | U | "V" | W | "X" | "Y" | "Z" alfa = lowalpha | hialpha number = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" seif = "$" | "-" | "_" | "." | "+" extra = "!" | "*" | """ | "(" | ")" | "," kuueteistkümnend = number | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | C
Pöörake tähelepanu sellele, kuidas täpselt hpath element moodustatakse vastavalt reeglitele - lingi tee. Tee hsegmendi elemendid – segmendid – eraldatakse kaldkriipsuga. Justkui vihjates olulisele mõttele, et kaldkriips jagab tee hierarhilisteks osadeks ja on alati sees. Põhimõtteliselt pole välistatud, et hsegmendi viimane element võib olla tühi string (see tuleneb selle definitsioonist) ja seejärel ilmub URL-i lõppu tahtmatult sulgev kaldkriips.
Järeldus
Tee jagamine segmentideks kaldkriipsuga tähendab nende segmentide mittetühjade nimede olemasolu. Järelikult tundub link, mille lõpus on kaldkriips, ebaloogiline (kuigi mitte keelatud) selles mõttes, et see näib osutavat tee mõnele viimasele lõigule, kuid pealegi ei nimeta seda lõiku kuidagi. Nii nagu link on ebaloogiline (aga ka mitte keelatud) http://domain.com/level1////levelX, mis ei nimeta vahepealseid teelõike, kui teed ei käsitleta mitte parameetrite kogumina, vaid hierarhilise struktuurina.
Kõnekeeles saab kahe lingi semantilist sisu seletada järgmiselt:
- - aadressid hierarhia teise taseme vaikimisi lähtepunktile
- - aadressid määramata punktile hierarhia teisel tasemel, see tähendab, et serverile on määratud ülesanne, et "me viitame hierarhia teisele tasemele ja te ise määrate, millist punkti peate vaikepunktiks esialgne sellel tasemel."
Kõigest ülaltoodust järeldub, mis sarnaneb linkidega
- http://domain.com
- http://domain.com/
pöörduge külastaja poole saidi juurte ja näiteks linkide poole
- http://domain.com/level1/level2
- http://domain.com/level1/level2/
suunata külastaja ressursihierarhia teisele tasemele. Ja see, et teatud server saab lõpus olevat kaldkriipsu omal moel tõlgendada ja hakata sisemiselt ümber suunama taseme vaikimisi lähtepunkti - näiteks faili index.html, see on juba erijuhtum spetsiifiline konfiguratsioon. Nii nagu inimloetava URL-i süsteemi juurutamisel, määratlevad kõik ümbersuunamiskirjed, mis kasutavad serverimoodulit mod_rewrite, oma (konkreetsele mootorile omase) URL-i hierarhilise struktuuri kontseptsiooni, milles teeelemente saab võrdsustada päringu parameetritega. ja pole sellega midagi pistmist faili struktuur sait (klassikaline näide: http://domain.com/ru/path , element ru on praeguse keele parameeter, mitte saidi kaust).
Rõhutan, et see on serveri sisemine teadmine nii selle konfiguratsiooni kui ka saidile installitud mootori tõttu. Välisteenus, näiteks sama otsingumootor, ei saa teha oletusi ja tal pole aimugi, kas ja kuidas kaldkriipsuga ja ilma lingid erinevad, välja arvatud juhul, kui saidiserver on spetsiaalselt konfigureeritud kuvama sellistel linkidel erinevat sisu.
Sulle teadmiseks
Rakendustasandil pole otstes olevate kaldkriipsude küsimus põhimõttelise tähtsusega, mida kinnitavad paljud väljapaistvad portaalid. Mõnel lõpevad kõik lingid kaldkriipsuga, teistel - ilma kaldkriipsuta. Peaasi, et linkide sisu ei osutuks erinevaks ja Yandexi jaoks peate registreerima ka 301 ümbersuunamise nendelt linkidelt, mida te ei kasuta (näiteks kaldkriipsuga lõppedes) nendele, mida kasutate. . Fakt on see, et Yandexi tugiteenuse kinnitamata väidete kohaselt võib see otsingumootor väidetavalt teha vigu ja mitte "kleepida" (teadmistes meelde jätta) või mõne viivitusega kaldkriipsuta aadresse üheks liimida.
Siin on näide sellise ümbersuunamise rakendamisest juur-.htaccess-faili abil:
# kui sisend-url lõpeb kaldkriipsuga(em, ami), # määrake 301. ümbersuunamine lehele ilma kaldkriipsuta RewriteCond %(REQUEST_URI) ^/.+/$ RewriteRule ^(.*?)/+$ http:/ /%(HTTP_HOST )/$1
Google (jällegi eksperimendiga kinnitamata teabe kohaselt) pole need ümbersuunamised olulised, kuna väidetavalt teab ta, kuidas selliseid aadresse õigesti ja ilma ümbersuunamisteta liimida.
Pea meeles On palju inimesi, kes peavad end SEO spetsialistideks. Kuid mitte kõik neist pole sellised. Pealegi spekuleeritakse SEO teemal sageli ilma korralike teadmiste ja põhjuseta, lihtsalt ootuses, et oled ka selles vallas võhik, nii et võid kergesti uskuda igasugustesse "nuudlitesse". Kui teile öeldakse, et mõned teie lehed "langesid registrist välja", kasutage Yandexi väga head soovitust: Indekseerimisvigade kohta, kui neid on, saate teada Yandex.Webmasteri teenusest. Selles teenuses näete alati oma lehtede loendit otsingus ja lehtede loendit, mis on mingil põhjusel otsingust välja jäetud. Google'il on sarnane teenus. Usalda seda teadmist, mitte pseudospetsialistide arvamust, kes on kuskilt kõrva äärest midagi kuulnud ja soovitavad selle põhjal teha seda, mis nende arvates ainuõige on.
Siin Väga huvitav postitus Little Known SEO Facts, mis avaldati 2017. aasta aprillis. Käimas on suur, rohkete ekraanipiltidega uuring, mis sai alguse eesmärgiga testida mitmete populaarsete otsuste paikapidavust otsingumootorite reklaamimise vallas ja edastada tulemused arusaadavatel näidetel keskmisele saidiomanikule. Sama uuring näitab muuseas noorele lugejale mitmeid ilmselgeid, igapäevaseid ja üsna isegi silmapaistmatuid, kuid siiski üllatavaid omadusi orgaanilistes otsingutulemustes. Google'i otsingud ja Yandex.
Siin Kuigi järgmisel lingil on SEO-ga vähe pistmist, on see siiski atraktiivne SEO-meistritele, kes otsivad nüüd lisatellimusi. Lingi alla on pandud kommertspakkumine, poisid leidsid huvitava viisi saidi kasutamiseks. Eraettevõtetele pakutakse mõnel eriteemal põhineva veebipõhise reklaamtahvli loomist, mille kontrolli all näeb sait või õigemini selle esimene ekraan välja kui bänneripikendus välireklaami stendidel. Nutitelefonis keerasin ekraani, venitus muutus vertikaalseks ja hõivab kogu ekraaniala, keerasin tagasi, muutus horisontaalseks ja jälle täisekraaniks. Ja esimese ekraani all on tekstiliide, kus kasutajad tavaliselt ei keri, aga otsingumootor näeb seda teksti hästi. Nii et piirkondliku ettevõtte targemad pinocchiod ostavad neid odavaid online-reklaamtahvleid tulutoova alternatiivina kontekstuaalne reklaam ning Yandex ja Google'i Display-võrgustik. Ja selleks, et kohalikus otsinguindeksis maksimaalselt hängida, ollakse valmis oma hapusumma järgi lõhnava kilbi reklaamimiseks korraga raha kulutama hunniku seotekstide peale. Kuulujuttude põhjal libisevad 30-kilose rubla tellimused läbi ja kuna poisid tellivad oma partnerid SEO-dele, saate siin luua partnerlussildu ja teenida head tulu.
: Olen alati tahtnud sellest aru saada, aga selle tähendus oli nii väike, et alati oli põhjust seda mitte teha :)
Ja sa mõtlesid: URL – mis see on?
Ma puutun sellega alati kokku, aga ikka ei tahtnud aru saada, mis vahe on terminitel URI, URL, URN ja siis järsku postitus (kahjuks on see juba unustusehõlma vajunud), otsustasin – loen läbi. ise ja rääkige teistele, kuigi, nagu eespool mainitud, ei muutu sellest midagi, kuid mulle meeldib mõnikord õigekirja kirjutada, nii et lugege mõistlikku tõlki:
Kas olete kunagi oma brauseri aadressiribale tähelepanu pööranud? Mis see on? URI, URL või URN? Paljud meist ei tee vahet URI-l, URL-il, URN-il ja mõned meist pole isegi kuulnud terminitest URI ja URN, kõik kasutavad lihtsalt terminit URL. Proovime selle koos välja mõelda.
Lühendite selgitus
URI – ühtne ressursi identifikaator (ühtne identifikaator ressurss)
URL – ühtne ressursiotsija (ühtne asukoha leidja ressurss)
URN – ühtne ressursi nimi (ühtne nimi ressurss)
Tähelepanu, siin peitub tõde pisiasjades, aga siiani pole midagi selget, mingi jama. Lähme edasi.
Definitsioon
URI: näitab veebis oleva ressursi nime ja aadressi. Üldiselt jaguneb URL ja URN, seega on URL ja URN URI komponendid.
URL: mõne ressursi aadress veebis. URL määrab ressursi asukoha ja sellele juurdepääsu.
URN: mõne ressursi nimi veebis. URN-i mõte seisneb selles, et see määratleb ainult konkreetse üksuse nime, mida võib leida mitmest konkreetsest kohast.
Pole midagi paremat kui konkreetne näide
URI = http://site/2009/09/uri-url-urn.html
URL = http://sait
URL=/2009/09/uri-url-urn.html
Summeerida
URI on abstraktse identifikaatori mõiste, samas kui URL ja URN on aadresside ja nimede konkreetsed teostused.
Loodan, et kõik on kõigile selge. Ole tark!
Igaühe meist arusaam on individuaalne, seega - vaielge ja lugege artikli kommentaarides arutelusid, seal on palju huvitavat.
Eksida võib mitte ainult metsas, vaid ka internetis. Ja selle põhjuseks võib olla vale tee või aadress, mis viib ressursi juurde. Kas te ei tea, mis on URL? Seejärel, enne kui asume edasisele teekonnale läbi virtuaalruumi, tegeleme elektrooniliste aadresside süsteemiga.
Mis on URL
URL on üldtunnustatud standard aadressi kirjutamiseks ja ressursi asukoha näitamiseks Internetis. Inglise keelest selle nimi ( Ühtne ressursiotsija) tähendab ühtset ressursiotsijat. Võite leida lühendi varasema dekodeerimise URL – universaalne ressursiotsija (universaalne ressursside lokaator). Kuid mõlemad tähendused täiendavad URL-i mõistet, mitte ei kattuvad.
URL-i struktuuri kirje põhivorming näeb välja järgmine:
://:@:/?#
- viitab enamasti protokollile.
login – kasutaja sisselogimine, mida kasutatakse ressursi autoriseerimiseks.
parool – kasutaja parool autoriseerimiseks.
host on hosti domeeninimi.
port - ühenduse ajal kasutatud hosti port.
URL – tee, kus nõutud ressurss serveris asub.
parameetrid ja ankur– muutujate väärtus ja identifikaator teatud ressursil.
Päringustringis olevate muutujate väärtuste edastamine on võimalik ainult GET-meetodil.
Kaaluge URL-i vorming taotletud ressursi lehe aadress praktilisi näiteid. Kliendi poolel kuvatakse URL brauseri aadressiribal:
Kõige tavalisemad valikud on järgmised:
- http:// en.wikipedia.org/wiki/Main_page- päringu saatmiseks kasutatakse http-d ( hüperteksti edastusprotokoll);
- https://ru.wikipedia.org/wiki/Main_page- edastusmeetodina kasutatakse https. on http-protokolli turvaline vorm, mis kasutab krüptimist (SSL või TLS );
- fttp://wikipedia.org/wiki/file.txt– failiedastusprotokoll fttp ;
- http://mail.ru/script.php?num=10&type=new&v=text– muutujate väärtuste edastamine päringustringis, kasutades GET-meetodit.
Iga URL-i vorming on peamiselt märgistring. See võib sisaldada:
2; Kirjad.
2; Araabia numbrid (0-9).
2; Reserveeritud märgid ("+", "=", "!" ja teised).
2; Eritegelased - peatume neil üksikasjalikumalt.
Erimärkide kasutamine URL-ides
Loomulikult ei kasutata URL-is selliseid liiga "erimärke". Kuid on mõned:
- ? – eraldab päringustringis edastatud parameetritega ploki;
- & - eraldab läbitud parameetrid üksteisest;
- = - eraldab parameetris oleva muutuja selle väärtusest;
- : - eraldab protokolli ülejäänud URL-ist;
- # - tähemärki kasutatakse aadressi kohalikus osas. Võimaldab juurdepääsu soovitud lehe konkreetsele osale;
- @ - Määratakse kasutaja registreerimisandmetes ja andmete edastamisel mailto protokolli abil.
Kuid see kõik on vaid teooria. Seetõttu vaatame enne ülejäänu õppimist väikest praktilist näidet.
illustreeriv näide
Selguse huvides võtame selle lihtsa registreerimisvormi:
Siin on tema kood: