????? ??????????(????)
????????????????????CGI?????????????????????y?^?????????????MIME?????????????????
??????image.cgi????????GIF?????????????????????
#!/usr/bin/perl
$file = '/usr/local/etc/httpd/htdocs/images/picture.gif';
print "Content-Type: image/gif\n\n";
open(GIF,"<$file") || die "Can't open GIF\n";
while (read(GIF,$buffer,16384)) {
print $buffer;
}
image.cgi???????MIME????(Content-Type)??????????????????????????$file??????Content-Type??????????????????????????????
?????????CGI??????????????????????SSI??????????????<img>????????
<img src="/cgi-bin/image.cgi">
???????picture.gif??????????????????image.cgi????????????????????????????????
<img src="/images/picture.gif">
?????image.cgi?????????????????????????????????????????????r?????????????????????????????????????????????
?????????????????<img>??????????????????????????????HTML??SSI??????????????????????????HTML?????????????????????
?????????????????????????????????????????????????????????????????CGI?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Thomas boutell??gd????????????GIF????????????????????http://www.boutell.com/gd?????????????C?????????????Perl????gd.pm????????gd??????????????tgd??fly??????????????gd?????
????????????????????????????????????????????????????????????????????????????
????GIF?????
???????????????????????GIF?????????Portable Network Graphic???(PNG)???????????????????????????????1995??1??1???Unisys?????????????????LZW?????????????????????????????????????????????????????????GIF???????????????????????????????????????????????GIF?????????CGI/WWW????????????????????????????????????????????????????GIF?????????????????????????GIF????????????????????PNG?????????????????????????????????????PNG???????????????????????GIF???????????JPEG??JPEG??????????????????????????24??48??????????????????????????????PNG??????????????????????????????GD???????????PNG???????????
????? ??
paper | appdir | ssv
ŷ