On Thu, Aug 28, 2008 at 10:37:04AM -0700, david@xxxxxxx wrote: > On Thu, 28 Aug 2008, Shawn O. Pearce wrote: > >> david@xxxxxxx wrote: >>> On Thu, 28 Aug 2008, Shawn O. Pearce wrote: >>>>> "Shawn O. Pearce" <spearce@xxxxxxxxxxx> writes: >>>> >>>> Yes, I really did mean for this part of the protocol to be in binary. >>> >>> except that HTTP cannot transport binary data, if you feed it binary data >>> it then encodes it into 7-bit safe forms for transport. >> >> So then how does it transport a GIF file to my browser? uuencoded? > > something like that. it uses the mimetype mechanisms to identify the > various pieces and encodes each piece (if nothing else it needs to make > sure that the mimetype seperators don't appear in the data) uuencode is > one of the available mechanisms. > >> Last time I read the RFCs I was pretty certain HTTP is 8-bit clean >> in both directions. > > I could be wrong, but I'm pretty sure I'm not. to test this yourself find > a webserver with an image file and retrieve it via telnet (telnet > hostname 80<enter>GET /path/to/file HTTP/1.0<enter><enter>) and what will > come back will be text. No it won't. Try it *yourself*. $ nc www.google.com 80 | sed '1,/^\r$/d' > /tmp/logo.gif GET /intl/en_ALL/images/logo.gif HTTP/1.1 Host: www.google.com Connection: close $ file /tmp/logo.gif /tmp/logo.gif: GIF image data, version 89a, 276 x 110 Mike PS: sed only removes the HTTP response headers. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html