Pagina este construită și deschisă în browser. Arată ca un site și se comportă ca un site: legăturile sunt clicabile, butoanele răspund. O trimiteți cuiva, iar omul vă răspunde "nu se deschide". Sau se deschide, dar fără stiluri și imagini. Nimic nu s-a stricat. Pagina trăiește doar într-un singur loc, pe discul dumneavoastră, iar bara de adresă a browserului arată asta - trebuie doar să știți unde să vă uitați.

Întrebarea "cum să pun un site pe internet" sună de parcă ar exista un buton care trebuie doar găsit. Mai util e să întrebați altfel: unde trebuie să trăiască site-ul ca să-l vadă și alții, nu doar eu? Răspunsul se adună din bucăți: serverul, două adrese, calea, găzduirea și deploy-ul. Apoi - cum actualizați ce ați publicat, de ce îi trebuie gazdei o cheie și ce face agentul când îi cereți să "publice".

1. Fișierul trăiește pe un singur computer

Priviți bara de adresă când pagina este deschisă de pe disc. Nu este o legătură, ci o cale către fișier:

file:///C:/projects/landing/index.html    # calea către fișierul de pe discul dumneavoastră
https://landing-demo.tiiny.site/          # adresa de pe alt computer

Prima linie este discul dumneavoastră. Browserul lucrează aici ca un program de vizualizare: a deschis fișierul, l-a citit, l-a afișat. Prin rețea nu a mers nicăieri. A doua linie este adresa altui computer. Prima se deschide doar la dumneavoastră, a doua de pe orice dispozitiv care are internet.

De aici vine și "nu se deschide". A trimite un fișier și a publica o pagină sunt lucruri diferite. O pagină nu este de obicei un singur fișier, ci un folder: index.html, lângă el style.css și imaginile. Ați trimis doar index.html - destinatarul îl va deschide, dar stilurile și imaginile nu vor avea unde să fie găsite. De aici și "se deschide, dar strâmb".

Și o limitare mai simplă. Seara ați închis laptopul, l-ați pus în geantă și l-ați dus acasă. Gata: doarme și nu poate da nimic nimănui. Pentru ca pagina să fie văzută de toți și oricând, fișierele ei trebuie să stea în altă parte, nu la dumneavoastră.

"Funcționează la mine" și "se deschide pentru toți" sunt două stări diferite. Restul articolului este despre ce se află între ele.

2. Serverul

Cuvântul cheie este server. Nu este o cutie misterioasă cu becuri, ci pur și simplu un computer care e mereu pornit și le dă fișiere altora. Tot rostul lui e acesta: să fie disponibil atunci când dumneavoastră nu sunteți.

Se pare că se poate și fără el. Trimiteți unui prieten o imagine pe messenger - ea zboară direct de pe telefonul dumneavoastră la el? Nu. Ajunge mai întâi pe serverul aplicației și abia de acolo la prieten. De aceea puteți s-o trimiteți, să opriți telefonul și să vă culcați, iar prietenul dumneavoastră o va deschide două ore mai târziu. Serverul stă la mijloc chiar și acolo unde nu-l vedeți.

Concluzia pentru pagina dumneavoastră este aceeași: pentru ca toți să o poată vedea, fișierele trebuie să se afle pe o mașină ca aceasta. Internetul nu este un nor comun unde lucrurile ajung de la sine, ci un alt computer care nu doarme. La început e chiar puțin dezamăgitor, prea prozaic. În schimb, e limpede.

3. Domeniu și IP

Servere în lume sunt multe, iar la cel potrivit trebuie să ajungeți cumva. După adresă. Un server are două adrese, ca o casă obișnuită: coordonatele și firma de pe fațadă.

Prima este IP. O adresă numerică ca 192.0.2.1: precisă, dar ilizibilă pentru oameni - doar coordonate brute. Computerele comunică între ele exact așa.

A doua este domeniul. Un nume pentru oameni, ca example.com. Aceasta e firma: doar nu-i spuneți unui prieten "ne vedem la clădirea de la coordonatele cincizeci patruzeci și cinci, treizeci cincizeci și doi". Spuneți "la cafeneaua din colț".

192.0.2.1        # IP: adresa numerică a serverului, pentru mașini
example.com      # domeniu: același loc, cu un nume pentru oameni

Cum se leagă unul de altul: când tastați un nume, browserul întreabă mai întâi directorul de nume ce IP se află în spatele lui și abia apoi merge pe cifre. Directorul se numește DNS, și nu trebuie să știți mai mult despre el acum: tastați un nume, restul se întâmplă de la sine.

Și încă o parte a adresei ușor de ratat: https:// chiar la început. Nu e parte a numelui, ci modul de conectare: conversația cu serverul este criptată. Browserele arată asta în feluri diferite, dar http:// fără s îl marchează toate ca nesigur. Criptarea o asigură singure serviciile de găzduire.

4. Calea și fișierul implicit

Pe un server stau de obicei o mulțime de fișiere. De care anume aveți nevoie spune calea (în engleză path) - partea din adresă de după domeniu. Dacă domeniul este clădirea, calea spune la ce tejghea dinăuntru mergeți.

Adresa https://example.com/about/team.html împărțită în trei părți: modul de conectare, domeniu și calea către fișierhttps://example.com/about/team.htmlcum se conecteazăce fișieral cui e locul
O adresă înseamnă trei răspunsuri la rând: cum se conectează, al cui e locul, ce fișier

Adresa se citește de la stânga la dreapta și nu e un șir magic, ci trei răspunsuri. https://example.com/about/team.html înseamnă "pe serverul example.com deschide fișierul about/team.html".

Calea este literal calea către fișierul de pe discul serverului: folderul about cu team.html în interior, la fel ca o cale către un folder pe computerul dumneavoastră. La site-urile mari paginile se construiesc adesea din mers, dar logica este aceeași: adresa duce la un loc specific.

Și dacă calea este goală? Tastați https://example.com/ - ce fișier să se deschidă? Răspunsul e convenit de mult: serverul dă index.html din folderul rădăcină al site-ului, așa fac aproape toate serviciile de găzduire. De aici o regulă care vă va folosi în curând: index.html stă în rădăcina folderului pe care îl publicați, nu într-unul imbricat.

5. Ruta completă

Acum toate piesele sunt la locul lor și se pot aduna într-un singur lanț.

  • Tastați adresa
  • Directorul de nume
  • Serverul și calea
  • Pagina la dumneavoastră

Tastați adresa. Browserul află de la directorul de nume IP-ul domeniului, se adresează serverului, iar acesta găsește fișierul după cale și îl trimite. Browserul primește același text HTML care ar fi putut sta pe discul dumneavoastră și desenează pagina.

Esențialul aici: marcajul și stilurile browserul le desenează la fel, fie că fișierul a venit de pe disc, fie de pe server. Diferența e cine altcineva poate ajunge la acel fișier. Ce-i drept, pentru fișierele de pe disc browserul limitează o parte din posibilitățile JavaScript, așa că pe server pagina se comportă uneori mai complet decât aceeași pagină deschisă local.

6. Găzduire

Un server într-un centru de date nu aveți și nici nu vă trebuie. Există găzduirea (hosting) - un server închiriat: îi dați folderul cu pagina, ea îl pune pe serverul ei mereu pornit și vă întoarce o legătură publică. Atât.

Legătura va fi pe domeniul gazdei, iar numele dumneavoastră stă în stânga: landing-demo.tiiny.site, nume.github.io. Domeniul aparține gazdei, dumneavoastră vă revine numele din fața lui: uneori îl alegeți singur, alteori gazda vi-l dă ea. Și un domeniu propriu ca mysite.com se poate, dar despre cumpărarea și configurarea lui nu vorbim acum: ca să arătați o pagină, nici nu aveți nevoie de el.

Pentru o pagină din fișiere gata, căreia nu îi trebuie un program pe server (o astfel de pagină se numește statică, dar asta e altă discuție), există găzduiri gratuite. Administrator nu va trebui să deveniți.

Agentul poate face la fel

Agentul poate da singur folderul gazdei: printr-o comandă sau printr-un skill gata făcut - o instrucțiune pentru o anumită gazdă. Ce face el în acest timp și ce vă va întreba - la sfârșitul articolului.

7. Deploy

Și cuvântul de dragul căruia a început totul. Deploy, din englezescul deploy ("a desfășura"): copiați fișierele acolo unde sunt accesibile nu doar dumneavoastră - de pe discul dumneavoastră pe serverul gazdei. Folderul rămâne la dumneavoastră și apare acolo.

Înainte de deploy folderul landing se află doar pe computerul dumneavoastră, după deploy o copie a lui se află pe serverul gazdei și are o legăturălanding/index.html, style.cssimg/hero.pnglanding/index.html, style.cssimg/hero.pnglanding-demo.tiiny.siteLegăturăComputerul dumneavoastrăServerul gazdeideploy
Un deploy este o copie, nu o mutare: folderul rămâne la dumneavoastră și apare pe un server care are o adresă

După deploy același folder stă în două locuri, iar legătura duce la cel din dreapta. Cel din stânga n-a dispărut nicăieri, puteți lucra mai departe cu el.

Ce anume pleacă:

landing/
  index.html
  style.css
  img/
    hero.png

Se publică landing/ întreg, de aceea style.css și imaginile stau în continuare lângă index.html și se găsesc pe aceleași căi. Iar index.html e în rădăcina acestui folder. Dacă publicați folderul de un nivel mai sus, la legătură se va deschide o listă de foldere sau nimic.

Cum ajunge folderul pe server, fiecare gazdă decide în felul ei. Cea mai simplă cale manuală: deschideți site-ul gazdei, trageți acolo folderul sau o arhivă cu fișierele și apăsați butonul de deploy. Există și calea printr-o comandă în terminal, și cea printr-un repository. Esența e aceeași: o copie a folderului dumneavoastră pe serverul lor. Metoda depinde și de cine face deploy-ul: dumneavoastră puteți prin site, agentul doar prin comandă.

Două cuvinte de aici apar tot timpul. Local - pe mașina dumneavoastră, doar pentru dumneavoastră. Public - pe server, pentru toți. Deploy-ul e puntea dintre ele și e mai scurtă decât pare: un folder și o copie a lui.

Verificați legătura de pe alt dispozitiv

Pe computerul unde stă folderul, pagina se va deschide oricum și nu va dovedi nimic: e ușor să deschideți din greșeală fișierul local și să nu observați. Verificarea cinstită e un telefon pe date mobile: nu are nicio legătură cu laptopul dumneavoastră, iar dacă pagina s-a deschis acolo, s-a deschis pentru toți.

8. Cum actualizați ce ați publicat

Ați corectat titlul în index.html, ați reîncărcat pagina pe telefon - acolo e cea veche. Așa și trebuie să fie. pe găzduire stă copia din momentul deploy-ului, iar dumneavoastră ați modificat originalul. Ca la legătură să apară versiunea nouă, folderul trebuie trimis din nou: actualizarea este un deploy repetat.

Aici e o subtilitate. Puteți trimite din nou la aceeași adresă numai dacă gazda vă recunoaște. De aici cele două tipuri de legături.

Temporară. Unele gazde dau o legătură fără niciun cont - cât să arătați pagina și s-o discutați. Nu trăiește mult: la Tiiny Host, de exemplu, cam o oră. Gazda vă poate cere un email chiar și pentru ea; asta nu e o înregistrare, ci un mod de a lega încărcarea măcar de ceva. O astfel de legătură nu se poate actualiza, folderul se poate doar publica din nou, la o adresă nouă.

Permanentă. Cu un cont legătura nu dispare, adresa o puteți alege, actualiza și șterge; planurile gratuite limitează de obicei numărul de site-uri și de actualizări. Contul e gratuit la aceleași gazde care dau legături temporare. Odată cu el apare și o cheie, dar nu e nevoie de ea mereu.

Dacă deploy-ul îl face agentul, diferența dintre prima dată și o actualizare încape într-o singură frază:

Publică folderul landing pe o gazdă. Am nevoie de o legătură pe care s-o pot deschide de pe telefon.

Am corectat titlul în index.html. Publică landing din nou, la aceeași adresă, dacă se poate.

A doua cerere e cinstită. "Dacă se poate" îi lasă agentului decizia dacă legătura e temporară sau permanentă, iar el vă va spune ce a ieșit. Răspunsurile agentului nu le arăt: la fiecare gazdă și la fiecare skill sunt altele.

9. Cheia de acces

Contul pe o gazdă vă dă o cheie de acces: un șir lung de litere și cifre după care gazda vă recunoaște. Când lucrați manual, nu vă trebuie: v-ați conectat la cont pe site, ați tras folderul, ați apăsat deploy - gazda știe oricum cine sunteți. Cheia îi trebuie agentului: el nu trece prin site, trimite folderul printr-o comandă, iar comanda gazda o recunoaște doar după cheie. Cu cheie, deploy-ul pune fișierele la adresa dumneavoastră permanentă, fără ea - doar o legătură temporară.

Cheia nu se lipește în textul mesajului

Cine are cheia publică în numele dumneavoastră, ca în cazul unei chei de apartament lăsate în stradă. Conversația cu agentul stă pe disc și circulă prin rețea, de aceea cheia nu se lipește în ea, chiar dacă agentul a cerut-o.

Cheia are locul ei, de unde instrumentele o citesc singure: o variabilă de mediu sau un fișier pe care skill-ul de deploy îl deschide fără dumneavoastră. Dacă skill-ul vă întreabă unde să salveze cheia, răspundeți cu locul, nu cu șirul în chat.

Se întâmplă și invers: cheia ajunge singură în conversație, ca răspuns al serviciului la cererea agentului. Atunci salvați-o în acel loc și țineți minte că conversația a văzut deja secretul.

Pentru prima publicare cheia nu e necesară: ajunge o legătură temporară sau încărcarea prin site.

10. Cum funcționează asta cu Claude Code

Când îi cereți agentului să "publice", se întâmplă cam următoarele.

  • Agentul se uită la folder și vede o pagină din fișiere gata. Dacă nu are un skill pentru găzduire, se va oferi să instaleze unul sau vă va întreba unde să publice. Gazda o alegeți dumneavoastră.
  • Trimiterea o face printr-o comandă. În modurile în care agentul cere permisiune, comanda se vede înainte de rulare: în ea scrie ce folder trimite și unde, și merită s-o citiți, nu să apăsați "da" din obișnuință. Dacă nu cere confirmări - asemenea moduri există și pot fi activate chiar de la început -, rugați-l să vă arate comanda și folderul înainte de trimitere.
  • Rezultatul e o legătură în răspunsul agentului. Deschideți-o de pe telefon: agentul nu are un al doilea dispozitiv, singur n-o va verifica.
  • Actualizarea e aceeași rugăminte, "publică din nou". La aceeași adresă va merge doar dacă gazda vă recunoaște după cheie. Altfel agentul vă va da cinstit o nouă legătură temporară, și asta nu e o eroare.
  • Un email pentru legătura temporară agentul vi-l poate cere, nu e un secret. Cheia - nu: dacă v-a cerut-o, răspunsul este locul de unde cheia poate fi citită, nu șirul în chat.
Citiți ce folder e în comandă

Trebuie să fie folderul paginii, nu tot discul, nu folderul cu chei și nu ciornele. Ștergerea site-ului de pe găzduire e tot o comandă, și merită s-o vedeți înainte de rulare din același motiv.