The PNG Guide is an eBook based on Greg Roelofs' book, originally published by O'Reilly.



Internet Information Server

Microsoft's Internet Information Server (IIS) marches to its own drummer. Available as part of Windows NT Server (http://www.microsoft.com/ntserver/web), IIS uses the Windows registry in lieu of the traditional text-based configuration file for media (MIME) types. This part of the registry can be modified via Explorer to add the image/png type as follows; type the text printed in italic:

  1. Open Windows Explorer (Start button → ProgramsWindows Explorer).

  2. Select ViewOptions.

  3. Click on the File Types tab.

  4. Click on the New Type... button.

  5. Enter the following information:

    • Description of type: Portable Network Graphics image

    • Associated extension: .png

    • Content Type (MIME): image/png

  6. Click on the New... button.

  7. Enter the following information:

    • Action: Open.

    • Application used to perform action: your full path to an image viewer.

    • Uncheck Confirm open after download box.

  8. Click on the OK button.

  9. Click on the Close button.

  10. Click on the Close button.

Since this setup takes place on the server itself, the application associated with the media type is not particularly important; it merely enables someone sitting at the server console to double-click on a PNG image to view it. The app can be any PNG-aware image viewer, including Netscape Navigator, but (as I noted before) not Microsoft's own Internet Explorer 4.0.

Setting up the media type is all that is required for basic, standards-compliant operation, but due to a bug that appears to exist in all PNG-supporting versions of Netscape's browser prior to 4.51 (and also due to particularly strict syntax checking on the part of Microsoft's server), IIS by default will refuse to serve PNG images to versions of Navigator up through 4.5. Instead, it returns an error (``HTTP/1.1 406 No acceptable objects were found,'' similar to the ``404 Not found'' error that is familiar to many web surfers), which Navigator renders as its broken-image icon. The cause is apparently a broken header that Netscape clients send as part of their HTTP content negotiation with the server:

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg image/png

Note the missing comma after image/pjpeg. Because of this error, IIS does not recognize that image/png is an acceptable media type, and it therefore returns an error message instead of the image.

Reportedly, there is some form of workaround that involves tweaking the IIS-related parts of the Windows registry on the server, but as of early 1999, no one has yet come forth with the magic information. Semi-informed guesses include the possibilities of relaxing the strict HTTP syntax checking or of turning off content negotiation altogether, but it is not known whether either of these options actually exists in the server.[17]

[17] Another possibility (albeit a truly ugly and brutal one) is to forego the setup of the image/png media type that was described before--or, if the type already exists, eliminate it. Instead, register the .png file extension as belonging to another image type, such as image/gif or image/jpeg. But not only is this likely to break other browsers, it may not even fix the problem with Navigator; I mention it only as a last resort for desperate site administrators.




Last Update: 2010-Nov-26