• don't shoot the messenger (unregistered) in reply to robbak

    Anonymous:
    This really should be brought to the attention of whatever consumer organizations exist in your country. In a market that charges per byte, overlong headers are at best a bug, at worst, dishonest.

    If you have, or live in a market where these phones are in use, then a well-formed letter to your consumer advocates is in order.

    I think you're missing the point of the HTTP_ACCEPT header for mobile devices. (Obviously, apart from the example in the original post, in the context I am about to provide...)

    Mobile application developers can use the mime types specific in the http_accept header as aprt of their CGI scripts to determine what kind of content to send to a device about which they may or may not know any details of its specification. Which one of many possible ring tone formats to send. Whether it can read XHTML or needs WML. Whether it can display JPGs or needs ye olden stylee .WBMP files. Whether it can use that Java game you're about to charge them a fiver for the pleasure of downloading.

    For every new shiny mobile handset with all the bells and whistles that sends a very long list of mime types that it can accept, there are handsets which send a very short list because it is all they can handle. You'd be far more peeved about forking out £2.50 for a ringtone or £5 for a java game to discover it won't work on your phone, than for paying an extra penny in the first place (even if mostly because you're not conscious of the latter [;)]) It's far from dishonest, and specifying a long list of almost everything future proofs against the adoption of .mp5 or .mp6 ringtones and .advancedxhtml or .superdooperxml in the future; when these handsets will still be around, and won't be getting patched every time there's a software update, unlike your PCs.

    Although there are arguments for it, none of what I've said stops the orignal post being a fine example of "WTF?" [8-)]

  • (cs) in reply to foxyshadis
    foxyshadis:
    Wait, wait, what's a lower quality language?


    If a news story (for example) is written in French, but translated copies are available in English, Spanish, etc., then the server should consider the French copy to be superior and the translations to have a quality proportional to the skills of the particular translator.

    So story.html, on the server side, would have q= factors of:

    French: 1
    English: 0.8
    Spanish: 0.6

    If a user has
    Accept-Language: es, en;q=0.7, fr;q=0.5

    then the server should, for this request, multiply the q= values on the client and the server:

    French: 1 * 0.5 = 0.5
    English: 0.8 * 0.7 = 0.56
    Spanish: 0.6 * 1.0 = 0.6

    So in this case the Spanish version of the article should be served.  Although it is the most poorly translated version, the transation is not so poor as the user's understanding of French.
  • TOMASAS (unregistered)
    Alex Papadimoulis:

    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 ...

    <FONT face="courier new" size=2>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, */*</FONT>

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

  • Catherine (unregistered)
    Alex Papadimoulis:

    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 ...

    <font face="courier new" size="2">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, */*</font>

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

  • Qwiani (unregistered)
    Alex Papadimoulis:

    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 ...

    <font face="courier new" size="2">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, */*</font>

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

Leave a comment on “Mobile Inflation”

Log In or post as a guest

Replying to comment #:

« Return to Article