A Caching Issue in IE7 Beta 2


Hello, Eric Lawrence here from the IE Networking team.  I’ve seen a few bug reports and blog comments regarding an observed change in IE7 Beta 2’s caching behavior, and I wanted to post a quick explanation about the situation and assure you that it will be resolved in the next beta.

In IE7 Beta 2, we made a change our handling of the Post-Check and Pre-Check extensions in the HTTP Cache-Control header.  If you’re not familiar with these extensions, you can get a quick overview here: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/perf/perftips.asp.  

Cache Control Post-Check and Pre-Check Extensions

The Post-Check extension enables you to force background validation of a cached item after it is displayed, and the Pre-Check extension is functionally pretty similar to the Max-Age token.  Post-Check enables background caching scenarios: the cached copy of a resource is immediately displayed, but after a specified interval it is revalidated in the background (after the page has finished downloading) to ensure that the content is fresh for the next page view.

First, a bit of history: When these extensions were introduced back in IE5, there was a significant outcry because developers thought that they were required to set these new extensions to 0 to prevent IE from caching content.  This is not the case, and setting both values to 0 had absolutely no effect in IE5 or IE6.  Unfortunately, this misunderstanding spread far and wide, and it’s become common in frameworks like PHP, which sends the following header to prevent caching:

Cache-Control: no-store, no-cache, must-revalidate, Post-Check=0, Pre-Check=0

In previous versions of IE, if the Post-Check value was greater than the Pre-Check value, the values were ignored as illegal.  The IE7 Beta 2 behavior change was pretty trivial, and simply swapped the Post-Check value and the Pre-Check value if the developer had specified them backwards (we had seen this mistake “in the wild” a few times).

Unfortunately, this had a very undesirable side-effect when both values are set to 0.  Because Pre-Check was now allowed to equal Post-Check, IE7B2 respects the Post-Check=0 directive.  Hence, as soon as IE determines that it has an idle network connection, it will cause background revalidation (redownload) of the resource. 

As you can imagine, this can lead to a significant waste of bandwidth, but there’s a much more insidious problem.  The change in behavior leads to great consternation when trying to post to message boards which have “human proving images” (sometimes called CAPTCHA TM) used to prevent spam-bots. 

You know the type:

Captcha image

Every time this file is requested, it generates a random key string and stores it in the server, and renders the string to the client in the form of an image.

As you can imagine, it’s really important that these images not be cached, because if the image is cached, the server key won’t match what the user types in.  So these HTTP responses set lots of headers to do their best to make sure nothing caches the image.  For instance, here are the headers on a standard PHPBB response:

HTTP/1.1 200 OK
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Date: Wed, 05 Apr 2006 06:07:50 GMT
Content-Type: image/png
Server: Microsoft-IIS/6.0
Cache-Control: no-store, no-cache, must-revalidate, Post-Check=0, Pre-Check=0
Pragma: no-cache
X-Powered-By: PHP/4.4.1

Unfortunately, the system also totally breaks if IE decides to redownload the file in the background, because the server-side session variable will no longer match the image that’s being displayed to the user.

Some symptoms you may spot when experiencing this problem:

  1. Unable to type in the validation code for human image proofs
  2. Unexpectedly logged out of websites that use cookies for authentication
  3. Unexpected Network traffic spotted when using the Fiddler HTTP Debugger

In light of the aforementioned problems, we’ve taken a fix for IE7 Beta 3 to ignore both extensions if either is set equal to zero. 

A few additional bits of Pre-Check / Post-Check arcana:

  1. You are not required to send pre-check and post-check to prevent caching
  2. Both attribute values must be present, or they both will be ignored.
  3. Pre-Check is functionally identical to Max-Age, except max-age is calculated as a delta from the Age header, if present

I hope you enjoy using Beta 2, and thanks for all the feedback!

-Eric

Comments (75)

  1. Anonymous says:

    This "bug" (hmm, or it was a "right-understanding-of-misuderstanded-feature"? πŸ˜‰ is VERY annoying and can break too many PHP-based things…

    Good news!

  2. Anonymous says:

    > and assure you that it will be resolved in the next beta.

    There’s going to be another beta?

    -dean

  3. Anonymous says:

    "There’s going to be another beta?"

    Yes, the existance of Beta 3 was announced (or should I say, snuck in) at the bottom of this posting:

    http://blogs.msdn.com/ie/archive/2006/04/24/582546.aspx

  4. Anonymous says:

    Just out of curiosity… Does the behavior have anything to do with how the POST data is handled?

  5. Anonymous says:

    Is there a way i can set IE to only have one window and force all other IE windows to open as a tab?

  6. Anonymous says:

    PLEASE, PLEASE don’t guess when they make a mistake. Log an error so they will fix it.

    The worst thing that ever happened to HTML was IE not enforcing the rules.

    It you let them use sloppy code, they will, and it will bite everyone in the a$$.

    When happens when someone figures out a valid use for Post-Check value that is larger than the Pre-Check value? Then your hack goes from a crutch for bad coding to a breaking change for valid pages.

    The spec says the numbers are invalid, THEY ARE! Follow the speck and ignore them!

    *Quirks* mode MUST stay the same for legacy pages and *Standards* mode should never ignore the standard.

    You were doing the right thing, pre-beta2, don’t start down this slipery slope now!

  7. Anonymous says:

    I can’t let this go.

    With this change you are actually saying that breaking a cache sensitive page (like a CAPTCHA) is better then forcing a refresh!

    This is backwards. Without this change, worst case, bad code causes the page to always be pulled from the server, and they may actually spot that there is a caching problem and look at their code.

    With this change (swapping the numbers, not ignoring zeros) back code works in IE and fails in any browser that follows the spec.

    This is exactly the type of thing that gives IE a bad name. Following the spec means following the spec, not just when you feel like it.

    And this is from a avid MS/IE user/supporter! The slashdot/OSS guys will have a ball with this.

    Jorgie

  8. Anonymous says:

    @Eric

    Thanks for letting us know & I’m glad the team’s going to fix it. *** Speaking of ‘caching’ ***: Why does XMLHttpRequest ignore the ‘no-cache’ header on get requests?

    http://www.enja.org/david/?p=25

    http://en.wikipedia.org/wiki/XMLHTTP

  9. Rosyna says:

    Jorgie, which spec is Post-Check/Pre-Check a part of? It sounds like MS created them so MS can fully choose how to implement them.

  10. Anonymous says:

    Let’s put it this way.

    Unless the spec says "If invalid values are detected, they will swapped around until they are valid." it does not matter who’s spec it is, they should not GUESS!

    And heaven help us if the spec DOES say that.

  11. Anonymous says:

    Greetings,

    I just want to say that, after trying over 20 browsers, that IE 7.0 is my favorite by far. It is, dare I say, PERFECT.

    I have tried Slim Browser, Tablane, Opera, Firefox, Crazy Browser, Maxthon, and many more, in my quest to find a good browser. While each of these products had good points (I especially like the "autologin" feature of Slim Browser), IE 7.0 outdoes them all.

    IE 7.0 is crisp and clean, doesn’ take much room, it’s use of tabs is very easy to learn, comes with a feed reader, and is no longer clunky with big tool bars.

    I absolutely love it!

  12. Anonymous says:

    Erik: According the the HTTP/1.1 spec, the only official value in the Pragma header is no-cache. Any other values are extensions, and are vendor-specific.

    This means that the Post-Check and Pre-Check values are Microsoft-specific, and Microsoft can change how they work as they please.

    It also means that if the values are not present, it should not affect caching in a negative way.

  13. Anonymous says:

    I’m not quite sure if they’ve fixed a problem or just changed a problem.

  14. Anonymous says:

    @Dean Edwards: Re: "There’s going to be another beta? "

    You’re kidding right? Anyone that’s tested the current Beta knows that its only about 60% complete, with several UI issues, several critical non-fixed bugs

    many CSS shortcomings, and lots and lots of "this doesn’t look very profesional yet" dialogs, wording etc.

    If this were IE 6.5, then yeah, roll it out already, but lets be serious… this thing (at least the latest released beta, is a good 4 months of coding, away from

    an RC release… then tack on another month or two, after the latest RC passes acceptance testing.

    ATM, if the current Beta, is what went live, as IE7, then you could kiss goodbye from support of the Web Development community.  There are way too many critical issues

    outstanding for this browser to be considered a "Modern Browser" by yesterday’s standards.

    ——–

    My boss, is waiting on the "final" workability specs for IE7, for the various Web Apps we have built.  They all work in Modern Browsers (with severe degredation for IE),

    however, if the critical bugs aren’t fixed, we are dropping all support for IE from this day forward.  We are tired of the workarounds, the lack of features,

    (until this year, total lack of respect for the Web Standards that the rest of us are working with).

    I mean, come on, how damn hard is it to set the right cursor (busy), when an onclick event triggers a form submission.

    How hard is it to follow the spec for adding DOM event listeners…

    How hard is it to change the select list drop down length to a reasonable size (e.g. longer)

    HTML Button element… I’m sure its a 2 minute code change to fix this so it submits the value attribute, instead of incorrectly submiting the ChildNodes.

    How hard is it to fix background images right aligned in text boxes to not move when you type…

    The list goes on and on…

    ——–

    Please realize, when the RC finally does come out… you have a heck of a lot of stuff that needs to be in there, or developers will simply move on.

    Signed,

    Developer.at( rope.length – 2 );

  15. Anonymous says:

    @Fiery: "Does the behavior have anything to do with how the POST data is handled?"

    Nope, this solely has to do with the value of the header.

    @Developer: Why would you expect the cursor to change?  Other navigations don’t change the cursor?

    What do you consider a "reasonable" length for the dropdown list flyout? It appears to max out at 30.

    Changing the behavior of the Button element is likely to cause compatibility problems.

    @cooperpx: I’ll look into this.  

  16. Anonymous says:

    @Norbert: Use Tools | Internet Options | General | Tab Settings to control how windows are opened.  We’ve fixed some bugs here over the last few weeks.

  17. Anonymous says:

    please in German, i can not English

  18. Anonymous says:

    > The worst thing that ever happened to HTML was IE not enforcing the rules.

    > It you let them use sloppy code, they will, and it will bite everyone in the a$$.

    Wow.  You can blame Netscape for that.  IE simply had to follow along, if only because there were so many sloppily coded websites that would break, they had no choice.

  19. Anonymous says:

    The authors of IE suspect that there will be no more versions beyond 7.0, and thus notation "IE 7+" will not cause confusion.

  20. Xepol says:

    I run with my cache as close to disabled as you can get without setting it to 0k (check on every visit…), so I haven’t seen anything like this. I did see problems like this in IE6 however.

    that aside, I’ve been flipping through my system utilities and it has come to my attention that even when you start IE in the no-addons mode that it opens an incoming UDP port.

    Either this is a problem unique to my machine, unique to people with VS installed or everyone suffers from it.

    Anyone else care to venture an opinion?  I am using SysInternals tools (process explorer in this case) to see this.

    Is IE 7 openning an incoming UDP port and if so, WHY?!?!? (assuming my machine isn’t just insane for some reason) If it is, can it be shut off?  It appears to open at a random port every time, but that just means any exploits would have to be fired off shotgun style (which is easy since it is UDP instead of TCP)

    Thanks.

  21. Anonymous says:

    "The IE7 Beta 2 behavior change was pretty trivial, and simply swapped the Post-Check value and the Pre-Check value if the developer had specified them backwards (we had seen this mistake β€œin the wild” a few times)."

    don’t

  22. Anonymous says:

    I can’t login to hotmail.com after I installed IE7 Beta 2. I tried to uninstall it, then login but that didn’t work. I have reinstalled IE7b2.

    And now it wont even work in firefox. Got any clues to what could be wrong?

  23. Anonymous says:

    @Mike Clevland

    –>> "IE7 is perfect" <<–

    Uh, yeah, ooooooookaaaay……

    Let me ask you this:

    Uhm, is it dark in there?

    No offence dude, but if you take IE7 as the top of the heap, you obviously haven’t done your homework.  This Blog is here for just that reason.

  24. Anonymous says:

    Ok, can someone please look at the hosting for this blog?… at least 5 times in the past 24 hours, it has gone DOA when clicking a link.  Which then punts you to the Community Server Blogging forum to report the error. Which is A)) Wrong, and B)) Of no help and C)) Just plain anoying, because the user has to login to submit a bug.

    Can we get a link on this page (and no, not the email at the top that doesn’t get looked at), that submits a Forum bug report via another (e.g. non-Community Server) page?

    Thanks

  25. Anonymous says:

    Well I must say I’m delighted to have read that blog post, and I think it’s been one of the most useful on here yet.

    I started experiencing problems like that with IE7B2 almost immediately, both with logging out and my CAPTCHAs suddenly not working.

    I figured it must have been a bug since all worked fine in IE6/FF so yeh it’s interesting to see exactly what was causing it.

    Many thanks guys for your continued hard work, I can’t wait for the final IE7 πŸ™‚

    (Also looking forward to the CPP of Vista as I can’t afford an MSDN subscription;))

  26. Anonymous says:

    > Changing the behavior of the Button element is likely to cause compatibility problems.

    Not changing it means sticking to a bogus behaviour, practically making <button> useless.

    And changing it won’t be easier with IE 8 or 9. So you’re actually saying it’ll never get fixed, right?

    Please change this policy. You are still holding back the web.

  27. Anonymous says:

    >> You are still holding back the web.

    Somehow I doubt that you and _your_ requirements for the "button element" consist of the entire web.

    The development team can only do so much, and with the added weight of "any change could break a thousand different things", it might be nice to once in a while just say ‘good job so far’ instead of grumbling about something else.

  28. Anonymous says:

    > Somehow I doubt that you and _your_ requirements for the "button element" consist of the entire web.

    The requirement of cross-browser behaviours is out of question. This behaviours are defined by the W3C (where MS participates), not by me.

    It was meant exemplary. Some hours ago I read on the IE Feedback site that <label> is not working correcly "by design" because of "compatibility" concerns. That’s just another example — I’m not saying that one particular bug holds back the entire web, but altogether this policy does.

  29. Anonymous says:

    @ Xepol

    If any program wants to use udp, such as with dns, ldap, ntp, etc you’ll see this. The difference is that IE is now reserving (and keeping) this port on load rather than on first / each use. It isn’t a heinous act, especially if the network stack picks the port instead of the app.

    fyi – traditionally a couple dns functions have been unsafe for multithreaded use. This could very well be a resolution to a security issue. who can know?! πŸ˜‰

  30. Anonymous says:

    another beta. its my problem with slowness in sites as 4chan.org and any other picture sharing site continues i may stay with firefox or IE 6 that doesn’t have that problem

  31. Anonymous says:

    Can you tell me how to unintall IE7. I WORK FOR THE STATE OF TEXAS AND IT DOES NOT RECONIZE STATE WEBSITES.  IT WILL NOT LET ME UNINSTALL IT.  I KEEP GETTING THE MESSAGE I HAVE TO LOGIN WITH THE USER NAME I INSTALLED IT WITH.  I ONLY HAVE 2 USER NAMES AND IT WILL NOT ALLOW ME TO LOG ON AT SLANDERSON OR ADMINISTRATOR.  I WANT IE7 OFF THIS PC!!

  32. Anonymous says:

    @Dao and Z

    Dao is correct. the short answer, to anyone that has written code, to workaround a bug, should be blatently aware, that when the bug is fixed, they will have to: (say it loud!)

     ===============

      FIX YOUR CODE!

     ===============

    If I code something, that (like the CSS hacks), that got around an IE bug, then when IE fixes it (Thank you very much btw, it is much appreciated), then I, the end-developer, will need to FIX MY CODE.

    As for the Button element in question.  Can anyone seriously tell me, that they have written a web page/app, designed to submit the contents of the button, rather than the value attribute? (Not including those that knowingly coded it this way to get around the bug)

    Of course not! Why would they?  Why would the developer want to submit:

    "<b>some value</b><img…/>"

     instead of:

    "some value"

    on a request…

    It is a bug. It needs to be fixed. And most importantly, *IF* it breaks someones code, then they should "FIX THEIR CODE!"

  33. Anonymous says:

    Henry, I’m glad you agree to me. But it’s not just about fixing code. Let’s not forget that IE6 will be around for some time, e.g. because IE7 won’t be available for all relevant Windows systems. So the argument makes sense, kind of: If developers start using <button>, their websites won’t work for IE6 users.

    BUT: Shifting the fix means only shifting the problem. Instead it could be fixed now, informing the developers about the potential problems. So at least when IE6 has become obsolete someday, we could start using <button> & friends, knowing it’ll work with the "good old" IE7.

  34. Anonymous says:

    Not sure if I should post this here or at an Office 2007 blog…..but, Is there a way for the RSS readers in Outlook and IE7 to sync up, so that when I read a feed on one the feed also shows up as read in the other. Right now if I read a feed in Outlook, IE7 still has it as unread (or if I read it in IE7 then Outllook still leaves it as Unread until I read it there). Just wanted to know if that was possible for them to sync up.

    Thanks

  35. Anonymous says:

    Hopefully someone can confirm this, any time I go to http://www.codeproject.com/cs/miscctrl/ and scroll down, IE7 begins using between 400 and 500MB of RAM!

  36. Anonymous says:

    Microsoft preps IE 7 Beta 3 for August…

    lazy sucks ms!

  37. Anonymous says:

    sorry, this is not the place to post such things… but i’m in real hurry and found IEBlog the quickest way.

    IE7 is great. and its RSS thing is my favorite feature. i have one request.

    i’ve lots of RSS feeds ‘n favorites, and i manage them nicely with folders to find them easily. but it’d be great if IE7 include progressive (search as you type) quick search box in RSS/Favs side panel.

    thanks,

    // chall3ng3r //

  38. Anonymous says:

    sorry, this is not the place to post such things… but i’m in real hurry and found IEBlog the quickest way.

    IE7 is great. and its RSS thing is my favorite feature. i have one request.

    i’ve lots of RSS feeds ‘n favorites, and i manage them nicely with folders to find them easily. but it’d be great if IE7 include progressive (search as you type) quick search box in RSS/Favs side panel.

    thanks,

    // chall3ng3r //

  39. Anonymous says:

    http://www.codeproject.com/cs/miscctrl/

    Wtf??? Opening the page in a tab increased my pf usage by 311 MB!!!

    FF increases usage by 5 meg, and opera by 33 mb

  40. Anonymous says:

    That sounds like a nice bug to fix still.

  41. Xepol says:

    Cooperpx -> It is a LISTENING UDP port, waiting for incoming datagrams, not an outbound port.  There is no reason I can come up with for a listening UDP port in IE, and I can only see it as a point that will eventually get exploited.

    But since you might have missed the point that the UDP port is waiting for incoming (unsolicted) datagrams, I think we are back to the "is this normal" question before the "why is this here at all" point.

    If it IS normal for IE to have a listening UDP port, I still gotta ask why tho.

  42. Anonymous says:

    @codemastr: Do you have the Phishing Filter enabled (Tools | Internet Options | Advanced)?  There were some bugs on memory use @ codeproject.  If not, this might be one of the scrolling bugs we’re looking at.

    @Xepol: Any plugins installed?

    The Windows Firewall typically drops inbound UDP packets.

  43. Anonymous says:

    Opened that page on a tab on both IE and Firefox… and on firefox mem usage went up 3MB and on IE went almost up 200MB but went down to 5MB a little afterwards

  44. Anonymous says:

    Eric: No, the phishing filter is turned off. Also, even before I scroll at all, IE jumps in PF usage by about 200MB. Scrolling definitely increases the usage, but it doesn’t seem to be the root cause.

  45. MartinB says:

    I really need this fixed, I have developed a captcha system for this forum software which works perfectly in IE6, Firefox, Opera and Netscape. IE7 will not display the image, is there any work around for this?

  46. Anonymous says:

    Guys, the only way to find an error is if something breaks–accepting buggy code will only increase the amount of buggy code.

    I don’t depend on buttons to do anything more than submit forms or call JavaScript functions, but it seems reasonable to expect that things should work the same way between browsers.  At the very least, make it work correctly in strict mode.  That’s what it’s there for.

  47. Xepol says:

    @EricLaw – as stated in a previous message, the listening UDP port appears even when I start IE in the "no addons" mode.  The only thing that might distinguish my system from an every day system is that I have Visual Studio 2005 installed.  I considered the possibility that the port is involved in debugged, but I would have expected that to be by way of a plugin which would be disabled with "no addons" mode.

    Again, I am using SysInternal’s Process Explorer to view tcp/ip connections.

  48. Anonymous says:

    Please, as a web developer I can forgive caching not always being perfect because I can design my pages to be light and fast.

    I implore you – fix the many serious HTML+CSS rendering bugs. Seventy (70) bugs are listed on this page:

    http://www.quirksmode.org/bugreports/archives/explorer_7_beta_2/index.html

  49. MartinB says:

    I got it working with the help of Fiddler but it’s a bodge.

    The image source is this line in my code:

    <base href="$images/">

    $images is "/blahdocs/images" which is used throughout the code.  This is recognised by all browser bar IE7.

    I tried changing the $images path to the full url but no joy, I had to put the images in the same folder as the script to get the script to get it to work with IE7. Not a good place to have to install images to.

    Is this another bug????

  50. Anonymous says:

    @ Xepol

    *All* UDP ports are "waiting for incoming unsolicited datagrams". PERIOD. In this case its only for local machine IPC.

    @ Eric

    I have replicated his report and this udp port is bound to 127.0.0.1, occurs by default (never mind no add-on mode), but I cannot tell if it has a proper ACL. This looks a-okay in my book.

  51. Mike Dimmick says:

    Process Explorer’s ‘Stack at time of opening port’ feature says:

    WS2_32.dll!bind+0x50

    WININET.dll!InternetSetStatusCallbackA+0x2b6

    WININET.dll!FindCloseUrlCache+0xa34

    WININET.dll!InternetSetStatusCallbackA+0x1d9

    kernel32.dll!BaseThreadStart+0x37

    Snapped from IE 7.0.5346.5 (XP SP2).

    If it is to do with interprocess communication it should be using a proper mechanism such as COM or RPC, *not* arbitrary sockets that can be exploited by any other application.

  52. Anonymous says:

    @Codemastr: You may have only the webservice check turned off. Make sure the setting is at "Disable phishing filter".  This resolves the problem for me.

    @MartinB: You can fix this problem by not sending the post-check=0 directive.  But from your later post, it sounds like you have a misplaced BASE tag.  The BASE tag must be in the HEAD tag of your page, or it’s ignored.  This is per the HTML RFC and it’s by-design.

    @Mike Dimmick: What sort of exploit do you foresee?  With Protected Mode, injecting code into IE is like breaking into jail.  On XP, why bother breaking into IE when you’re already running with the same privileges?

  53. Anonymous says:

    @EricLaw

    in that argument about the button element, you guys dont have a leg to stand on.  it is a bug, it is broken, and it needs to be fixed.

    ne1 that is using this buggy behavior and expects it to continue needs their head examined.

    IE has conditional comments, to make sure that coders can work around all their bugs.   fix the bug for buttons, and anyone that doesnt want to fix there code can put a condition in for LT iE6 and then code properly from here to infinity and beyond (tm Disney/Pixar)

    if you dont fix this bug, then you are proooving to the comunity of, how dos balmer put it?!?! dEVELOPERS, dVELOPERS,D-Velopers!!!

    that you dont actually care about web standards, you only care about web dominance (which, you have lost for good with this hole sharade]

    fix the bug, and whatever you thougth about doing wtih the cache here in this thread.  you thougth you wood make a much better system by hacking, and as you can see by da comments, no one wants your hacks. Stick with teh standards, or drop out of the game please.

    Rex Vanlewt

    as noted many times,

    the scaling in IE7, with

    zoom set to a mere 200% looks like

    utter garbage.  if you can’t do it

    right don’t do it.

  54. ricochet says:

    Hi!

    That was a very well written article, and explained the problem from the basics in a very understandeable manner. Kudos!

    However, I feel that the approach to solving a problem like this is to ask people to correct their mis-understanding of the "standard"; instead of changing the "standard". This kind of a model you are trying to follow is not sustainable. Tell others that they have misunderstood, and they will quickly fix they bug in their code when thinks start breaking. You might also want to pop-up a message, saying recvd post/pre times as zero. ‘Reverting to "blah-blah" mode; please fix the bug on the site!’ to make things more explicit.

    Regards

  55. Anonymous says:

    "Tell others that they have misunderstood, and they will quickly fix they bug in their code when thinks start breaking."

    If only the real world worked like this…

  56. Anonymous says:

    @Rex

    I sense a growing form of frustration. However, if you’re going to vent, it would be nice to have proper grammar and spelling.

    @IETeam

    For once I actually agree with the community: don’t destroy a standard to make something work. In the long run, it would probably behoove you to upgrade to the standard instead of down-playing for the broken sites.

    The zoom has worked fine for me, though it could use a bit of improvement when it comes to centered content not centering.

    Otherwise, keep up the good work!

  57. PatriotB says:

    Charis… where did you hear August from?  I don’t think a date for beta 3 has been set yet…

  58. Anonymous says:

    Does this in any way affect how data from POST is going to be processed?

  59. Anonymous says:

    > This "bug" (hmm, or it was a "right-understanding-of-misuderstanded-feature"? πŸ˜‰ is VERY annoying and can break too many PHP-based things…

    Actually, PHP doesn’t do this at all (the poster is incorrect.)  Rather, phpBB is sending these headers – which is somewhat popular practice.

    If you have PHP code, you shouldn’t have to worry about it; most other PHP scripts don’t send these headers.  They would have to be explicitly set by the developer.

    Thanks,

    -[Unknown]

  60. Anonymous says:

    @HTMLHelper: No, IE7 sends POST data in the same way that IE6 does.  We don’t plan any changes here.

    @UnknownW.Brackets: Nearly every PHP-based site I’ve encountered sends these headers.  

    Grep’ing the PHPBB code for "-check" and removing all instances of this still doesn’t prevent these headers from being sent, leading to my assertion that this must be a part of the base framework.

  61. Anonymous says:

    @Eric: "The IE7 Beta 2 behavior change was pretty trivial, and simply swapped the Post-Check value and the Pre-Check value if the developer had specified them backwards (we had seen this mistake β€œin the wild” a few times)."

    This kind of "fix" is counterproductive and will lead to even more confusion. Please inform the Web masters of these sites instead of making guesses about their malformed HTTP headers.

  62. Anonymous says:

    "This kind of "fix" is counterproductive and will lead to even more confusion. Please inform the Web masters of these sites instead of making guesses about their malformed HTTP headers. "

    YEA, What he said!

    jorgie

  63. Anonymous says:

    Ok, this will be a bit picky, but can you not post screenshots as jpegs? That image is atrocious! even gif would be better.

    Heck, why not show off your new PNG capabilities.

    There is a standard rule with images… if your image contains text (e.g. screenshots), DO NOT use JPEG.  It will look like crud.

    SG

  64. PatriotB says:

    Silly gripe — the image looks to be the same as is posted on MSDN, so my guess is that the file format was dictated by the MSDN folks back when the article was published.

  65. Anonymous says:

    Yup, sorry about the image; this is the image we had handy from the old documentation.  We’ve got plenty of other things keeping us busy.  πŸ™‚

  66. Anonymous says:

    Myself and a co-worker have called IE7 support on  2 seperate issues, this being one of them.  In both cases, we found that no one on the other end of the phone wanted anything to do with logging a bug on this issue.  Then I tried to submit the bug on line, I could not figure out how to do it.  It is time that you guys make it easy to report a bug, it is time the helpdesk staff actually knows how to log a bug.  

  67. Anonymous says:

    Soon might be the updated version would be released with changes updated hopefully with the bugs rectified,