Re: Change Proposal for ISSUE-125

The specific topic for this issue is the processing requirements for browsers (and other tools that want browser-compatible HTML parsing), when extracting a charset from http-equiv. The true meaning of http-equiv does not seem directly relevant, since this is not a question of semantics or of what is conforming for documents, but merely of how to heuristically guess the charset in an interoperable way.

WG members are free to separately discuss the semantics of http-equiv in general; the best starting point would be a new bugzilla-bug.

Regards,
Maciej

On Nov 18, 2010, at 12:25 PM, Roy T. Fielding wrote:

> On Nov 18, 2010, at 2:18 AM, Anne van Kesteren wrote:
> 
>> On Wed, 17 Nov 2010 21:11:59 +0100, Roy T. Fielding <fielding@gbiv.com> wrote:
>>> On Nov 17, 2010, at 2:34 AM, Anne van Kesteren wrote:
>>>> It is not true at all that browsers follow HTTP for <meta http-equiv>.
>>> 
>>> That is irrelevant.  http-equiv is not a requirement on browsers to *do*
>>> anything.
>> 
>> These days it is.
> 
> No, there are only a few requirements on specific values like content-type,
> charset, and refresh.  http-equiv, in general, is just the container.
> 
>> It is metadata of a defined form, syntax, and semantics.
>>> META exists in HTML because a lot of non-browser applications believe
>>> that metadata should be managed within the document file instead of
>>> in some external data store.  http-equiv exists because it provides
>>> a standard namespace for metadata that lots of Web-related applications
>>> care about, which was known to be valuable even back in the days before
>>> scope could be defined via xmlns or profile attributes.
>> 
>> These days <meta http-equiv> is used for setting the character encoding of a page, or causing a refresh or redirect.
> 
> Yes, depending on what the renderer is doing at the time.  A lot of
> mark-up has a specific effect on browser behavior at a specific point
> during rendering of an HTML page.
> 
>>>> Not all HTTP headers supported at the HTTP layer are supported in <meta http-equiv> either. Only a couple. Furthermore, per HTML4 <meta http-equiv> was some preprocessing instruction for servers, that never got implemented. So restoring the original text -- assuming you are referring to HTML4 -- would not work either.
>>> 
>>> There was a description of how it *could* be used for server-side processing, which actually was implemented directly by some servers (e.g., WN) and indirectly via crontab by many others (e.g., to feed Apache var maps).  Regardless, the syntax and semantics continues to be implemented by many authoring tools.
>>> Restore the original HTML 2.0 text if you like.
>>> 
>>> We have gone over this before.  Browser behavior does not completely define HTML as a markup language.  The fact that some browsers started using that metadata as a backup (and, in some cases, a replacement) for HTTP metadata when it was not present in an HTTP response does not imply that the new definition of the mark-up language is reduced to what some subset of browsers do upon seeing that metadata.  The only thing such behavior needs from the standard is an additional paragraph or two that states when, where, and how such browser behavior occurs.  The original definitions are still implemented and
>>> relied upon by the vast majority of vendors that also depend on the HTML
>>> standard, even though they are not implementing a browser.
>> 
>> It would be interesting to see these authoring tools and/or examples of web pages created by them. I suspect there are more authoring tools that use <meta http-equiv> values solely to instruct browsers.
> 
> Again, that is irrelevant.  I know there are authoring tools that use HTML
> tables solely for presentation layout.  That does not change the meaning of
> <table> in HTML, nor does it restrict the available attributes of <table>
> to only the attributes used by those authoring tools.
> 
> There are plenty of references out there for use of meta on the Web.
> 
> http://vancouver-webpages.com/META/metatags.detail.html
> http://www.htmlcodetutorial.com/document/_META_HTTP-EQUIV.html
> http://www.i18nguy.com/markup/metatags.html
> http://www.dynamicsoftware.com/metatags.html
> http://www.webdeveloper.com/html/html_metatags.html
> http://webdeveloper.com/html/html_metatag_res.html
> http://wdvl.com/Authoring/HTML/Head/Meta/HTTP.html
> http://www.metatags.org/meta_http_equiv
> http://code.google.com/webstats/2005-12/metadata.html
> 
> It is difficult to search for how authoring tools use it because there
> are too many hits on normal pages.  But you can see it in Google Books
> 
> http://www.google.com/search?tbs=bks%3A1&tbo=1&q=meta+http-equiv&btnG=Search+Books
> 
> ....Roy

Received on Thursday, 18 November 2010 22:17:41 UTC