Kāpēc mūsu zobi aug tikai divas reizes?

ES esmu izmantojot vaicājuma virknes, lai izkļūtu no kešatmiņaspiem .: mysite.css?201708311009 kur datums ir datnes pēdējās modifikācijas datums.

Izpildot ātruma testu vietnē PingDom, iegūšu šo rezultātu:

Resursi ar "?" URL starpniekservera kešatmiņas serveri nav kešatmiņā. Noņemiet vaicājuma virkni un kodējiet parametrus šādu resursu URL:

Es nezinu, ko no tā iesākt.

No vienas puses, tas varētu pārspēt visu kešatmiņas mērķi, ja tā ir taisnība. Tomēr:

  • Viņi nepamato savus apgalvojumus ar faktiem vai avotiem.
  • Acīmredzot Google PageSpeed ​​Insight mēdza sniegt to pašu padomu, taču viņi apstājās.
  • Galvenie CDN (piemēram: maxcdn) iesaka izmantot vaicājuma virknes, lai pārvaldītu aktīvu versijas, un tie, kas izsaka brīdinājumu (piemēram: keycdn), neatbalsta pretenziju.
  • Kešatmiņas pārtraukšanai WordPress paļaujas uz vaicājumu virknēm un nodrošina 25% vietņu pilnvaras. (Tas nenozīmē, ka tā ir labākā prakse, bet tas tomēr ir kaut kas.)

Mans jautājums ir divējāds:

  1. Kādi ir zināmi vaicājumu virkņu gadījumi, kad kešatmiņā rodas problēmas ar starpniekservera kešatmiņas serveriem? (Ja nevienu nevar atrast, tad visa lieta ir tikai baumas.)
  2. Ja tas ir jautājums, vai ir faila nosaukuma * maiņas alternatīva? piemēram: vai URL fragmenti ir pieņemami (mysite.css#201708311009)?

* Es labāk izvairītos no faila nosaukuma maiņas, ja to varu atļauties, jo tas ir vairāk apgrūtinājums.

  • Lai to izveidotu, vienmēr esmu izmantojis pārrakstīšanas noteikumus mysite-201708311009.css šī iemesla dēļ. Es to sāku darīt pirms gadiem, un es nezinu, vai tas joprojām ir nepieciešams, lai saglabātu kešatmiņu.
  • Skatiet arī manu atbildi uz šo saistīto jautājumu par "Squid": webmasters.stackexchange.com/a/86277/1243
  • "tas varētu pārvarēt visu kešatmiņas mērķi" - kāpēc jūs domājat, ka tā? Atšķirības patiesībā nav, izņemot to, ka vaicājuma virknes metodi ir vienkārši vieglāk ieviest, jo tai nav nepieciešams URL pārrakstīt pieprasījumu.
  • Es tiešām to tikai domāju ja tas nedarbojas dažiem (starpniekserveriem) serveriem, tad kešatmiņa patiešām tiktu zaudēta. Paldies par saiti.

No http://bizcoder.com/caching-resources-with-query-strings:

Stīvs demonstrē, kad vaicājuma virknē tiek izmantots versijas numurs. Kalmāra starpniekservera kešatmiņa nemaz nesaglabā statisko failu kešatmiņā. Viņš turpina teikt, ka Squid var konfigurēt, lai kešatmiņā saglabātu šos failus, taču tā nav noklusējuma rīcība. Pamatojoties uz šo informāciju, viņš pamatoti ieteica cilvēkiem vaicājumu virknē neizmantot versijas, ja viņi vēlas saglabāt kešatmiņā statiskos resursus.

Tas notika 2008. gada augustā. Iepriekš tajā pašā gadā, 2008. gada maijā, Squid izlaida 2.7 versiju, kas mainīja noklusējuma uzvedību, lai vairs neatteiktos kešatmiņā URL, kas satur vaicājuma virkni.

Tātad (ne pilnīga) atbilde ir: patiešām vecās versijas, kas, manuprāt, ir vispopulārākā starpniekservera programmatūra.

Personīgi es izmantoju to pašu risinājumu, ko komentāros pieminēja Stīvens Ostermillers - izmantojiet pārrakstīšanas kārtulas, lai faila nosaukumā iekļautu jaucējkomandu, lai gan tas ne vienmēr ir iespējams. Es nebūtu pārāk noraizējies, ja izmantojat vaicājumu virknes.

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?