Přejít k navigační liště

Zdroják » PHP » Webzdarma a spol.: Jak vypadal první web skoro každého z nás

Webzdarma a spol.: Jak vypadal první web skoro každého z nás

Články ‐ ‐ PHP ‐

Než přišly sociální sítě, blogovací platformy a skládačky webů ze šablon, měl skoro každý, kdo se v první polovině nultých let dostal k internetu, vlastní stránku na freehostingu. Adresa končila na wz.cz, webpark.cz nebo ic.cz, nahoře visel banner a návštěvy počítala ikonka TOPlistu. Ohlédnutí za dobou, kdy se celá generace učila webový vývoj metodou pokus, omyl a F5.

Nálepky:

Kdo se dnes živí vývojem webu a je mu kolem čtyřiceti, má s velkou pravděpodobností někde v minulosti adresu typu jmeno.wz.cz, www.sweb.cz/jmeno nebo klan.ic.cz. Visela na ní stránka o oblíbené kapele, herním klanu, třídě ze základky nebo prostě o autorovi samém. Většina těch webů dávno zmizela, některé se dají dohledat ve Wayback Machine a pár jich k překvapení vlastníků běží dodnes. Pro mnoho lidí z oboru to byl první kontakt s HTML, FTP a později i s PHP a MySQL. Bez kurzu, bez mentora, jen se zdrojovým kódem cizích stránek otevřeným přes „Zobrazit zdroj“ a s nekonečnou trpělivostí.

Trh, který rozdával zdarma

Na přelomu tisíciletí byl webhosting pro běžného člověka drahá a nepříliš srozumitelná věc. Placený hosting cílil hlavně na firmy, které si ho často kupovaly v balíku s připojením k internetu, a vlastní doména byla pro studenta spíš sci-fi. Do tohoto prostoru vstoupily freehostingy. Nabízely místo pro stránky výměnou za reklamu, za registraci do katalogu, nebo jen jako doplněk k e-mailu a portálu, který si tím chtěl udržet uživatele.

K tomu se přidávala cena samotného připojení. Většina domácností chodila na internet modemem přes telefonní linku a platila za čas strávený online, takže se surfovalo hlavně večer a o víkendu, kdy byly impulzy levnější. Na stránku, která se načítala celou minutu, se podruhé nikdo nevracel. Autoři proto zmenšovali obrázky, ukládali je do GIFu s omezenou paletou nebo do silně komprimovaného JPEGu a nad každým kilobajtem přemýšleli dřív, než ho nahráli na server. Kdo měl doma pomalý modem a ve škole rychlejší linku, psal stránky offline a nahrával je o přestávce v počítačové učebně.

Jak tehdejší nabídka vypadala, ukazuje srovnání, které Lupa.cz otiskla v lednu 2001. Hyperlink dával 12 MB, Sweb od Seznamu a Webpark od Centra po 20 MB a Můjweb od Atlasu prostor v praxi neomezený. Adresy měly podobu sweb.cz/jmeno nebo mujweb.cz/kategorie/jmeno, Webpark a Hyperlink nabízely i subdoménu. Sweb se obsluhoval výhradně přes FTP a jako jediný ze srovnávaných rozlišoval velká a malá písmena v názvech souborů. Můjweb naopak FTP neměl vůbec a soubory se do něj nahrávaly přes webové rozhraní. Na konci článku autor jen vyjmenoval služby, na které už nezbylo místo: Crolink, KGB, Quick, Redbox, Volný, WorldOnline a také Webzdarma.

Hranice mezi bezplatným a placeným hostingem se přitom rýsovala velmi brzy. V červenci 2001 spustil Seznam společně s Globe Internetem službu Sweb Profi, klasický placený webhosting se 100 MB místa, e-mailovými schránkami a možností registrovat vlastní doménu. Bezplatný Sweb tak dostal staršího sourozence pro firmy a vznikl model, který se o několik let později stal standardem celého trhu: základ zdarma s omezeními a reklamou, vlastní doména a klid za peníze.

O čtyři roky později to vypadalo jinak. Ve srovnání z března 2005 měl Sweb pouhý 1 MB a FTP zpřístupňoval jen za 60 Kč ročně. Webpark klesl na 3 MB a do stránek vkládal banner i lištu. Webzdarma v téže tabulce nabízelo 50 MB, přístup přes web i FTP, doménu třetího řádu a hlavně PHP s MySQL, za což si bralo banner. Podobně na tom bylo IC.CZ se 100 MB, PHP, MySQL a dokonce PostgreSQL. A4.cz dávalo 10 MB s PHP a platilo se za něj vyskakovacím oknem pod hlavním oknem prohlížeče.

Trh se tedy rozdělil. Portály, kterým šlo o návštěvnost a e-mailové účty, statický hosting spíš utlumovaly a zpoplatňovaly. Specializované freehostingy přidávaly skriptování a databáze a z reklamy na cizích stránkách udělaly obchodní model. Pro amatérského autora to byla jasná volba: kdo chtěl na webu cokoli dynamického, šel tam, kde běželo PHP.

Velkou roli hrály také katalogy. Fulltextové vyhledávače teprve dozrávaly a podstatnou část návštěv přiváděly ručně tříděné rubriky. Můjweb řadil stránky do kategorií přímo v adrese, Webpark měl vlastní katalog, do kterého se člověk mohl zapsat už při zakládání účtu, a zápis do katalogu Seznamu byl pro autora amatérského webu malým vítězstvím. Popis stránky a výběr správné kategorie se ladily s péčí, jakou dnes věnujeme meta popiskům a strukturovaným datům. Šlo vlastně o první, velmi naivní podobu SEO.

Webzdarma

Webzdarma vzniklo na přelomu let 2000 a 2001 a patří mezi několik málo freehostingů té doby, které fungují dodnes. Archive Team, komunita zachraňující zanikající weby, ho řadí do „zlatého období“ osobních domovských stránek, které klade zhruba mezi roky 2002 a 2008. Od roku 2015 službu provozuje společnost Web zdarma s.r.o., předtím byla spojená s firmou AYA CZ.

Charakteristický byl výběr domén. Kromě wz.cz a webzdarma.cz si uživatel mohl vybrat unas.cz, xf.cz, borec.cz, euweb.cz, chytrak.cz, kvalitne.cz, mysteria.cz nebo nazory.cz, slovenští uživatelé měli wz.sk. Adresa jmeno.borec.cz zněla třináctiletému autorovi stránky o Counter-Striku nesrovnatelně lépe než lomítko za doménou portálu. Subdoména navíc působila jako „opravdový“ web, i když za ní stál sdílený server s tisíci dalších účtů.

Hlavní důvod, proč Webzdarma přetahovalo uživatele portálovým freewebům, ale bylo PHP. Kdo chtěl na stránce knihu návštěv, anketu, novinky nebo jednoduchý redakční systém, potřeboval serverové skriptování a to Sweb ani Můjweb neměly. Na Webzdarma stačilo nahrát skript stažený z některého z tehdejších katalogů, do konfiguračního souboru vepsat přihlašovací údaje k databázi a zkusit, co se stane. Často se stalo něco nečekaného. Hláška o chybě na řádku 37 vedla k prvnímu otevření dokumentace na php.net, k prvnímu dotazu v diskusním fóru a nejednou i k první vlastní funkci. Spousta dnešních seniorních vývojářů začínala přesně takhle, úpravou cizího skriptu, kterému napůl rozuměla.

Daní byla reklama a nejistota. Do stránek se vkládal banner a služba si nechávala právo rušit weby, o které se nikdo nestaral. Čtenáři Lupy v diskusích zmiňují, že stránky s nulovou návštěvností po čase mizí. Archive Team zaznamenal, že v roce 2017 služba pozastavila několik webů založených v roce 2004, přičemž FTP účty k nim po obnovení hesla stále fungovaly. Data tedy často přežila déle než samotná prezentace.

Klany, fankluby a třídní stránky

Obsah tehdejších osobních webů se točil kolem několika opakujících se žánrů. Nejvýraznější byly stránky herních klanů. Hráči Counter-Striku, Quaku nebo Unreal Tournamentu potřebovali místo pro soupisku členů, výsledky zápasů, pravidla a fórum, a freehosting jim ho dal zdarma. Že šlo o početnou skupinu uživatelů, ukazuje i nabídka IC.CZ, které mezi svými doménami mělo clanweb.cz a clanhost.cz, vedle nich třeba phorum.cz nebo e-blog.cz.

Druhou velkou skupinu tvořily fanouškovské stránky o kapelách, seriálech, anime, knižních ságách nebo sportovních klubech. Obsah se často přebíral z jiných webů a časopisů a autorská práva řešil málokdo, zato se pečlivě vedla rubrika novinek a galerie stažených obrázků. Třetím žánrem byly třídní a školní stránky s fotkami z výletů, rozvrhem a seznamem spolužáků, nejednou i s jejich čísly ICQ.

Pro řadu autorů byl web hlavně společenský prostor. Kniha návštěv, chat na externí službě a fórum plnily roli, kterou později převzaly sociální sítě. Rozdíl byl v tom, že si každá komunita musela svůj prostor postavit sama, a tak se v ní vždycky našel někdo, kdo se kvůli tomu naučil HTML.

Jak se takový web dělal

Výbava začínajícího webaře byla skromná. Textový editor, ideálně PSPad, český freewarový editor se zvýrazněním syntaxe, nebo obyčejný Poznámkový blok. Kdo chtěl klikat, sáhl po FrontPage nebo po nelegální kopii Dreamweaveru, a pak se divil, kolik balastu výsledný kód obsahuje. K tomu FTP klient, typicky Total Commander, kde se soubory přetahovaly z jednoho panelu do druhého stejně jako na lokálním disku. Žádné verzování, žádné testovací prostředí. Úpravy se dělaly rovnou na produkci a mezi pokusy se mačkalo F5, případně Ctrl+F5, když prohlížeč tvrdošíjně držel starou verzi v cache.

Rozlišování velkých a malých písmen, které Lupa v roce 2001 vyčítala Swebu, bylo pro mnoho lidí první lekcí o tom, že server neběží na Windows. Lokálně otevřený soubor Index.html fungoval, odkaz na index.html na linuxovém serveru vrátil chybu 404. Stejně tak mezery a diakritika v názvech souborů, které na disku nevadily a na webu rozbíjely odkazy.

Lokální vývojové prostředí běžný amatér neměl. Statické HTML šlo otevřít přímo z disku, PHP ale potřebovalo server, takže každá změna skriptu znamenala nové nahrání přes FTP. Kdo to chtěl změnit, musel si na Windows ručně nainstalovat a propojit Apache, PHP a MySQL a ladit jejich konfigurační soubory. Situaci výrazně zjednodušily až balíky typu XAMPP, které celou sadu instalovaly najednou včetně phpMyAdminu. Spousta lidí se k nim ale dostala ve chvíli, kdy je jejich první web dávno přestal bavit.

Rozvržení stránky se stavělo z tabulek. Sloupce, okraje a mezery držely průhledné obrázky spacer.gif s nastavenou šířkou a výškou, zaoblené rohy se skládaly z rozřezaných obrázků v buňkách tabulky. CSS se používalo hlavně na barvy a písmo, v lepším případě na odkazy bez podtržení a efekt při najetí myší. Kdo chtěl mít menu na jednom místě a nekopírovat ho do každého souboru, sáhl po rámech. Levý rám s navigací, pravý s obsahem, a k tomu problém, jak na konkrétní podstránku poslat odkaz kamarádovi.

S příchodem PHP rámy nahradil include. Klasický vzor vypadal zhruba jako index.php?page=kontakt a v kódu stálo include($_GET['page'] . '.php'). Fungovalo to, bylo to elegantní a byla to jedna z nejrozšířenějších bezpečnostních děr té doby. Podle konfigurace serveru šlo podstrčit cestu k jinému souboru na disku, a pokud bylo povolené vkládání vzdálených souborů, i URL se skriptem útočníka. Podobně dopadala většina tehdejších databázových aplikací. Funkce mysql_query() dostávala řetězec poskládaný přímo z $_GET a $_POST a o SQL injection se mnozí dozvěděli teprve ve chvíli, kdy jim někdo smazal knihu návštěv. Rozšíření mysql pak PHP 7 z jazyka úplně odstranilo, takže skripty z té doby na moderním serveru bez úprav nespustíte.

Vizuální stránka měla svá pravidla. Animované GIFy s nápisem „Under construction“ a kopáčem s lopatou, běžící text v elementu marquee, hudba ve formátu MIDI hrající na pozadí, kurzor, za kterým se táhly hvězdičky, a skript, který zakazoval pravé tlačítko myši, aby nikdo nemohl „ukrást“ obrázky. V patičce poznámka, že je stránka optimalizovaná pro Internet Explorer v určitém rozlišení, a řada malých tlačítek 88 × 31 pixelů odkazujících na spřátelené weby. Výměna odkazů byla tehdejší podobou propagace a seznam spřátelených stránek měl skoro každý.

Neodmyslitelnou součástí bylo měření návštěvnosti. Ikonka TOPlistu nebo počítadla Navrcholu.cz v rohu stránky nesloužila jen ke statistikám, ale hlavně k soutěžení, kdo má víc návštěv a vyšší pozici v žebříčku kategorie. Konec Navrcholu.cz mimochodem ohlásila Lupa až v lednu 2021, po 23 letech provozu. Druhým povinným prvkem byla kniha návštěv, kterou dřív nebo později zaplavil spam s odkazy na pochybné obchody. Pro mnoho autorů to byla první praktická zkušenost s tím, proč se vstupy od uživatelů musí ošetřovat a proč existuje CAPTCHA.

Reklama jako cena za svobodu

Freehosting se platil pozorností návštěvníků. Na Webzdarma a IC.CZ to byl banner, na Webparku banner a lišta, na A4.cz vyskakovací okno. Reklama se vkládala do vygenerovaného HTML a nejednou rozbila pečlivě vyladěný tabulkový layout, protože autor s ní při návrhu nepočítal. Častou reakcí byla snaha reklamu skrýt, ať už stylem, nebo umístěním do neviditelné části stránky. Šlo o porušení podmínek s rizikem, že provozovatel účet zruší, a také o první praktickou lekci z toho, jak vypadá obchodní model služby „zdarma“.

Zároveň právě reklama umožnila provoz sdílených serverů s PHP a databázemi pro desítky tisíc lidí, kteří by si placený hosting nikdy nekoupili. Bez ní by se celá generace k serverovému skriptování dostala o několik let později.

Překvapivě málo se tehdy řešilo soukromí. Reklamní systémy freehostingů, počítadla i externí knihy návštěv vkládaly do stránek vlastní skripty a obrázky, přes které se dozvídaly, odkud návštěvník přišel a jaký používá prohlížeč, a autoři nad tím vůbec nepřemýšleli. Na stránkách se běžně objevovala celá jména, e-mailové adresy bez jakékoli ochrany proti robotům a fotky spolužáků, kterých se nikdo neptal. Pravidla, která dnes bereme jako samozřejmost, přišla až o mnoho let později.

Konec zlaté éry

Osobní stránky na freehostingu postupně nahradily jednodušší a pohodlnější služby. Kdo chtěl psát, založil si blog na blog.cz nebo jiné blogovací platformě. Kdo chtěl sdílet fotky a komunikovat s přáteli, přešel na Lidé.cz a později na Facebook. Kdo potřeboval prezentaci pro kroužek nebo malou firmu, poskládal si ji ve Webnode nebo eStránkách bez jediného řádku kódu. Ručně psaný web na FTP přestal dávat smysl každému, kdo nechtěl programovat.

Provozovatelé na to reagovali po svém. Seznam zpoplatnil Sweb už v únoru 2004 s odůvodněním, že se musí bránit zneužívání služby k ukládání nelegálního obsahu. V roce 2009 ho ve spolupráci se společností Miton přestavěl: weby se přesunuly z adresy sweb.cz/jmeno na subdoménu jmeno.sweb.cz, uživatelé dostali 100 MB, PHP, FTP a statistiky, do stránek se ale začala vkládat reklama. V říjnu 2022 Seznam oznámil konec služby, o které už mnozí ani nevěděli, že běží, a na konci listopadu ji vypnul. Archive Team stihl před koncem sestavit seznam zhruba tří milionů URL ze 144 tisíc subdomén a uložit, co se dalo.

IC.CZ, které kolem let 2008 až 2009 pohltilo Webpark, ukončilo freehosting 28. února 2015. Uživatelé, kteří nepřešli na placenou variantu, přišli o weby a data se mazala do poloviny března. Spolu s IC.CZ tak zmizely i všechny stránky na doménách jako clanweb.cz, hustej.net nebo webpark.cz. Svého konce se dočkal také Můjweb. Ve světě se podobným milníkem stalo uzavření GeoCities, které Yahoo provedlo v roce 2009 a které odstartovalo velké záchranné akce archivářů.

Velká část těchto stránek přežila jen díky archivářům. Internet Archive je ukládal nepravidelně, takže menší weby mají ve Wayback Machine často jen několik snímků, nezřídka bez obrázků a stylů. Archive Team se k českým freehostingům dostával většinou až ve chvíli, kdy byl konec oznámený, a stahoval, co stihl. Weby postavené na PHP a databázi se přitom archivují hůř než statické stránky, protože se uloží jen vygenerovaný výstup, nikoli skripty a data za ním. Kniha návštěv nebo redakční systém tak v archivu často přežily jako jediný snímek úvodní stránky.

Webzdarma přežilo, i když dnes vypadá jinak. Dál nabízí bezplatný hosting na doménách třetího řádu s PHP a MySQL, k němu instalaci WordPressu jedním kliknutím, placené tarify a registraci domén. Konkurenci mu dělá Endora, která funguje od roku 2009. Bezplatný hosting tedy nezanikl, jen přestal být jedinou cestou, jak se dostat na web, a stal se spíš pískovištěm pro první pokusy a malé projekty.

Co nám ta doba dala

Při zpětném pohledu je snadné se nad tabulkovými layouty a blikajícími GIFy pousmát. Tehdejší přístup měl ale jednu vlastnost, kterou dnešní začátečníci postrádají: všechno bylo vidět. Stránka byla jeden HTML soubor, který šel otevřít, přečíst a pochopit. Mezi napsaným kódem a výsledkem v prohlížeči nestál žádný build, bundler ani framework. Kdo chtěl zjistit, jak někdo jiný udělal menu nebo efekt při najetí myší, podíval se do zdrojového kódu a měl odpověď.

Zároveň si z té doby mnozí odnesli návyky, kterých se museli později pracně zbavovat. Úpravy přímo na produkčním serveru, nasazování přetažením souborů v FTP klientovi, žádná historie změn a bezpečnost řešená až po incidentu. Cesta od Total Commanderu ke gitu a automatickému nasazení byla pro mnoho lidí delší, než by se dnes zdálo.

Něco z té doby ale přetrvalo i v dobrém. Kombinace PHP a MySQL na sdíleném linuxovém hostingu, kterou freehostingy zpřístupnily široké veřejnosti, se stala základem, na kterém později vyrostly WordPress, Joomla i řada českých redakčních systémů. Stejný princip, tedy nahrát soubory na server a hned vidět výsledek, dodnes láká začátečníky víc než sebelepší návod na kontejnery a CI pipeline. Na freehostingu se dalo pokazit skoro cokoli, ale nic z toho nestálo peníze a každá chyba byla lekcí, kterou si člověk pamatoval.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Nejvíce hlasů

AI přepracovala 300 tisíc řádků Street Fighteru III. Hlídal ji hash každého snímku

‐ AI ‐
Komentáře: 0
AI agenti za tři týdny přepracovali dekompilovaný kód Street Fighteru III: 3rd Strike a podle metriky CodeScene dosáhli nejvyššího možného skóre kvality. Shoda s původní verzí se ověřovala přehráváním herních záznamů a porovnáním hashe herního stavu po každém snímku. Taková kontrola je přísnější než běžné testy, zachytí ale jen to, co do hashe vstupuje.

DressCode si vezme váš PHP kód do parády

‐ PHP ‐
Komentáře: 0
Napsat nové pravidlo do PHP CS Fixeru nebo PHP_CodeSnifferu je za trest. David Grudl to zkusil kvůli jedinému řádku `use function` a místo pravidla z toho vznikl nový nástroj DressCode, postavený nad stromem, který ze zdrojáku nic nezahodí. Ukážeme si, jak ho nasadit, nastavit a zapojit do práce AI agenta.