This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 14884 - Proposing a page including system
Summary: Proposing a page including system
Status: RESOLVED WORKSFORME
Alias: None
Product: HTML WG
Classification: Unclassified
Component: HTML5 spec (show other bugs)
Version: unspecified
Hardware: All All
: P3 enhancement
Target Milestone: ---
Assignee: Ian 'Hixie' Hickson
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-20 10:02 UTC by brunoais
Modified: 2011-12-07 23:23 UTC (History)
8 users (show)

See Also:


Attachments

Description brunoais 2011-11-20 10:02:42 UTC
You all should already know something called frames, don't you? What I'm proposing here is something that will need some discussion and refining and maybe you already thought about it and found problems with it but what I believe that what I'm proposing here is useful for user bandwith, server bandwith and specially, remove work from the server.
I'd like to see an HTML tag to include code from another page. This is not the iframe tag. The iframe tag creates a browser inside a browser. I'm asking for a complete inclusion of HTML code inside HTML code just like the include command in PHP.
I believe that with this functionality we could have .html pages with dynamic content without the need of AJAX.
Here's an example:
There's a page with a lot of content (a header, a footer, some images and ads) and a table. The only thing that is dynamic is the table.
The server could host a user cacheable .html code with all the HTML and Javascript for it to work and a small include for the table. The browser executes an extra request for the table (just like it does for images, objects, stylesheets...) and places that HTML substituting the include tag.
By doing this, by the next request to that page, the user can use the cached version of the whole HTML + js + css except for the table, which will require an extra request.

1 problem: How do the server knows if the browser supports the HTML include system?
R: The answer relies in the headers. Among other headers, the browser would send a header indicating that it is compatible with that system.
The server side language could then set header indicating that the browser is allowed to cache the page (cache-control) and uses include tags. By doing this, that page wont be needing any new visits from that browser for a while and only the page with the table will need visiting.


Note: This idea needs refining and discussion. There are problems that really need to be discussed before applying.
Comment 1 Everett Zufelt 2011-11-20 13:32:13 UTC
I think I'm clear on what is being asked for here, but I have no idea what the use case is that it is intended to satisfy.

The request is for a method to include a partial document within another, without using frame, iframe, Javascript, or a server-side include. And, to communicate the support of this feature with a http header.

Other than perhaps having some benefit for low bandwidth users (authors would have to be intentional about usage), what is the use case this is attempting to satisfy?
Comment 2 Tab Atkins Jr. 2011-11-20 16:08:57 UTC
More specifically, why is it not acceptable to use frames, iframes, javascript, or server-side includes to solve the use-case?
Comment 3 Julian Reschke 2011-11-20 16:18:09 UTC
(In reply to comment #2)
> More specifically, why is it not acceptable to use frames, iframes, javascript,
> or server-side includes to solve the use-case?

Frames are deprecated and can not be styled suffiently (AFAIU).

IFrames may be suffient once there's support for @seamless.

Javascript: if this would be a sufficient argument, we could do remove lots of other stuff as well :-)

Server-side includes have several disadvantages: you need server-side processing (doen't work for static files), and essentially you create aggregate resources which can't be as easily maintained/cached as individual resources.
Comment 4 Ian 'Hixie' Hickson 2011-12-07 22:57:45 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Accepted
Change Description: no spec change
Rationale: This is what <iframe seamless> is for.
Comment 5 brunoais 2011-12-07 23:23:53 UTC
(In reply to comment #4)
> EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are
> satisfied with this response, please change the state of this bug to CLOSED. If
> you have additional information and would like the editor to reconsider, please
> reopen this bug. If you would like to escalate the issue to the full HTML
> Working Group, please add the TrackerRequest keyword to this bug, and suggest
> title and text for the tracker issue; or you may create a tracker issue
> yourself, if you are able to do so. For more details, see this document:
>    http://dev.w3.org/html5/decision-policy/decision-policy.html
> 
> Status: Accepted
> Change Description: no spec change
> Rationale: This is what <iframe seamless> is for.

Yep. It works for me. I didn't know the existance of the seamless attribute.
Now what we need is browsers that implement that. Do you know any browser that implements that?