Thought I'd do a code-free post with a fun tale from Chris Launey, who works in web operations at a large media/entertainment company. While helping the engineers troubleshoot a problem with Cingular devices being unable to visit WAP sites, they discovered that their load balancer would ignore HTTP requests with more than 2000 bytes in the request header. It was fairly trivial to change the upper limit, but they were all a bit mystified at why a mobile phone would send such huge request headers ...

Were they uu-encoding a picture the user took with the phone and storing it in a cookie? Are they padding requests because they charge by the kilobyte? Turns out there were eighteen different request headers. Including this ...

Accept: text/css, application/vnd.wap.wmlscriptc, application/vnd.wap.wbxml, application/x-wap-prov.browser-settings, application/x-nokia.settings, application/vnd.wap.sic, application/vnd.wap.slc, text/x-vCard, text/x-vCalendar, application/vnd.wap.wtls-ca-certificate, application/vnd.wap.hashed-certificate, application/vnd.wap.signed-certificate, application/vnd.wap.cert-response, application/x-wap-prov.browser-bookmarks, text/html, application/vnd.wap.wmlc, application/xhtml+xml, application/vnd.wap.xhtml+xml, text/x-co-desc, application/vnd.oma.drm.message, image/gif, image/jpeg, image/jpg, image/bmp, image/png, image/vnd.wap.wbmp, image/vnd.nok-wallpaper, audio/midi, audio/mid, audio/x-midi, audio/x-mid, audio/sp-midi, application/vnd.nokia.ringing-tone, image/vnd-nok-camera-snap, image/vnd-nok-camera-snsp, text/vnd.sun.j2me.app-descriptor, application/java, image/vnd.nok-oplogo-color, application/java-archive, application/x-java-archive, application/vnd.wap.mms-message, application/vnd.wap.sic,application/vnd.wap.slc,application/vnd.wap.mms-message,application/vnd.wv.csp.cir, image/bmp,image/vnd.wap.wbmp,application/x-nokia.settings-xml,text/x-wap.wml,text/vnd.wap.wml,text/x-hdml,text/html,text/vnd.wap.wmlscript,text/vnd.wap.si,text/vnd.wap.sl, */*

Yes, that's right. Accept every single MIME type in the world. And then accept */*.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!