InfoQ

News

Internet Explorer increases cookie limit to 50

Posted by Gavin Terrill on Sep 03, 2007 01:46 PM

Community
Architecture
Topics
Javascript,
Security
Tags
Firefox,
Internet Explorer
Microsoft has released an update to Internet Explorer that increases the number of cookies allowed per domain from 20 to 50, equivalent to FireFox. Eric Lawrence, Program Manager at Microsoft and the man behind the Fiddler HTTP debugging proxy, wrote about the release:
In the past, IE’s cookie jar stored a maximum of 20 cookies per domain. If more than 20 cookies were sent by the server, older cookies were automatically dropped by the browser. The dropped cookies could lead to lost website settings, an empty web shopping basket, or similar problems.
The 20 cookie limit dates back to the original Netscape preliminary specification: Client Side State - HTTP Cookies. While an increase to 50 cookies for Internet Explorer may sound like an improvement, there are significant performance implications when you take into account the increased request size and slower upload speeds:
Unfortunately, cookies can dramatically impact the size of HTTP requests, slowing down the user’s browsing experience significantly.  Many of today’s web users have connections with asymmetrical bandwidth, having download speeds 2 to 5 times faster than their upload speeds.  This means that in some cases, HTTP request size is a more important factor than the size of the server’s response in determining overall transfer time.
Eric offers three strategies to deal with these implications:
  1. minimize the size of your cookies - for example by using shorter variable names.
  2. deliver static content from a different domain - so that the cookies are not sent in the request.
  3. minimize the size of your cookies - where you limit cookies based on path:
    The last strategy is similar to the second, except that you can undertake it with just one domain.  If you can keep all of your pages that need access to cookies within a single path (e.g. http://example.com/webapp/) you can use the Path attribute on the cookie to specify that the cookie should only be sent for requests within that path. This will ensure that requests sent outside of that path (e.g. http://example.com/images/) are not forced to carry unneeded cookies.
Eric also suggests restricting cookie access from client side scripts to help mitigate Cross Site Scripting attacks:
If your cookies are only used by your server, and your scripts don’t require access to your cookies, use the HttpOnly attribute to help protect your site against cookie theft via cross-site scripting attacks
The HttpOnly attribute was introduced in Internet Explorer 6 SP1. It will also be supported in Firefox 3, and is available as a FireFox Add-On now.

5 comments

Reply

  1. Back to top

    Nice Article

    Dec 24, 2007 3:45 AM by Genckolik Karahan

    Thanks Job, This is very nice article, http://www.genckolik.net

  2. Back to top

    nice

    Dec 27, 2007 12:59 PM by xfiles keyfici

  3. Back to top

    Internet Explorer increases cookie limit to 50

    Feb 13, 2008 10:48 PM by ilkay cevik

    These cookices are leading sometimes very big problem. For example: joomla cb login problem. Thanks from: Overcoming Stress
    Depression Medication
    Mortgage Refinancing
    Mortgage Calculator


  4. Back to top

    ie

    Feb 25, 2008 6:06 PM by admiral alican

    whatever ie does i don't think they ll be good or better than firefox vizyon filmleri

  5. Back to top

    Re: good

    Jun 3, 2008 11:32 AM by ilkay cevik

    I've been working with selenium since last year and it´s great for web test. It´s true that ajax have been a problem for selenium but the extensibility allows anything. The posibility of implemet new commands have allowed me, and my company, to solve the problems implementing personalized comands. Selenium: It works... and if it doesn´t you could make it work! Thanks from:

    Las Vegas Entertainment

    Stress Management

    Best Web Hosting

Exclusive Content

Rationalizing the Presentation Tier

Thin client paradigm characterized by web applications is a kludge that needs to be repudiated. Old compromises are no longer needed and it's time to move the presentation tier to where it belongs.

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.