Kas ir 304 Nemodificēta atbilde?
HTTP servera atbildes kods 304 Not Modified norāda, ka pieprasītais resurss kopš pēdējās ielādes reizes nav mainīts, t. i., nav nepieciešams to pārsūtīt vēlreiz. Pārlūkprogrammām tas nozīmē, ka lietotājam var parādīt resursa kešēto versiju. Pārmeklētājiem, piemēram, Googlebot, tas nozīmē, ka lapu nav nepieciešams pārmeklēt, jo tajā nekas nav mainījies.
Kā tas darbojas
Šeit ir vienkāršs skaidrojums, kā darbojas 304 Not Modified atbilde:
-
Sākotnējais pieprasījums Kad klients (pārlūkprogramma vai pārlūks) pirmo reizi pieprasa resursu no tīmekļa servera, serveris nosūta pieprasīto resursu ar HTTP kodu 200 OK kopā ar tā hash kodu, ko sauc par ETag. Klients reģistrē arī laiku, kad tas pieprasījis lapu/resursus.
-
Turpmākie pieprasījumi Kad klients atkārtoti pieprasa resursu, serveris pārbauda klienta galvenes
If-None-Match
un/vaiIf-Modified-Since
. To sauc par nosacītu HTTP pieprasījumu.If-None-Match
satur ETag (satura hash kodu). Ja tas atbilst serverī esošajai vērtībai, tas norāda, ka saturs nav mainījies un nav nepieciešams to ielādēt vēlreiz (mainoties saturam, mainās arī tā hash kods).If-Modified-Since
satur datumu un laiku, kad klients pēdējo reizi pieprasīja saturu. Ja serveris redz, ka saturs kopš šī datuma nav mainījies, resurss klientam nav jānosūta.
-
Servera atbilde Abos gadījumos, ja saturs nav mainījies, serveris atbild ar 304 HTTP kodu.
Ja tiek izmantots gan If-None-Match
, gan If-Modified-Since
, If-None-Match
ir svarīgāks par If-Modified-Since
.
Pārlūka un pārlūka uzvedība
Kad pārlūkprogramma no servera saņem HTTP kodu 304 Not Modified, tā parādīs lietotājam kešēto versiju, kas ir viens no klienta puses novirzīšanas kodiem. Pārmeklētājiem, saņemot 304 atbildi, tas nozīmē, ka tie var izvairīties no tā paša satura atkārtotas lejupielādes, tādējādi ietaupot joslas platumu un resursus.
Kāpēc 304 atbildes kods ir svarīgs?
Nelielām vietnēm 304 HTTP koda sniegtās kešēšanas priekšrocības var nebūt tik būtiskas. Tomēr lielām vietnēm 304 atbildes kods sniedz būtiskas priekšrocības:
- Veiktspējas optimizēšana Izmantojot kešatmiņā saglabāto saturu, pārlūkprogrammas var ātrāk ielādēt lapas lietotājiem, tādējādi uzlabojot vispārējo lietotāja pieredzi.
- Pārlūkošanas budžeta pārvaldība Lielām vietnēm ir ļoti svarīgi pārvaldīt pārlūkošanas budžetu. Google pārlūks neveic atkārtotu lapu pārlūkošanu, kas nav mainījušās, tādējādi ļaujot tam koncentrēties uz jaunu un atjauninātu saturu. Tas palīdz nodrošināt, ka svaigs saturs tiek indeksēts efektīvāk.
Labākā prakse, kā lietot 304 Nemodificēts
- Iestatiet pareizas kešatmiņas galvenes Pārliecinieties, ka serveris ir konfigurēts sūtīt atbilstošas
ETag
unLast-Modified
galvenes. - Kešatmiņas efektivitātes uzraudzība Regulāri pārbaudiet servera žurnālus, lai redzētu, cik bieži tiek izdotas 304 atbildes, un pēc vajadzības koriģējiet kešatmiņas politikas.
- Satura piegādes optimizēšana Izmantojiet satura piegādes tīklus (CDN), kas atbalsta efektīvus kešēšanas mehānismus, lai samazinātu latentumu un uzlabotu ielādes laiku.
Sīkāku informāciju par HTTP statusa kodiem un labāko praksi tīmekļa veiktspējas un SEO optimizācijas jomā var atrast autoritatīvos avotos, piemēram, Mozilla Developer Network (MDN ) un Google Web Fundamentals.