23 december, 2010

God Jul och Gott nytt år!

Kvällsbild på Hammarbybacken i Stockholm

Jag tar lite efterlängtad ledighet under jul och nyår och vill passa på att önska alla god jul och ett gott nytt 2011!

19 december, 2010

RSS autodiscovery

Välkänd symbol

Hur vet webbläsarna att det finns ett RSS-feed på din sajt? Jo, det visar sig vara ganska enkelt, lägg till följade HTML i <head> taggen på din sida.

<link rel="alternate" type="application/atom+xml" title="Atom-feed" href="<URL TILL ATOM-FEED>" />
<link rel="alternate" type="application/rss+xml" title="RSS-feed" href="<URL TILL RSS-FEED>" />
Då kan browsern (eller RSS-läsare) enkelt hitta URL'erna till dina feeds.

01 december, 2010

Content-Disposition HTTP-header och Internet Explorer

Skurken i dramat

Ett sätt att tvinga fram "Save as"-dialogen i en webbläsare (för att ladda ner en fil) är att använda Content-Disposition HTTP-headern med "attachment" som värde. Det ser ut såhär:

Content-Disposition: attachment; filename="Filnamn.pdf"

Detta använder vi i det projekt jag jobbar i för tillfället, men igår upptäckte vi att det inte fungerar i IE8. Efter en stunds efterforskning hittade jag denna buggrapport hos Microsoft. Det intressanta i buggrapporten är "This issue occurs if the server sends a "Cache-control:no-store" header or sends a "Cache-control:no-cache" header.". Dessa cache-kontroll headers tillsammans med HTTPS är tydligen ingen bra kombination för Internet Explorer.

I vårt fall sattes headern Cache-Control: no-cache vilket orsakade vårt problem. När denna togs bort fungerade det prima i både IE8 och Firefox. Efter förändringarna ser HTTP-response-headers ut enligt följande:

Cache-Control: max-age=3600
Date: Wed, 01 Dec 2010 12:52:23 GMT
Transfer-Encoding: chunked
Content-Length: 34121
Content-Type: application/pdf
Expires: Wed, 01 Dec 2010 13:52:23 GMT
Last-Modified: Wed, 01 Dec 2010 12:52:23 GMT
Content-Disposition: attachment; filename="Filnamn.pdf"
X-Powered-By: Servlet/2.5 JSP/2.1