Hlavní obsah
Internet, technologie a elektronika

Proč Windows používá v cestách \, zatímco webové adresy píšou /

Foto: Pexels

Jde o dva různé systémy s odlišnou historií. Windows zdědil zpětné lomítko z DOSu, zatímco standard URI odděluje části webové cesty lomítkem dopředu.

Článek

Stačí položit vedle sebe dvě úplně běžné adresy a počítačový svět začne vypadat, jako by se neuměl shodnout ani na směru jedné čárky.

C:\Users\Adam\Documents\clanek.docx

https://example.cz/clanky/technika

V prvním zápisu Windows odděluje složky zpětným lomítkem \. Ve druhém se webová adresa dělí lomítkem /. Není to chyba, rozmar prohlížeče ani drobnost, kterou by někdo zapomněl sjednotit. Jsou to dvě různé konvence, které vznikly v jiných systémech a v jinou dobu.

Windows má jako standard zpětné lomítko

Dokumentace Microsoftu popisuje cestu ve Windows jako řadu složek oddělených zpětným lomítkem. Proto v Průzkumníku, příkazové řádce i v dokumentaci běžně potkáváme zápisy typu C:\Windows\System32 nebo C:\Users\jmeno.

Zajímavé je, že moderní Windows není vždy tak přísný, jak jeho vzhled napovídá. V .NET je / veden jako alternativní oddělovač a při zpracování běžných cest se dopředná lomítka mohou převést na standardní \. Proto například některé programy bez protestu přijmou C:/Users/Adam/Documents. Není ale rozumné z toho dělat univerzální pravidlo: konkrétní příkaz, starší aplikace nebo speciální formát cesty může mít vlastní parser.

Kořen problému leží ještě před Windows

Zpětné lomítko není vynález grafického Windows. Jeho příběh vede k MS-DOSu. První DOS pracoval v době, kdy ještě neměl dnešní hierarchii složek, ale znak / už používal jako začátek přepínače příkazu. Zápis DIR /W například znamenal široký výpis adresáře.

Když MS-DOS 2.0 přidal stromovou strukturu adresářů, potřeboval znak, který oddělí jednotlivé části cesty a současně nerozbije existující syntaxi příkazů. Historické materiály k DOSu popisují právě \ jako oddělovač podadresářů; dobové vysvětlení dává volbu do souvislosti s tím, že / už byl obsazený přepínači. Z nouzového rozhodnutí kvůli kompatibilitě se stal zvyk, který přežil desítky let.

Je to typický příklad technologického dědictví: dnešní uživatel vidí C:\Program Files\…, ale důvod, proč je lomítko obráceně, sahá do éry disket, textových příkazů a prvních verzí DOSu.

Webová adresa je jiný jazyk

URL naproti tomu není cesta k souboru na vašem disku. Je to identifikátor zdroje podle pravidel URI. Standard RFC 3986 používá / jako znak, který v hierarchické cestě odděluje jednotlivé segmenty.

https://example.cz/sekce/clanek

Tady lze zápis rozebrat na schéma https, autoritu example.cz a cestu /sekce/clanek. Lomítko dopředu je součástí syntaxe URI, takže prohlížeč neřeší, zda uživatel sedí u Windows, Linuxu nebo telefonu. Webová adresa musí mít stejnou strukturu napříč platformami.

Právě proto nedává smysl mechanicky přepisovat URL do „windowsového“ tvaru. Zápis https:\example.cz\sekce\clanek není standardní webová adresa, i když některé prohlížeče mohou část chyb zkusit opravit.

A pak je tu ještě třetí význam: únikový znak

Aby byl zmatek úplný, programovací jazyky často používají zpětné lomítko ještě jinak. V řetězci může uvozovat speciální sekvenci, například \n pro nový řádek nebo \t pro tabulátor. Windows cesta zapsaná přímo ve zdrojovém kódu proto někdy potřebuje dvojité zpětné lomítko.

„C:\\Users\\Adam\\Documents“

To už není pravidlo souborového systému, ale pravidlo konkrétního programovacího jazyka. Jediný znak tak může vypadat stejně, ale v každé vrstvě znamenat něco jiného.

Proč tedy existují oba směry dodnes?

Protože kompatibilita bývá v informatice silnější než estetika. Windows si nese konvenci DOSu, URI má vlastní standard a programovací jazyky si zpětné lomítko rezervovaly pro escape sekvence. Sjednotit to dnes by znamenalo rozbíjet obrovské množství starého softwaru, dokumentace a automatizace jen kvůli tomu, aby se dvě čárky dívaly stejným směrem.

Praktická zkratka je proto jednoduchá: u klasické windowsové cesty čekejte \, u webové adresy /. Když někde fungují oba znaky, berte to jako vstřícnost konkrétního programu, ne jako důkaz, že mezi souborovou cestou a URL není rozdíl.

Dva směry lomítka tak nejsou dvě verze téže věci. Jsou to malé fosilie dvou odlišných historií, které dnes žijí vedle sebe na jedné klávesnici.

Zdroje a metodika

Microsoft Learn – Naming Files, Paths, and Namespaces — Windows používá zpětné lomítko k oddělení složek cesty.

Microsoft Learn – File path formats on Windows systems — Popis normalizace cest a převodu / na standardní windowsové \ v běžném .NET zpracování.

Microsoft Learn – Path.DirectorySeparatorChar — Dokumentuje hlavní a alternativní oddělovač cesty ve Windows.

RFC 3986 – URI Generic Syntax — Standard URI: cesta je tvořená segmenty oddělenými lomítkem /.

The MS-DOS Encyclopedia – Development of MS-DOS — Historický popis hierarchického souborového systému DOS 2.0 a zpětného lomítka v cestách.

OS/2 Museum – DOS 2.0 and 2.1 — Historický kontext: / už sloužilo jako oddělovač voleb příkazů.

Máte na tohle téma jiný názor? Napište o něm vlastní článek.

Texty jsou tvořeny uživateli a nepodléhají procesu korektury. Pokud najdete chybu nebo nepřesnost, prosíme, pošlete nám ji na medium.chyby@firma.seznam.cz.

Související témata:

Sdílejte s lidmi své příběhy

Stačí mít účet na Seznamu a můžete začít publikovat svůj obsah. To nejlepší se může zobrazit i na hlavní stránce Seznam.cz