by Stian

Correct content type for JSON

When I Google around searching for any code snippets I might need for inspiration (or plain copy-paste), I see a lot of different use of MIME type for JSON in examples and existing code out there.

Examples of types found with a quick JSON google search:

application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json

You could of course argue that the reason for this is that the browsers do have a bit of history when it comes to supporting “standards”, but there is only one correct media type for JSON:

Content-Type: application/json

You can find this registered at IANA (Internet Assigned Numbers Authority), take a look here.

What about JSONP?

Since we are on the subject, you might also be wondering what the correct content type for JSONP is, because this is different. JSONP returns JavaScript and the correct usage would be

Content-Type: application/javascript

If you find this useful or in any way disagree, holla at me!

by Njål

Nedlasting av .resx filer fra IIS 7.0

En del av IIS sin innebygde sikkerhet nekter brukere å laste ned filer som normalt kjører på serveren. F.eks. så blir *.aspx prosessert på serveren, og output kommer som en html side. Noenganger kan det imidlertid være ønskelig å la brukere laste ned noen av disse filene som brukes av asp.net rammeverket – f.eks. .resx filer (som er xml språkfiler).

Dersom du legger resx filen på website’n din og prøver å åpne den i en nettleser får du en HTTP 404 feil – selv om filen faktisk ligger der.

For å få dette til å fungere i IIS 7.0 så gjør følgende:

  1. Gå inn i IIS Manager, og lag en ny Application Pool. Velg No Managed Code – som .Net Framework version. Vi vil ikke at .net rammeverket skal gjøre noe her, vi er ute etter statisk filserving.
  2. Lag en egen undermappe i websiden din der du vil plassere resx (etc) filene. Høyreklikk på mappen og velg Convert to Application. Under valget om Application Pool, så velg  resxPool (den du lagde i forrige steg).
  3. Velg resx mappen i IIS Manager, og dobbeltklikk på Mime Types i hovedvinduet.  Legg til resx mime type. Dette gjør at IIS skal serve slike filer når en browser ber om det.
  4. I teorien skal det nå fungere, men vi må i gjennom en siste sikkerhetsbarriere. IIS har nemlig noen globale instillinger som sier at den aldri skal serve .resx filer. Denne innstillingen finnes i
    C:Windowssystem32inetsvrconfigApplicationHost.config.

    Lokaliser



    og sett denne til true. (Denne filen må kopieres ut (til f.eks. skrivebordet), editeres her, og kopieres tilbake pga filtilgang)

  5. Du skal nå klare å laste ned resx filer som ligger i mappen du lagde på web serveren.