Kā darbojas mājaslapa: no pārlūka līdz serverim
Kad kāds ieraksta pārlūkā tavu adresi, sākas virkne, kas parasti ilgst mazāk par sekundi. Šīs virknes izpratne skaidro, kāpēc lapa ir lēna, kāpēc kešatmiņa ir svarīga un par ko tu maksā hostingu.
Šis ceļvedis iet cauri visam ceļam, nepieņemot tehnisku pieredzi.
Kas notiek pieprasījuma laikā#
Viena un tā pati virkne katru reizi, vienalga vai lapa ir vienkārša vai sarežģīta.
- Pārlūks jautā DNS, kurš serveris atbild par tavu domēnu.
- Pārlūks izveido drošu savienojumu ar šo serveri — tas ir HTTPS.
- Pārlūks nosūta pieprasījumu par konkrētu adresi.
- Serveris izlemj, kas šī adrese ir: fails, lapa no satura sistēmas vai kļūda.
- Ja vajag, serveris paņem saturu no datubāzes un saliek lapu.
- Serveris nosūta HTML atpakaļ kopā ar kešatmiņas norādēm.
- Pārlūks ielādē CSS, JavaScript, fontus un attēlus un renderē lapu.
- Viss vēlākais — klikšķi, formas — atkārto to pašu ciklu mazākā mērogā.
Katrs solis pievieno laiku. Ātrākā lapa ir tā, kurā soļu ir mazāk un katrs solis ir īsāks.
Kur pazūd laiks#
Praktiskās lēnuma vietas, sākot ar ietekmīgāko.
| Vieta | Tipisks iemesls | Risinājums |
|---|---|---|
| Servera atbilde | Katrs pieprasījums saliek lapu no jauna | Kešatmiņa serverī |
| Attēli | Neoptimizēti un pārāk lieli | Mūsdienu formāts, pareizs izmērs |
| JavaScript | Pārāk daudz un bloķējošs | Samazini un ielādē vēlāk |
| Fonti | Vairākas saimes un svari | Ierobežo un ielādē iepriekš |
| Trešo pušu skripti | Analītika, logrīki, čats | Auditē un dzēs |
| Datubāze | Trūkst indeksu, lēni vaicājumi | Indeksi un vaicājumu pārskats |
| Attālums no servera | Serveris citā kontinentā | Satura tīkls vai tuvāks serveris |
Kešatmiņas slāņi#
Kešatmiņa ir vislielākās ietekmes atsevišķais veiktspējas rīks un arī biežākais apjukuma avots.
| Slānis | Ko glabā | Kad tīrīt |
|---|---|---|
| Pārlūka kešatmiņa | Failus apmeklētāja datorā | Ar failu nosaukumu versionēšanu |
| Satura tīkls | Failus serveros visā pasaulē | Palaižot izmaiņas |
| Servera lapu kešatmiņa | Gatavu HTML | Mainot saturu |
| Lietotnes kešatmiņa | Aprēķinu rezultātus | Mainoties datiem |
| Datubāzes kešatmiņa | Vaicājumu rezultātus | Automātiski |
| Opcode kešatmiņa | Kompilēto kodu | Atjauninot kodu |
«Kāpēc es neredzu savu izmaiņu» gandrīz vienmēr ir kešatmiņas jautājums. Pārbaudi slāņus no augšas uz leju.
Statiska, dinamiska un pa vidu#
Trīs veidi, kā salikt lapu, katrs ar savu kompromisu.
- Statiska: faili sagatavoti iepriekš. Ātrākā, drošākā, lētāk hostējama. Satura maiņa prasa pārģenerēšanu.
- Dinamiska: serveris saliek lapu katram pieprasījumam. Elastīga, vajag kešatmiņu, lai būtu ātra.
- Iepriekš ģenerēta ar atjaunināšanu: statiska, kas atjaunojas, mainoties saturam. Sedz lielāko daļu vajadzību.
- Renderēta pārlūkā: pārlūks saliek lapu ar JavaScript. Der lietotnēm, slikti publiskam saturam.
- Lielākā daļa uzņēmumu lapu vislabāk strādā kā dinamiskas ar labu kešatmiņu vai iepriekš ģenerētas.
- Izvēle ietekmē uzturēšanu vairāk nekā ātrumu — statiska ir daudzkārt mazāka uzturamā virsma.
Biežāk uzdotie jautājumi
Kāpēc mana lapa ir lēna?
Visbiežāk trīs iemeslu dēļ: neoptimizēti attēli, pārāk daudz JavaScript un trūkstoša kešatmiņa serverī. Mēri pirms labošanas — pārlūka rīki rāda, kas tiešām aizņem laiku. Optimizēšana bez mērīšanas parasti nozīmē stundu tērēšanu kaut kam, kas dod pāris desmitus milisekunžu.
Par ko es maksāju hostingā?
Par servera jaudu, diska vietu, datu apjomu, dublējumiem un atbalstu. Lēts koplietots hostings dala serveri ar simtiem lapu, kas nozīmē lēnāku atbildi slodzes laikā. Pārvaldīts hostings maksā vairāk un ietver atjauninājumus, dublējumus un atbalstu — lielākajai daļai uzņēmumu tas ir labāks darījums.
Kas ir CDN un vai man tas vajadzīgs?
Satura tīkls glabā tavus failus serveros visā pasaulē, lai apmeklētājs tos saņem no tuvākā. Ja tavi apmeklētāji ir tajā pašā valstī, kur serveris, ieguvums ir mazs. Ja tie ir vairākās valstīs vai lapā ir daudz attēlu, ieguvums ir jūtams un iestatīšana parasti vienkārša.
Kāpēc es neredzu savu izmaiņu?
Gandrīz vienmēr kešatmiņa. Pārbaudi secībā: servera lapu kešatmiņa, satura tīkls, tad pārlūka kešatmiņa. Cieta atsvaidzināšana pārlūkā izslēdz pēdējo. Ja izmaiņa ir kodā, var būt jātīra arī opcode kešatmiņa — pārvaldītā hostingā to parasti dara automātiski.
kā darbojas mājaslapahttp pieprasījumsmājaslapas ātrumskešatmiņadnstīmekļa serveris