다음을 통해 공유


Internet Explorer 7 User Agent String

Internet Explorer 7 Beta 1 is fast approaching.  A tiny but significant code change was checked in this week: Internet Explorer's new User-Agent string. 

The User-Agent (or UA) string is sent along in the headers of every HTTP request so the server knows what type of browser is making the request.  For a quick introduction on handling of the User-Agent string, check out George Shephard's article in MSDN Magazine.

Internet Explorer 7 User-Agent

As we updated the User-Agent, we considered application-compatibility issues, historical precedent, and feedback from the community.  We arrived at a very simple string.

IE7 running on Longhorn will send the following User-Agent header: Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)

There are three points of interest in this string:

  1. We updated from 6.0 to 7.0 to reflect the new application version.
  2. Consistent with prior betas, a "b" was added following the 7.0, in order to flag this as a beta release.  This "b" will be removed for RTM.
  3. The "SV1" token was removed.  As predicted by the community, this token becomes redundant with the release of IE7.

What does this mean for web developers?

If you use ASP.NET's HTTPBrowserCapabilities class on your pages, you'll find that it is already able to correctly interpret the new UA string.  The class will return 7 for the MajorVersion property, and True for the Beta property.

Checks for the IE security features introduced in XP SP2 can be updated as follows:

    System.Web.HttpBrowserCapabilities browser = Request.Browser;
bool isIESecurityEnhanced = (browser.Browser == "IE" && (browser.MajorVersion > 6 ||
(browser.MajorVersion == 6 && Request.Headers["User-Agent"] != null && Request.Headers["User-Agent"].IndexOf("SV1")>-1)));

Can web developers test the new string out before IE7 Beta ships?

My first suggestion was to use a simple rule in Fiddler to change the outbound User-Agent header:

static function OnBeforeRequest(oSession:Fiddler.Session){
oSession.oRequest["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)";
}

However, this will only report the new User-Agent to the web server; any script in the webpage that calls the navigator object to check the browser version will never notice this change.  Rats.

Fortunately, IE5.0 and later allow you to override the user-agent string used by scripting and sent by the browser.

Simply save the following as IE7UA.REG.  Double-click the file to merge it into your registry and restart the browser to see the change.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet Settings5.0User Agent]
"Version"="MSIE 7.0b"

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsUser AgentPost Platform]
"SV1"=-

You can easily undo the change by saving and merging the following IE7Undo.reg.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet Settings5.0User Agent]
"Version"=-

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsUser AgentPost Platform]
"SV1"=""

You can test the change using a simple page that echos the User-Agent, e.g.: https://www.fiddlertool.com/useragent.aspx.

-Eric Lawrence

Comments

  • Anonymous
    January 01, 2003
    I admit I was a little concerned about the SV1 token but the 7.0 user agent couldn't be better. Nice work!

  • Anonymous
    January 01, 2003
    Many web developer believe interpreting the UA string is bad pratice - mostly due to be unreliable and also unnecessary. And when ist it is done, it is usually to overcome incompatibility between different browsers. So is this article saying: IE7 is (still) incompatibile to web standards and requires hacking around interpreting the UA string to make things work?

  • Anonymous
    January 01, 2003
    And what about the Http-Accept header ?

  • Anonymous
    January 01, 2003
    IE ist NOT Mozilla!!!
    IE/7.0 (Windows NT 6.0)
    would be correct (or something like this)

  • Anonymous
    January 01, 2003
    Perhaps this is their way of telling us that there is Mozilla code in there somewhere? Doubtful, I know, but hey...

  • Anonymous
    January 01, 2003
    Ok, ignore my ignorance. I only noticed that Mozilla 4.0 was a part of the user agent string since IE5.

  • Anonymous
    January 01, 2003
    Ok, but why use the string Mozilla/4.0 in IE UA string ?

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    I found why there is Mozilla in IE's user agent string here:
    http://webtips.dan.info/brand-x/useragent.html

  • Anonymous
    January 01, 2003
    Yes, I'm also thinking about the http-accept rule. Are you still going to pretend that IE7 is able to process / (although obviously, it's not)?

    Speaking about mozilla4.0, I believe it is because, a long time ago, IE was produced using part of the mozilla code. So recognizing it would be a good thing.

    And yes ! Why are you already preparing to make it possible to identify correctly the browser ! This is bad practices, you know it. So, just try not to encourage people doing it, it seems to me that time coding n different pages for n diffent browser is already past !
    Just code your page so as to be readable and not too bad is the old browser, and just wait the old browser vendor like IE5.5 ou IE6 to upgrade their bad product.

  • Anonymous
    January 01, 2003
    There are sooo many sites and tools done by narrow-minded people (including ASP, eh...) that now browsing with other "incompatible" User-Agent string doesn't make sense.

    UA is a last resort for bug workarounds, not primary way of detecting browser capabilities. This rule has been broken, and there you go - more broken stuff follows.

    Proposed UA is only sensible solution. They could add registry tweak that changes UA to "Internet Explorer/7.0", so kamikaze fans could use it.

  • Anonymous
    January 01, 2003
    Why not have some sort of user switching? Identify using the correct IE string by default but give people the chance to change back to the Mozilla string if they need to?

    It works for Opera.

  • Anonymous
    January 01, 2003
    Admittedly, I've got no idea what all that "IE7UA.REG" bit means, so forgive my ignorance.

    Will this new UA string work with IE's conditional comments? So that developers can sniff out IE 7 (and it's beta's) if need be, as has previously been possible in IE?

    Also, where you said "IE7 running on Longhorn will send ...", did you mean to say XP, or is a different UA string planned for XP?

    Again, please forgive my ignorance if these are obvious questions with obvious answers.

  • Anonymous
    January 01, 2003
    IE7 running on Windows XP would send "Windows NT 5.1" in place of the one above, if I am not mistaken.

  • Anonymous
    January 01, 2003
    I believe IE7 on XP will produce Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)
    and on XP x64/Server 2003 Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2)

  • Anonymous
    January 01, 2003
    Lets see... dissection time:

    Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)

    a) IE is not Mozilla... get over it
    b) Mozilla/5.0 is standards compliant, Mozilla/4.0 isn't, I think this says something
    c) "compatible" uh-oh... so you're keeping all the bugs IE5.5/6 had then?
    d) NT6.0? I thought you said IE7 would be available for WindowsXP users.

  • Anonymous
    January 01, 2003
    I think the "Windows NT 6.0" part is just here to provide an example.

  • Anonymous
    January 01, 2003
    The reason for mozilla is historical. Back in the day when IE1 was out, websites checked for "mozilla" and gave them a snazzy version. Microsoft found out that they were getting the ugly version, despite the fact that the advanced version worked fine. So in IE2 they made it look like Mozilla in order to get the good pages.

    Very antiquated nowadays, but the intertia is enormous, and lots of scripts look for the entire UA string, including the Mozilla/4.0. So removing is not an option.

    MSIE was never based on mozilla, it was based off Mosaic, via spyglass. Look at the about page and they still credit Spyglass!

  • Anonymous
    January 01, 2003
    UA string is just unusable (just check an Apache or an IIS log to get an idea). But what about conditional comments ? My XHTML assume [if lte IE 7], is it OK?

    By the way the old Mozilla/4.0 string is very revealing and during that time... http://weblogs.mozillazine.org/hyatt/archives/2005_04.html#008042

  • Anonymous
    January 01, 2003
    Instead of talking about this minor stuff, why don't you go to coding? Lots of thing need to be fixed.

  • Anonymous
    January 01, 2003
    > MSIE was never based on mozilla, it was based off Mosaic, via spyglass. Look at the about page and they still credit Spyglass!

    Partially correct. According to Wikipedia (http://en.wikipedia.org/wiki/Mosaic_%28web_browser%29):
    > Spyglass licensed the technology and trademarks from NCSA for producing their own web browser but never used any of the NCSA Mosaic source code. (http://biztech.ericsink.com/Browser_Wars.html) Spyglass Mosaic was later licensed by Microsoft, and it was modified and renamed Internet Explorer.

  • Anonymous
    January 01, 2003
    Have you thought of the implications of dropping the Mozilla/4.0 part off of the UA string? Do sites still use validation against this part of the string anymore? If not, it would seem like a great time to drop it.

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Isn't it about time you used a proper UA - one that doesn't contain 'Mozilla'.

    We know why it was used in the past - that was a decade ago.

    Fix your UA - and if people's scripts fail with the new browser - then they should update them - after all - they're not going to stop working with the old versions of IE.

    You can't keep supporting people who think it's still 1995. Life moves on. Proper sites no longer sniff UA's to see if the browser is "IE or NetScape 4" - these days there are many browsers on all sorts of devices.

  • Anonymous
    January 01, 2003
    All of you complaining about the 'mozilla' useragent prefix would be wise to modify your UA string in the way outlined above and spend a week browsing the web. I expect you will see a whole host of problems. Would you expect Microsoft to produce such an incompatible product that legions of end users are up in arms and defect to a competitor?

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    jbot, we know about that, don't think you know all, and others not.

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    First off, did anyone else find it...complicated to get in here and post comments?

    That said, I'm really looking forward to the beta release of IE7. I have arranged to get an XP computer around to test it.

    However, while I see the effort being put into "proper" PNG support and even revisions to CSS, I don't see much talk about Windows 2000 support or backporting efforts. This bothers me greatly. I'm administering a bunch of computers for a company and we're just not ready or particularly interested in upgrading to XP at this point. I don't have a great fondness for Windows XP. I really hope that even while nothing is being said that Windows 2000 support for IE7 is being seriously considered.

    It was my hope that the first beta would run on Windows 2000. Now it doesn't look like that will happen.

    In regards to Diggory Laycock's earlier comment about the Mozilla/4.0 portion of the user-agent string...yes, I agree that it was "ten years ago". However, I do take exception to the part about not supporting people who think it is still 1995. Webservers aren't people--and there are more than a few that have more or less gone to autopilot-like operation. Some webservers are still living in 1995 and nothing will be done about it. Someone is keeping the power turned on and paying for the connection no doubt--but nobody is really updating the content any longer. These are certainly a minority but even then I don't see a reason to break compatibility with them.

  • Anonymous
    January 01, 2003
    I know this is a bit OT, but has there been any success in getting IE 7 to render the Acid2 (http://webstandards.org/act/acid2/)test? This would be a great time to work towards that.

  • Anonymous
    January 01, 2003
    That's too minor to refect.
    Any really interesting changes?

  • Anonymous
    January 01, 2003
    <<Instead of talking about this minor stuff, why don't you go to coding? Lots of thing need to be fixed.>>

    As stated at the very beginning, "A tiny but significant code change" was made. It's tiny for us on the IE team, but it has a non-trivial impact on websites. If sites are coded not to accept that IE7 is a later version of IE6, they often break. There are quite a few sites like this out there.

    Hence, we're providing early notice of the change so you can test your sites even before beta if you'd like.

  • Anonymous
    January 01, 2003
    Please remove "Mozilla/4.0" from the User-Agent string.
    IE on Windows is the largest browser out there. 90% or more of web developers respect it when designing sites, thus you have a great oppertunity here to use a proper UA string which doesn't claim to be someone else! People who do UA string sniffing check for 'MSIE' anyway, so having Mozilla in there just makes things unnecessarilly complicated in our log files. Please, do the Right Thing™.

    I suggest "MSIE/7.0b (Windows NT 6.0)" (the 'compatable' bit is not necessary either these days, perhaps so in 1997 but we have moved on since then, one would hope).

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Windows NT 6.0. Has a good sound to it. Would make a good, simple product name for Longhorn. :) Enough with these year-names (which quickly get outdated). (Good thing XP wasn't called Windows 2001, would make it seem even older nowadays).

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    I also would vote to drop this "Mozilla/4.0 (compatible; ...)" notation.

    How long should this go on? If all browsers in the future include this string, it's simply redundant information and could also be dropped.

    Of course it's for the sake of compability, but it gets worse with the time: The code fragments needed to determine the browser version becoming more and more unnecessarily complex. All these functions will have to be touched after MSIE 7.0 is released anyways.
    So adopting for a proper "MSIE/7.0 (NT 6.0; ...)" string might make this even a bit easier for everyone.

    Sooner or later this disguise-as-Mozilla-madness has to end - the sooner the better. In the long term, everyone will benefit from this ...

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Good question about the conditional comments! My .REG scripts weren't quite complete; you need to update one more registry key to simulate IE7 for conditional comments.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerVersion Vector]
    "IE"="7.0000"

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Please, do change the user-agent string to remove "Mozilla". It's not that I care anything about IE (seeing how obsolete and unfriendly it is), but I'd like to see it changed in other browsers too, and if IE did it the rest of them could all do it at the same time.

  • Anonymous
    January 01, 2003
    Better idea:

    Why not get IE7 to make two requests... one with the "proper" IE/7.0 UA string, and again with the Mozilla/4.0 string... if it detects different checksums or hashes between responses, then it goes with the Mozilla/4.0 one, else it sticks with IE7.0

    Besides... does /anyone/ still sniff for "Mozilla/4.0" anymore anyway? Name ONE website, IEBlog, just one...

    If anything, they're sniffing for non-IE browsers so they can serve them up-level content.

  • Anonymous
    January 01, 2003
    ^^ Argh, that is stupid.
    Leave User-Agent string alone. Leave Mozilla alone.
    Instead consider user-friendly Settings dialog with compatibility options. Its concept hasn't changed since IE1.

  • Anonymous
    January 01, 2003
    <<Why not get IE7 to make two requests... one with the "proper" IE/7.0 UA string, and again with the Mozilla/4.0 string... if it detects different checksums or hashes between responses, then it goes with the Mozilla/4.0 one, else it sticks with IE7.0>>

    I assume you're kidding. This would be unbelievably horrendous for performance.

    <<Besides... does /anyone/ still sniff for "Mozilla/4.0" anymore anyway? Name ONE website, IEBlog, just one... >>

    Yes, most browser detection classes do sniff for this string. ASPNET's BrowserCapabilities object, for one, would no longer see this as IE without code changes.

  • Anonymous
    January 01, 2003
    www.cn-apple.com me too

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    What everbody has failed to mention so far is that according the the HTTP spec everything in parenthesis is a comment and technically can be ingnored, thus the only string that should be used for interpretation should be 'Mozilla/4.0' which is clearly wrong.

  • Anonymous
    January 01, 2003
    Chris H:
    That's correct, .reg files are used to edit the registry. Double-clicking them will (after prompting you for confirmation) apply the changes to the registry. (Assuming, in this case, that you have admin security in order to edit HKEY_LOCAL_MACHINE.)

  • Anonymous
    January 01, 2003
    Yep, how about

    InternetExplorer/7.0 (winxp; ...)

    because the product in question is Internet Explorer, not Netscape 4 (eventough the standards support is on the same level).

    Eric Lawrence: easier way might be typing

    javascript:alert(navigator.userAgent);

    to the address bar and pressing enter.

  • Anonymous
    January 01, 2003
    http://www.microsoft.com/communities/chats/chatrooms/beta.aspx doesn't work when using IE7 user-agent.

  • Anonymous
    January 01, 2003
    Perhaps if people start using UA-sniffing for "Mozilla/4.0" to indicate "NS4, can't support CSS1 properly, give it plain HTML" the devs would rethink their position.

  • Anonymous
    January 01, 2003
    Samuel: That's an easy way to display the user agent being used. What Eric is showing is how to test for IE7 within ASP.NET, and how to edit your registry to modify the user agent that's shown.

  • Anonymous
    January 01, 2003
    <<according the the HTTP spec everything in parenthesis is a comment and technically can be ignored>>

    I believe you've misread the spec. Section 14.43 of RFC2616 (http://www.faqs.org/rfcs/rfc2616.html) states that the data in the parenthesis is either a comment, OR a product.

    There's nothing in the RFC that indicates that this data is ignorable, although there are also not requirements to respect ANY part of the user agent header.

  • Anonymous
    January 01, 2003
    Thanks for the note on the blocking of IE7 at our chat site, Colin. I've contacted the site owner.

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    I think this is a mistake.

    You should leave the UA as it is and introduce new XML schema for communicating this information.

  • Anonymous
    January 01, 2003
    >> Write the HTML to describe the content, headlines with h?, paragraphs with p, quotes with blockquote, cite and q, et cetera

    You might want to rethink that - IIRC <q> is one of the several HTML4 tags that IE doesn't support correctly/at all.

  • Anonymous
    January 01, 2003
    Hello, I know this isn't the right place to post this, but I need to know if there will be any development and work on the hover pseudo element in CSS for tags other than an anchor tag, I'd appreciate any response about it. Thanks, and hopefully I can remember this place so I can get back to it, lol.

  • Anonymous
    January 01, 2003
    Eric,

    I was wondering what your take on the whole Mozilla in the UA was and what you think the fallout would be if it were changed.

    Thanks

  • Anonymous
    January 01, 2003
    <<I was wondering what your take on the whole Mozilla in the UA was and what you think the fallout would be if it were changed.>>

    Well, the biggest problem is that a TON of sites that work correctly today would stop working.

    For better or worse, the HTTPBrowserCapabilities class in ASPNET (as well as plenty of third-party code of similar purpose) expects an IE browser to send in Mozilla/4.0 as the start of the UA string.

    As noted above, you could play with this yourself by writing a Fiddler rule-- I've found that quite a few sites fail to work correctly.

    So, in order to pull this off, we'd have to put our customers in a lot of pain, for very questionable benefits (e.g. saving a few bytes over the wire).

  • Anonymous
    January 01, 2003
    So, you think now as we move to longhorn it is a bad time to clean up ones act and it is ok continue misbehaving to the eternity. Do you think it becomes easier to fix this in the future?

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Eric,

    Just out of curiosity, if web sites weren’t so reliant on the Mozilla UA string being part of the IE UA, what sting would you have gone for, if you did in fact consider a fresh one?

    Also, have you considered altering the "HTTP ACCEPT" header to reflect IE 7’s true abilities?

  • Anonymous
    January 01, 2003
    <<what string would you have gone for, if you did in fact consider a fresh one?>>

    In a world where compatibility didn't matter, I'd say that:

    IE/7.0 (NT 6.0; ...)

    would have been my choice.

    << have you considered altering the "HTTP ACCEPT" header to reflect IE 7’s true abilities?>>

    Well, ACCEPT doesn't necessarily do everything that User-Agent does. For better or worse, user-agent is used to track browser metrics, workaround user-agent limitations, indicate the bitness (16/32/64) of the platform, and so on. Updating ACCEPT wouldn't really help there.

    It's also unclear how practical ACCEPT really is for its stated purpose: "Accept headers can be used to indicate that the request is specifically limited to a small set of desired types"

    The problem is that the request is only very rarely limited to a "small set" of desired types... Most modern browsers can handle at least dozens of MIME types, and sending them all in the ACCEPT header entails a bandwidth cost on every request for a questionable benefit.

  • Anonymous
    January 01, 2003
    @ Eric :

    Just look at FireFox's Http-Accept header : text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5
    It just tells what type of pages does it accept (there's just an exception with image/png).

    With this, we can use content-negociation to send web pages with the correct XHTML MIME type (ie application/xhtml+xml) to user agents that supports it). If the header contains 'application/xhtml+xml' (with a higher q-rating than text/html), send the page with this type, and enjoy full-compliant XHTML.

    Now, imagine IE7 supports the XHTML MIME type. And imagine it has only / in his Http-Accept header. How may we detect that it supports the XHTML MIME type ? A content-negociation script will not be able to see that the user agent supports the right type, and will send pages with the compatible type (text/html)...

    So we will need to rely on user agent sniffing... Pretty bad ;)

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    @Eric :
    There is of course little reasons to have image/png in Http-Accept.

    But as I said, how can I do content-negociation if the user agent doesn't tell me some basic types it accepts ?

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    I'm well aware of the fact that "file extensions" on the web can be misleading-- I should have been more clear on this point.

    <<Don't be fooled into thinking this is the Accept header sent by Firefox when it wants an image.>>

    For images, it ACCEPTs: image/png; / q=.5

    It's hard to argue that this is much of an improvement.

    <<Whatever you normally send.>>

    What do you propose is the correct subset of the dozens or hundreds of supported MIME types that should be announced via this header?

  • Anonymous
    January 01, 2003
    I apologize for not posting much lately. I have the next installment of JavaScript 101 almost ready and...

  • Anonymous
    January 01, 2003
    > For images, it ACCEPTs: image/png; / q=.5

    > It's hard to argue that this is much of an improvement.

    Your point was that Firefox was broken for asking for text/xml in preference to image/png. But in the context of loading an image, it doesn't do that, and in the context of opening a generic URI, that isn't broken behaviour.

    > What do you propose is the correct subset of the dozens or hundreds of supported MIME types that should be announced via this header?

    The ones that will be useful in content negotiation - basically, the ones that are likely to be chosen over other alternatives, or are likely to be commonplace on the web.

    For instance, the fact that Internet Explorer can handle BMPs isn't likely to be useful to web developers in practice - how often is it that they'll want to send BMP when an alternative is available? When when BMP is the only resource available, the server will see the / and still be able to provide it.

    I have no real complaint with the initial Accept header as it stands now - just the bug on refresh. I do think it wuld be a step backwards and another source of frustration if you start modifying your Accept header based on file extensions you think you see in the URI though.

  • Anonymous
    January 01, 2003
    The / in Firefox is more of a last resort (hence the q=0.5), unlike the Accept header IE sends which gives everything including "/" equal weighting (and doesn't mention text/html at all?!)

  • Anonymous
    January 01, 2003
    Jim, could you give me a site that serves different content for different Accept tokens?

    The only use I see for this is for text based browsers asking for plain/text respondes.

    Since both ie and firefox support almost any format on the web, why should they worry about asking for a specific response type?

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    > Jim, could you give me a site that serves different content for different Accept tokens?

    There are loads of them. Practically every site that uses application/xhtml+xml, for instance. This is the whole purpose of the Accept header. If you need an example, the W3C does it.

    > The only use I see for this is for text based browsers asking for plain/text respondes.

    Text-based browsers don't want text/plain, they want text/html.

    There are loads of reasons why content negotiation is useful. It's basically impossible to use XHTML properly unless you use conneg. The same went for PNG a few years back. The same will apply to SVG in the future (if not already).

    > Since both ie and firefox support almost any format on the web

    I would love it if this were true, but unfortunately it isn't, not by a long shot.

    > why should they worry about asking for a specific response type?

    Because even if they support multiple media types, it doesn't mean that they don't care which they get.

    For instance, where there is a choice of SVG and PNG available, even if the browser can handle both perfectly, it will want to tell the server that it prefers the scalable image.

  • Anonymous
    January 01, 2003
    This Accept header would be good for IE7 (assuming IE7 fully supports PNG and doesn't support application/xhtml+xml at all):

    Accept: text/html,text/plain,text/css,text/xml;q=0.7,text/x-xslt,text/javascript,text/vbscript,image/png,image/gif,image/jpeg,image/pjpeg,/;q=0.2

    You can add Office types to this header.

    This is needed for content negotiation.
    text/xml is 0.7 because IE doesn't support XHTML in that MIME-type (only displays source)
    / is 0.2 because IE can't display these types (only save to disk or open in external application)

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    If you want to save bandwidth, you can send:
    Accept: text/css when downloading stylesheets,
    Accept: image/png,image/gif,image/jpeg,image/pjpeg when downloading images,
    Accept: text/javascript,text/vbscript when downloading scripts
    and Accept: text/html,text/plain,text/css,text/xml;q=0.7,text/x-xslt,/;q=0.2 when downloading documents/files.

  • Anonymous
    January 01, 2003
    Thanks for the suggestions about the Accept header. I'll look into this.

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    <<Also if IE uses Mozilla's code>>

    It doesn't. Don't believe everything you read.

  • Anonymous
    January 01, 2003
    One thing that really strucked me:
    Why do so many people write about things they don't really understand. There should be a requirement of understending UA string and it's history as well as client/server side scripting before posting...

    @Eric: Is there any distant possibility that IE7 will provide some UA string changing mechanism, like that in Opera browser. This would make kids happy - IE introduces itself as Mozilla/4.0 (compatible;... OR IE7.

  • Anonymous
    January 01, 2003
    Would this work for the majority of UA checkers?

    MSIE/7.0 (compatiable; Mozilla/4.0; Windows NT 6.0)

    It should, if it's just doing a string-in-string check.

  • Anonymous
    January 01, 2003
    "@Eric: Is there any distant possibility that IE7 will provide some UA string changing mechanism, like that in Opera browser."

    That sounds pretty unlikely to me. Besides, the statistical mess that Opera has created by defaulting as IE is not something to strive for.

  • Anonymous
    January 01, 2003
    There have been many comments about the unreliability of UA sniffing in this post already,
    but I was sufficiently amused by the results of my having clicked on the Fiddler link to post it here.
    I'm definitely an outlier as far as browsing goes, but I sure hope people use a little common sense and if they use UA sniffing to disable site capabilities, also offer links to alternate pages as well.

    ──────────────────────────────────────────────────────────────────────────────────────────────────────
    The browser sent the following headers:
    ──────────────────────────────────────────────────────────────────────────────────────────────────────

    Connection=keep-alive
    Accept=text/, image/, application/, audio/, message/, video/, /
    Accept-Encoding=gzip, compress, bzip, bzip2, deflate
    Accept-Language=en;q=1.0
    Host=www.fiddlertool.com
    Referer=http://blogs.msdn.com/ie/default.aspx
    User-Agent=w3m/0.5.1

    ──────────────────────────────────────────────────────────────────────────────────────────────────────
    ASPNET's HTTPBrowserCapabilities object reports that based on the User-Agent, your Browser has the
    following capabilities:
    ──────────────────────────────────────────────────────────────────────────────────────────────────────

    Type = Unknown
    Name = Unknown
    Version = 0.0
    Major Version = 0
    Minor Version = 0
    Platform = Unknown
    Is Beta = False
    Is Crawler = False
    Is AOL = False
    Is Win16 = False
    Is Win32 = False
    Supports Frames = False
    Supports Tables = False
    Supports Cookies = False
    Supports VBScript = False
    Supports JavaScript = False
    Supports Java Applets = False
    Supports ActiveX Controls = False

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Steve, I agree almost completely with everything you say, but:

    > I.e. if you are using an 'img' tag then it's not sane to return non-image data, so specifying / anywhere in the accept header is not sane (but image/* is).

    In this specific instance, this would exclude video/x-mng. As far as I know, Internet Explorer 7.0 won't support this image type, but it's something to bear in mind. Perhaps a video/* or / with a low quality weighting would be appropriate too in this particular instance.

  • Anonymous
    January 01, 2003
    IEBlog : Internet Explorer 7 User Agent String My first suggestion was to use a simple rule in Fiddler to change the outbound User-Agent header: static function OnBeforeRequest(oSession:Fiddler.Session){ oSession.oRequest[&quot;User-Agent&quot;] = &quot;Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)&quot;; } As it...

  • Anonymous
    January 01, 2003
    Transship
    http://www.yeyan.cn/Programming/InternetExplorerUserAgent.aspx

  • Anonymous
    January 01, 2003
    He said the new version will be built on the work they did in SP2, and other things. Gates mentioned they will go further to defend IE users from phishing and other deceptive software.

  • Anonymous
    January 01, 2003
    IE7 has a new user agent string. See http://blogs.msdn.com/ie/archive/2005/04/27/412813.aspx for details....

  • Anonymous
    January 01, 2003
    Just read on the IE blogs that MSFT have decided to change the IE
    user-agent string which may/may not...

  • Anonymous
    January 01, 2003
    If you take a look at a PC Magazine article at http://www.pcmag.com/article2/0%2C1895%2C1840714%2C00.asp&amp;nbsp;there...

  • Anonymous
    January 01, 2003
    i have used it to my work .
    &#160;http://blogs.msdn.com/ie/archive/2005/04/27/412813.aspx

    What does this...

  • Anonymous
    January 01, 2003
    One of the purposes of releasing the IE7 beta is to collect feedback on compatibility with both websites...

  • Anonymous
    February 06, 2006
    The comment has been removed

  • Anonymous
    February 16, 2006
    At the end of April of last year, we blogged about the new Internet Explorer 7 User Agent string.&amp;nbsp;...

  • Anonymous
    July 12, 2006
    &lt;p&gt;
    I just posted a plea for browser producers to advertise their IDNA capability in the User-Agent HTTP header:
    &lt;/p&gt;
    &lt;p&gt;
    &lt;blockquote&gt;
    &lt;/p&gt;
    &lt;p&gt;
    This is a proposal to the major browser producers supporting IDNA to

  • Anonymous
    July 15, 2006
    The comment has been removed

  • Anonymous
    July 15, 2006
    PingBack from http://microsoft.wagalulu.com/2006/07/16/nab-not-detecting-ie7/

  • Anonymous
    August 11, 2006
    PingBack from http://www.netcrucible.com/blog/2005/07/25/getting-your-site-ready-for-ie7/

  • Anonymous
    September 21, 2006
    (Yes, a string can be “arrogant”). I have to give a thumbs up to the developers of Internet&amp;nbsp;Explorer&amp;nbsp;7. Even if the developpers have just done a “paint job on their Pinto”, in my opinion, they have done a rather good paint job. Obviously,

  • Anonymous
    October 18, 2006
    PingBack from http://www.markbarto.nl/wordpress/archives/2006/10/19/internet-explorer-70-beschikbaar/

  • Anonymous
    October 19, 2006
    IE7 was released yesterday. If you're a web site owner, developer or designer, and find that your site or application is encountering problems, fret not. Here is a list of resources for you: Read the Checklists Download the IE7 Readiness...

  • Anonymous
    October 19, 2006
    IE7 was released yesterday. If you’re a web site owner, developer or designer, and find that your site or application is encountering problems, fret not. Here is a list of resources for you: 1. Checklists 2. Download the IE7...

  • Anonymous
    October 19, 2006
    From now on, we have to test our web application on another version of browser. Source: http://dotnet.csdn.net/n/20061019/96467.html Microsoft IE7已于今日正式发布。微软在网站上公布了开发者和Web制作人员要注意的一些事项。翻译如下: 确认你的程序中关

  • Anonymous
    November 13, 2006
    PingBack from http://blog.hubert.tw/2006/11/13/170

  • Anonymous
    November 26, 2006
    PingBack from http://www.entelligencer.net/?p=967

  • Anonymous
    December 08, 2006
    PingBack from http://www.entelligencer.net/?p=1532

  • Anonymous
    December 18, 2006
    The comment has been removed

  • Anonymous
    February 22, 2007
    The comment has been removed

  • Anonymous
    February 24, 2007
    The comment has been removed

  • Anonymous
    May 31, 2007
    PingBack from http://www.ditii.com/blog/2007/06/01/whats-ie-user-agent-string/

  • Anonymous
    June 04, 2007
    The studies show that people on a diet almost always put the weight back on. This blog gives you great solution to turn eating into a healthy habit. No dieting required.

  • Anonymous
    November 01, 2007
    I got a couple of cases about this problem recently... Imagine this scenario: you install the .NET Framework

  • Anonymous
    November 01, 2007
    I got a couple of cases about this problem recently... Imagine this scenario: you install the .NET Framework

  • Anonymous
    December 23, 2007
    PingBack from http://internet-explorer.blogyblog.info/?p=182

  • Anonymous
    December 25, 2007
    PingBack from http://internet-explorer-7.blogyblog.info/?p=1417

  • Anonymous
    December 27, 2007
    PingBack from http://internet-explorer-6.blogyblog.info/?p=2503

  • Anonymous
    February 21, 2008
    As Dean announced , a beta version of Internet Explorer 8 will be released in the first half of 2008.

  • Anonymous
    February 21, 2008
    As Dean announced , a beta version of Internet Explorer 8 will be released in the first half of 2008

  • Anonymous
    May 05, 2008
    PingBack from http://explorer.wawblog.info/?p=441

  • Anonymous
    May 08, 2008
    PingBack from http://charlie.unoccupiedmedia.info/linkhttpwindowzifua.html

  • Anonymous
    July 11, 2008
    Valium multiple sclerosis. Valium statistics. Antidote soma valium. Internet-rx.com valium. Valium. Generic valium no prescription.

  • Anonymous
    July 17, 2008
    PingBack from http://johnblog.hostsnake.com/internetexplorerwordhtmlconditionalcodingshowsthrough.html

  • Anonymous
    August 31, 2008
    PingBack from http://www.nczonline.net/wpblog/2005/04/28/ie7-user-agent-string-revealed/

  • Anonymous
    November 17, 2008
    PingBack from http://lifesup.yo2.cn/articles/ie7-%e5%8f%91%e5%b8%83%e5%90%8e%ef%bc%8c%e7%a8%8b%e5%ba%8f%e5%91%98%e5%8f%8aweb%e5%bc%80%e5%8f%91%e5%91%98%e8%a6%81%e6%b3%a8%e6%84%8f%e4%ba%86.html

  • Anonymous
    January 17, 2009
    PingBack from http://www.hilpers.fr/1077513-certaines-pages-web-saffichent-su/2

  • Anonymous
    January 21, 2009
    PingBack from http://www.hilpers.it/1513367-su-ie-7-beta-3-a

  • Anonymous
    January 22, 2009
    The comment has been removed

  • Anonymous
    February 16, 2009
    PingBack from http://internet-explorer.shuublog.info/?p=104

  • Anonymous
    May 04, 2009
    PingBack from http://blog.atena.pl/zmiana-ie6-ie7.html

  • Anonymous
    May 31, 2009
    PingBack from http://outdoorceilingfansite.info/story.php?id=4408

  • Anonymous
    May 31, 2009
    PingBack from http://outdoorceilingfansite.info/story.php?id=22044

  • Anonymous
    May 31, 2009
    PingBack from http://woodtvstand.info/story.php?id=1437

  • Anonymous
    June 02, 2009
    PingBack from http://patiochairsite.info/story.php?id=27710

  • Anonymous
    June 07, 2009
    PingBack from http://greenteafatburner.info/story.php?id=332

  • Anonymous
    June 09, 2009
    PingBack from http://besteyecreamsite.info/story.php?id=1128

  • Anonymous
    June 13, 2009
    PingBack from http://outdoordecoration.info/story.php?id=4078

  • Anonymous
    June 13, 2009
    PingBack from http://fancyporchswing.info/story.php?id=2275

  • Anonymous
    June 15, 2009
    PingBack from http://einternetmarketingtools.info/story.php?id=8478

  • Anonymous
    June 15, 2009
    PingBack from http://unemploymentofficeresource.info/story.php?id=10157