Kā paātrināt vietni ar tagu
"Paredzēt"pārlūkprogrammas ir top ātruma interneta sērfošanas nākotne, mums vajadzīgos resursus pat pirms mēs zinām, ka mēs tos vēlamies. Šodienas pārlūkprogrammas jau ir veidot daži prognozes tagad un pēc tam paātriniet dokumentu saņemšanu un sniegšanu. Lai to izdarītu uz nākamo soli, mēs skatāmies uz nevienu citu kā tikai tīmekļa izstrādātāji.
Izstrādātājiem ir a diezgan laba ideja no to vietņu navigācija, un kas resursi tiek pieprasīti visbiežāk un tādējādi viņi var paredzēt dažas nākotnes operāciju pārlūkprogrammas, kas jāveic vietnēm. Viss, kas tagad nepieciešams, ir izstrādātājiem, lai atrastu veidu, kā releju tos prognozes pārlūkiem un tos izmantot. Tajā ierodas dažas īpašas "HTML saites".
HTTP pieprasījumu atjaunināšana
Pirms apskatīt šīs saites, ir pienācis laiks atsvaidzināt atmiņu par to, kā notiek tipiska HTTP pieprasītā failu ielādēšanas operācija. Teiksim, ka kāds, kas ir Džo, vēlas apmeklēt tīmekļa vietni.
Lūk, kas notiek tālāk:
- Joe pārlūkošanas adreses joslā ieraksta tīmekļa vietnes cilvēka atsaucīgo adresi un nospiež taustiņu "Enter".
- Kad tā saņēmusi šo adresi, pārlūks lūdz DNS serveri (ISP komplimentus) par Joe adreses IP adresi..
- DNS serveris pieprasa.
- Tagad, kad pārlūks zina IP adresi, tā sūta ziņojumu (TCP dialektā) vietnes serverim, lūdzot savienojumu.
- Ja serveris ir dzīvs un labi, tas nosūta atbildi, apstiprinot pārlūkprogrammas pieprasījumu, un pārlūks atbild un apstiprina servera ziņojumu. (Piezīme: Jā, šī ir ļoti sašķelta TCP rokasspiediena versija starp klientu un serveri.)
- Kad rokasspiedieni ir beigusies, tiek izveidots savienojums starp abiem.
- Tagad pārlūkprogramma maina dialektu stilu uz HTTP un lūdz serveri tīmekļa vietnei.
- Serveris, zinot mājas lapas sākumlapu, atgriežas tieši tā, ko pārlūkprogramma saņem un parādīja Džo, kurš gaida ļoti pacietīgi datora priekšā.
Tiek parādīts tipisks HTTP pieprasījums viss ka (un vairāk), lai iegūtu dokumentu, izmantojot internetu. Tātad, ja kāds no šiem procesiem iespējams, kad tas ir iespējams, mēs varam Samaziniet laiku, kas mums jāgaida, līdz mēs piegādājam nepieciešamos resursus.
HTML saites attiecības
W3C norāda 4 HTML saites attiecības (rel
par attiecībām) dns-prefetch
, iepriekš pieslēgties
, prefetch
, un iepriekšējs
. Kopā tos sauc par (W3C).Resursu padomi". Tagad mēs redzēsim ko viņi var darīt un kur tos var izmantot.
1. DNS Prefetch
DNS prefikcijā domēna vārda izšķirtspēja (pazīstams arī kā iegūt atbilstošu IP adresi no DNS servera) tiek veikta pirms laika.
Pieņemsim, ka tīmekļa vietnē ir atsauces lapa, kurā ir daudz atsauces saites uz tās māsas vietni. Kad lietotājs apmeklē atsauces lapu, tur ir liela varbūtība ka lietotājs pārvietosies uz māsas vietni. Tātad, sākumā DNS meklēšana māsas vietne var samazināt vietnes atvēršanas laiku (tādējādi uzlabojot lietotāja pieredzi).
Tas latentuma samazināšana, izmantojot DNS prefetching var izdarīt, pievienojot šo kodu atsauces lapā.
Kad pārlūks apstrādā šo kodu atsauces lapā, tas pievienos māsas vietnes DNS meklēšanu savām uzdevumu rindām, un, kad tas ir brīvs no citiem augstākās prioritātes uzdevumiem rindā, tas sāks DNS izšķirtspēju. māsas vietne.
Tātad, kad lietotājs beidzot noklikšķina uz vienas no saitēm, kas ved to uz māsas vietni, šīs vietnes DNS izšķirtspēja varētu būt jau pabeigta, un pārlūks var uzreiz sākt izveidot klienta-servera TCP savienojumu ar māsas vietni serveri, padarot šo lapu ātrāku.
Šī funkcija ir pieejama gandrīz visās mūsdienu pārlūkprogrammās, izņemot 2016. gada marta Safari.
2. Pirms pieslēgšanās
Iepriekšējs savienojums ir solis tālāk no DNS prefetch, tas izveido savienojumu ar serveri, kuram vēlāk var būt nosūtīts pieprasījums.
W3C ir ideāls izmantošanas gadījums, lai veiktu iepriekšēju savienojumu: novirzīšana. Izstrādātāji vairāku iemeslu dēļ izmanto novirzīšanu.
Šādā gadījumā pārlūkprogrammas nākamais pieprasījums (novirzīta vietne) ir 100% paredzams, un var jābūt iepriekš pieslēgtam, uz samazināt navigācijas latentumu.
Iedomājieties, ka ir starpnieka vietne, kas novirza uz "xyzsite", šāda HTML saite padarīs pārlūkprogrammu savienojumu ar xyzsite serveri, kad tā nonāks šajā starpnieklapā.
Kopš 2016. gada marta tas ir pieejams Chrome, Opera un Firefox.
3. Prefetch
Ar prefetch
, resursu, pārlūku sāk īstenot resursu domēna nosaukuma DNS izšķirtspēju, tad veic TCP savienojumu ar resursu serveri, veic HTTP pieprasījumu un beidzot ielādē un saglabā iepriekš ielādēto resursu pārlūka kešatmiņā.
Ja esat pārliecināts par to, kādi resursi būs nepieciešami vēlāk, tas ir resurss, kas nepieciešams iepriekšējai ielādei; tajā atrodas nozveja. Prefetching ņem vērā minējumus, un, ja jūs domājat nepareizi, jūs faktiski varat palēnināt vietnes paātrināšanu.
Tiešsaistes grāmatām, galerijām vai portfeļiem, ja lietotājs visticamāk pārlūkos nākamo lapu, iepriekš ielādējot resursus, piemēram, attēlus, var ievērojami paātrināt lietas. Šeit ir kods, lai to izdarītu.
Prefetch tiek atbalstīts pārlūkā Chrome, Firefox un Opera.
4. Prerender
Tikai HTML lapām var veikt iepriekšēju publicēšanu. Prerenderēta HTML lapa ir bezsaistē, un tas ir nokrāsots uz ekrāna, kad lietotājs to faktiski vajag. Atveidošana maksā augstāku skaitļošanas darbu un atmiņas resursu; plus, lai padarītu lapu, pārlūkprogrammai var būt nepieciešami papildu resursi (piemēram, attēli, kas pievienoti lapai), kas novedīs pie vairāk sekojošu pieprasījumu pārlūkprogrammā.
Tātad, iepriekšējs
ir jābūt lieto piesardzīgi, un nav pārmērīgi. Pievienojot šādu kodu, iepriekš tiks parādīta lapa "Par".
Prerender jau ir pieejams Chrome, IE un Opera 2016.gada martā.
Dažas lietas, kas jāievēro
(1) Neviens no iepriekšminētajiem resursu ieteikumiem nenodrošina dažādo pieprasījuma posmu izpildi un pabeigšanu, jo, ja pārlūks jau ir aizņemts apstrādāt pieprasījumus, kas nepieciešami pašreizējās lapas darbībām, lietotājs veic šos optimizācijas darbus var kavēt lietotāja pašreizējos uzdevumus.
Tātad, viss ir rindā un izpilda, kad pārlūks jūtas pietiekami brīvs, lai to izdarītu.
Šiem resursu padomiem nav obligāti jābūt klāt lapā vēl pirms lapas ielādes. Tie var būt vēlāk pievienoja JavaScript, un resursu padomi darīs savu darbu kā parasti.
(2) W3C norāda a HTML saites atribūts sauc mājienu varbūtība, pr
(ar vērtību no 0 līdz 1) šiem resursu padomiem, kurus var izmantot, lai nodrošinātu varbūtību, ka nākotnē tiks iesniegti pieprasījumi. Es tomēr neesmu redzējis, ka šis atribūts tiek ieviests nevienā pārlūkprogrammā. Piemēram, šāds kods norāda, ka nākotnē tiks pieprasīta 80% varbūtība xyzsite un 30% par aptuveni lapu.
Varam arī pievienot neobligātu krustvārdu atribūtu resursu ieteikumiem, lai informētu pārlūkprogrammu par saistītā pieprasījuma CORS akreditācijas datiem.