හැදින්වීම
සඳහන් කළ සියලුම සේවාදායකයින් (සහ ප්රොක්සි) හරහා ක්රියාත්මක වන නිවැරදි අවම ශීර්ෂ කට්ටලය:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
මෙම Cache-Control
සේවාදායකයින් සහ බලගතු සඳහා HTTP 1.1 පිරිවිතර (සහ නිසැකයෙන්ම ඊළඟ සමහර සේවාදායකයින් විසින් අවශ්ය එක් වේ Expires
). මෙම Pragma
ප්රාග් ඓතිහාසික ගනුදෙනුකරුවන් සඳහා HTTP 1.0 පිරිවිතර අනුව වේ. මෙම Expires
සේවාදායකයින් සහ බලගතු සඳහා HTTP 1.0 හා 1.1 උපැස් අනුව වේ. HTTP 1.1 හි, Cache-Control
ප්රමුඛතාවය ගනී Expires
, එබැවින් එය HTTP 1.0 ප්රොක්සි සඳහා පමණි.
HTTPS හරහා පමණක් පිටු සේවය කරන විට IE6 සහ එහි කැඩුණු හැඹිලිය ගැන ඔබ තැකීමක් නොකරන්නේ නම් no-store
, ඔබට මඟ හැරිය හැක Cache-Control: no-cache
.
Cache-Control: no-store, must-revalidate
Pragma: no-cache
Expires: 0
ඔබ IE6 හෝ HTTP 1.0 සේවාදායකයින් ගැන සැලකිල්ලක් නොදක්වන්නේ නම් (HTTP 1.1 1997 හඳුන්වා දෙන ලදි), එවිට ඔබට මඟ හැරිය හැක Pragma
.
Cache-Control: no-store, must-revalidate
Expires: 0
ඔබ HTTP 1.0 ප්රොක්සි ගැන තැකීමක් නොකරන්නේ නම්, ඔබට මඟ හැරිය හැක Expires
.
Cache-Control: no-store, must-revalidate
අනෙක් අතට, සේවාදායකය වලංගු Date
ශීර්ෂයක් ස්වයංක්රීයව ඇතුළත් කරන්නේ නම්, ඔබට න්යායාත්මකව Cache-Control
ද අතහැර දමා Expires
පමණක් රඳා සිටිය හැකිය.
Date: Wed, 24 Aug 2016 18:32:02 GMT
Expires: 0
උදා: අවසාන පරිශීලකයා මෙහෙයුම් පද්ධති දිනය හසුරුවන්නේ නම් සහ සේවාදායක මෘදුකාංගය එය මත රඳා පවතී නම් එය අසාර්ථක විය හැකිය.
ඉහත සඳහන් පරාමිතීන් නිශ්චිතව දක්වා තිබේ නම් වෙනත් Cache-Control
පරාමිතීන් max-age
අදාල නොවේ Cache-Control
. මෙහි Last-Modified
ඇති වෙනත් බොහෝ පිළිතුරු වල අඩංගු ශීර්ෂය සිත්ගන්නා සුළු වන්නේ ඔබට ඉල්ලීම හැඹිලිය කිරීමට අවශ්ය නම් පමණි , එබැවින් ඔබට එය කිසිසේත් සඳහන් කිරීමට අවශ්ය නොවේ.
එය සකසන්නේ කෙසේද?
PHP භාවිතා කිරීම:
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
Java Servlet, හෝ Node.js භාවිතා කිරීම:
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setHeader("Expires", "0"); // Proxies.
ASP.NET-MVC භාවිතා කිරීම
Response.Cache.SetCacheability(HttpCacheability.NoCache); // HTTP 1.1.
Response.Cache.AppendCacheExtension("no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0.
Response.AppendHeader("Expires", "0"); // Proxies.
ASP.NET වෙබ් API භාවිතා කිරීම:
// `response` is an instance of System.Net.Http.HttpResponseMessage
response.Headers.CacheControl = new CacheControlHeaderValue
{
NoCache = true,
NoStore = true,
MustRevalidate = true
};
response.Headers.Pragma.ParseAdd("no-cache");
// We can't use `response.Content.Headers.Expires` directly
// since it allows only `DateTimeOffset?` values.
response.Content?.Headers.TryAddWithoutValidation("Expires", 0.ToString());
ASP.NET භාවිතා කිරීම:
Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0.
Response.AppendHeader("Expires", "0"); // Proxies.
ASP.NET Core v3 භාවිතා කිරීම
// using Microsoft.Net.Http.Headers
Response.Headers[HeaderNames.CacheControl] = "no-cache, no-store, must-revalidate";
Response.Headers[HeaderNames.Expires] = "0";
Response.Headers[HeaderNames.Pragma] = "no-cache";
සහකාර පොලිස් අධිකාරී භාවිතා කිරීම:
Response.addHeader "Cache-Control", "no-cache, no-store, must-revalidate" ' HTTP 1.1.
Response.addHeader "Pragma", "no-cache" ' HTTP 1.0.
Response.addHeader "Expires", "0" ' Proxies.
රූබි ඔන් රේල්ස් හෝ පයිතන් / ෆ්ලැස්ක් භාවිතා කිරීම:
headers["Cache-Control"] = "no-cache, no-store, must-revalidate" # HTTP 1.1.
headers["Pragma"] = "no-cache" # HTTP 1.0.
headers["Expires"] = "0" # Proxies.
පයිතන් / ජැන්ගෝ භාවිතා කිරීම:
response["Cache-Control"] = "no-cache, no-store, must-revalidate" # HTTP 1.1.
response["Pragma"] = "no-cache" # HTTP 1.0.
response["Expires"] = "0" # Proxies.
පයිතන් / පිරමිඩ භාවිතා කිරීම:
request.response.headerlist.extend(
(
('Cache-Control', 'no-cache, no-store, must-revalidate'),
('Pragma', 'no-cache'),
('Expires', '0')
)
)
Go භාවිතා කිරීම:
responseWriter.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") // HTTP 1.1.
responseWriter.Header().Set("Pragma", "no-cache") // HTTP 1.0.
responseWriter.Header().Set("Expires", "0") // Proxies.
Apache .htaccess
ගොනුව භාවිතා කිරීම :
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</IfModule>
HTML4 භාවිතා කිරීම:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
HTML ප්රතිචාර ශීර්ෂයන්ට එරෙහිව HTML මෙටා ටැග්
දැනගැනීම වැදගත් වන්නේ HTTP සම්බන්ධතාවයක් හරහා HTML පිටුවක් සේවය කරන විට සහ HTTP ප්රතිචාර ශීර්ෂයන් සහ HTML ටැග් යන දෙකෙහිම ශීර්ෂයක් <meta http-equiv>
ඇති විට, HTTP ප්රතිචාර ශීර්ෂයේ දක්වා ඇති දෙයට HTML මෙටා ටැගයට වඩා ප්රමුඛතාවය ලැබෙනු ඇත. HTML මෙටා ටැගය භාවිතා කරනුයේ පිටුව දේශීය තැටි ගොනු පද්ධතියකින් file://
URL හරහා බැලූ විට පමණි . මෙයද බලන්න W3 HTML පිරිවිතර 5.2.2 පරිච්ඡේදය . වෙබ් සේවාදායකයට පෙරනිමි අගයන් ඇතුළත් කළ හැකි බැවින් ඔබ ඒවා ක්රමලේඛනගත නොකළ විට මේ ගැන සැලකිලිමත් වන්න.
සාමාන්යයෙන්, ආරම්භකයින්ගේ ව්යාකූලත්වය වළක්වා ගැනීමට සහ දෘ HT HTTP ප්රතිචාර ශීර්ෂයන් මත විශ්වාසය තැබීමට ඔබ HTML මෙටා ටැග්ස් සඳහන් නොකිරීම හොඳය . එපමණක් නොව, විශේෂයෙන් එම <meta http-equiv>
ටැග් HTML5 හි වලංගු නොවේ . HTML5 පිරිවිතරයේhttp-equiv
ලැයිස්තුගත කර ඇති අගයන්ට පමණක් අවසර ඇත.
සත්ය HTTP ප්රතිචාර ශීර්ෂයන් සත්යාපනය කිරීම
එකක් සහ අනෙක සත්යාපනය කිරීම සඳහා, වෙබ් බ්රව්සරයේ සංවර්ධක මෙවලම් කට්ටලයේ HTTP ගමනාගමන මොනිටරයේ ඔබට ඒවා දැකීමට / නිදොස් කිරීමට හැකිය. ඔබට Chrome / Firefox23 + / IE9 + හි F12 එබීමෙන් පසුව "ජාලය" හෝ "නෙට්" ටැබ් පැනලය විවෘත කිරීමෙන් පසුව HTTP ඉල්ලීම සහ ප්රතිචාරය පිළිබඳ සියලු තොරතුරු අනාවරණය කර ගැනීමට HTTP උනන්දුව ඉල්ලීම ක්ලික් කිරීමෙන් ඔබට එහි යා හැකිය. මෙම පින්තූරය උඩුගත කර පහත ක්රෝම් සිට ය:
ලිපිගොනු බාගැනීම් වලද එම ශීර්ෂයන් සැකසීමට මට අවශ්යය
පළමුවෙන්ම, මෙම ප්රශ්නය සහ පිළිතුර ඉලක්ක කර ඇත්තේ "වෙබ් පිටු" (HTML පිටු) මත මිස "ගොනු බාගැනීම්" (PDF, zip, Excel, ආදිය) මත නොවේ. වෙනස් කළ ගොනුවක් මත නැවත බාගත කිරීමට බල කිරීම සඳහා ඔබ ඒවා හැඹිලිගත කර URI මාර්ගයේ හෝ විමසුම් මාලාවේ කොතැනක හෝ ගොනු අනුවාද හඳුනාගැනීමක් භාවිතා කිරීම හොඳය. කෙසේ වෙතත් ගොනු බාගත කිරීම් වලදී එම හැඹිලි ශීර්ෂයන් යෙදෙන විට, HTTP වෙනුවට HTTPS හරහා ගොනු බාගත කිරීමේදී IE7 / 8 දෝෂය ගැන පරිස්සම් වන්න. වැඩි විස්තර සඳහා, IE හට foo.jsf බාගත කළ නොහැකි බව බලන්න. මෙම අන්තර්ජාල වෙබ් අඩවිය විවෘත කිරීමට IE ට නොහැකි විය. ඉල්ලූ වෙබ් අඩවිය ලබා ගත නොහැක හෝ සොයාගත නොහැක .