News for hackers. Stuff that matters.
Re:The feature supported in IE6, but not Chrome by rejment on Thursday August 23, 2012 @08:25AM (#4421957)
Not true. If you specify the Content-Encoding headers, Chrome and Firefox decode and display the images properly.
Re:The feature supported in IE6, but not Chrome by samuellb on Thursday August 23, 2012 @08:34AM (#4421989)
Doesn't this mean that IE is doing content-type sniffing?
Re:The feature supported in IE6, but not Chrome by rejment on Thursday August 23, 2012 @08:36AM (#4421999)
Yes it does. It always has done.
Re:The feature supported in IE6, but not Chrome by davecardwell on Thursday August 23, 2012 @11:48AM (#4423001)
Yes. You can explicitly turn off this behaviour by sending a “X-Content-Type-Options: nosniff” header for IE8+.

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Comm...

Re:The feature supported in IE6, but not Chrome by thomseddon on Thursday August 23, 2012 @08:43AM (#4422015)
http://www.thestudentcloud.co.uk/hn/test.php doesn't work for me in Chrome 21, but does in Opera 11?

Source:

<?php

header('Content-Encoding: gzip');

header('Content-Type: image/jpeg');

$fin = fopen('test.jpg', "rb");

$fout = fopen('php://output', "w");

$gzipFilter = stream_filter_append($fout, 'zlib.deflate', STREAM_FILTER_WRITE, array('level' => 6, 'window' => 15, 'memory' => 9));

stream_copy_to_stream($fin, $fout);

stream_filter_remove($gzipFilter);

fclose($fin);

fclose($fout);

Re:The feature supported in IE6, but not Chrome by pilif on Thursday August 23, 2012 @08:53AM (#4422070)
Content-Encoding: gzip implies a gz header. zlib.deflate just deflates and emits headerless data. Because creating a valid header requires the length of the content to be known, there's no stream filter in PHP to create a gz header.

To see Chrome decode your test image, use gzencode() or set Content-Encoding to deflate.

Re:The feature supported in IE6, but not Chrome by thomseddon on Thursday August 23, 2012 @08:59AM (#4422091)
Right you are! Thanks alot.

http://www.thestudentcloud.co.uk/hn/test2.php

<?php

header('Content-Encoding: gzip');

header('Content-Type: image/jpeg');

$data = file_get_contents('test.jpg');

$gzdata = gzencode($data, 9);

$fout = fopen('php://output', "w");

fwrite($fout, $gzdata);

fclose($fout);