Web Component - Internal Browser Caching
Looking at Chrome's DevTools on http://www.polymer-project.org/docs/polymer/polymer.html I notice a few interesting, curious, and unexplained things:
The browser caches the actual Polymer component, so subsequent
<link rel="import"
calls for the component don't need the server round trip.The browser caches those components as data URLs
Obviously, doing this makes loading cached components very fast (0 ms latency)
My questions
How can I control the caching of my components so the cache can be invalidated if/when needed? (Looking at the spec at http://www.w3.org/TR/2014/WD-html-imports-20140311/ I see no mention of caching)
Would it be worthwhile to break down my entire site structure into web components (aka, "widgets"), so the various parts of my site load this fast? Example, Instead of always serving the same layout with the same nav, I just deploy it with a
<my-nav>
component, with the data for the nav (where it'd make sense) is all contained within the component itself, thus requiring no interaction with the server once cached.
html caching browser-cache polymer web-component
add a comment |
Looking at Chrome's DevTools on http://www.polymer-project.org/docs/polymer/polymer.html I notice a few interesting, curious, and unexplained things:
The browser caches the actual Polymer component, so subsequent
<link rel="import"
calls for the component don't need the server round trip.The browser caches those components as data URLs
Obviously, doing this makes loading cached components very fast (0 ms latency)
My questions
How can I control the caching of my components so the cache can be invalidated if/when needed? (Looking at the spec at http://www.w3.org/TR/2014/WD-html-imports-20140311/ I see no mention of caching)
Would it be worthwhile to break down my entire site structure into web components (aka, "widgets"), so the various parts of my site load this fast? Example, Instead of always serving the same layout with the same nav, I just deploy it with a
<my-nav>
component, with the data for the nav (where it'd make sense) is all contained within the component itself, thus requiring no interaction with the server once cached.
html caching browser-cache polymer web-component
add a comment |
Looking at Chrome's DevTools on http://www.polymer-project.org/docs/polymer/polymer.html I notice a few interesting, curious, and unexplained things:
The browser caches the actual Polymer component, so subsequent
<link rel="import"
calls for the component don't need the server round trip.The browser caches those components as data URLs
Obviously, doing this makes loading cached components very fast (0 ms latency)
My questions
How can I control the caching of my components so the cache can be invalidated if/when needed? (Looking at the spec at http://www.w3.org/TR/2014/WD-html-imports-20140311/ I see no mention of caching)
Would it be worthwhile to break down my entire site structure into web components (aka, "widgets"), so the various parts of my site load this fast? Example, Instead of always serving the same layout with the same nav, I just deploy it with a
<my-nav>
component, with the data for the nav (where it'd make sense) is all contained within the component itself, thus requiring no interaction with the server once cached.
html caching browser-cache polymer web-component
Looking at Chrome's DevTools on http://www.polymer-project.org/docs/polymer/polymer.html I notice a few interesting, curious, and unexplained things:
The browser caches the actual Polymer component, so subsequent
<link rel="import"
calls for the component don't need the server round trip.The browser caches those components as data URLs
Obviously, doing this makes loading cached components very fast (0 ms latency)
My questions
How can I control the caching of my components so the cache can be invalidated if/when needed? (Looking at the spec at http://www.w3.org/TR/2014/WD-html-imports-20140311/ I see no mention of caching)
Would it be worthwhile to break down my entire site structure into web components (aka, "widgets"), so the various parts of my site load this fast? Example, Instead of always serving the same layout with the same nav, I just deploy it with a
<my-nav>
component, with the data for the nav (where it'd make sense) is all contained within the component itself, thus requiring no interaction with the server once cached.
html caching browser-cache polymer web-component
html caching browser-cache polymer web-component
edited Oct 25 '14 at 12:38
Hendrik Brummermann
7,02522552
7,02522552
asked Jun 24 '14 at 15:10
rodrigo-silveirarodrigo-silveira
5,86644072
5,86644072
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
It is easiest to control the cache on the server. You either need to provide eTags, change the date of the component file and use the Last-Modified
header, or change the name of the file each time you change it.
Another way to handle this is to create a Service Worker and have that manage the caching of your files.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f24390236%2fweb-component-internal-browser-caching%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It is easiest to control the cache on the server. You either need to provide eTags, change the date of the component file and use the Last-Modified
header, or change the name of the file each time you change it.
Another way to handle this is to create a Service Worker and have that manage the caching of your files.
add a comment |
It is easiest to control the cache on the server. You either need to provide eTags, change the date of the component file and use the Last-Modified
header, or change the name of the file each time you change it.
Another way to handle this is to create a Service Worker and have that manage the caching of your files.
add a comment |
It is easiest to control the cache on the server. You either need to provide eTags, change the date of the component file and use the Last-Modified
header, or change the name of the file each time you change it.
Another way to handle this is to create a Service Worker and have that manage the caching of your files.
It is easiest to control the cache on the server. You either need to provide eTags, change the date of the component file and use the Last-Modified
header, or change the name of the file each time you change it.
Another way to handle this is to create a Service Worker and have that manage the caching of your files.
answered Nov 25 '18 at 19:31
IntervaliaIntervalia
4,66211134
4,66211134
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f24390236%2fweb-component-internal-browser-caching%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown