Code Bye

http如何传输图片

 

今天去面试 面试官问我http怎么传图片的,我说二进制流  但他说图片是通过base64编码后传的 我只是知道这种方法也可行 当时我也不好得跟他争辩 回来后我抓包分析后 觉得他说的有问题 有懂的兄弟给说说啊 是我弄错来还是面试官搞错了
下面是我用抓包软件得到的。

HTTP/1.1 200 OK
Content-Type: image/gif
ETag: “3148797439”
Accept-Ranges: bytes
Last-Modified: Sun, 15 Aug 2010 16:00:00 GMT
Expires: Mon, 06 Mar 2023 13:08:45 GMT
Cache-Control: max-age=311040000
Content-Length: 91
Date: Sat, 27 Apr 2013 13:08:45 GMT
Server: BWS/1.0

0000   47 49 46 38 39 61 0f 00 11 00 91 00 00 ff ff ff  GIF89a……….
0010   db db db b6 b6 b6 00 00 00 2c 00 00 00 00 0f 00  ………,……
0020   11 00 00 02 34 84 8f a9 c2 7a 0c 61 58 31 a6 0a  ….4….z.aX1..
0030   b0 61 01 66 5d 09 9f 95 05 e6 89 36 19 70 1a a9  .a.f]……6.p..
0040   38 8a 9e e7 72 16 bd 4d 1d 57 22 fb 2e d8 51 42  8…r..M.W”…QB
0050   30 1f d1 b1 21 21 47 8a 02 00 3b                 0…!!G…; 

传图片?是上传文件?
傻子面试官!
绝对是二进制/字节传输!
他所谓的要Base64编码是只是用特定场合下!比如email/web service/xml
显然他很白痴!
具体见HTTP RFC文档第七章Entity
HTTP标准Entity头定义:
Entity-header fields define metainformation about the entity-body。
entity-header = Allow 
| Content-Encoding 
| Content-Language 
| Content-Length 
| Content-Location 
| Content-MD5 
| Content-Range 
| Content-Type 
| Expires 
| Last-Modified 
| extension-header
引用 2 楼 jia20003 的回复:

傻子面试官!
绝对是二进制/字节传输!
他所谓的要Base64编码是只是用特定场合下!比如email/web service/xml
显然他很白痴!
具体见HTTP RFC文档第七章Entity
HTTP标准Entity头定义:
Entity-header fields define metainformation about the entity-body。
entity-header = Allow 
| Content-Encoding 
| Content-Language 
| Content-Length 
| Content-Location 
| Content-MD5 
| Content-Range 
| Content-Type 
| Expires 
| Last-Modified 
| extension-header

高手,都忘了查这个了。

引用 2 楼 jia20003 的回复:

傻子面试官!
绝对是二进制/字节传输!
他所谓的要Base64编码是只是用特定场合下!比如email/web service/xml
显然他很白痴!
具体见HTTP RFC文档第七章Entity
HTTP标准Entity头定义:
Entity-header fields define metainformation about the entity-body。
entity-header = Allow 
| Content-Encoding 
| Content-Language 
| Content-Length 
| Content-Location 
| Content-MD5 
| Content-Range 
| Content-Type 
| Expires 
| Last-Modified 
| extension-header

二楼真乃神人也

不过我看了下rfc,也没具体说到二进制,只是我抓包判断以及平时post数据拼接都是二进制的 

15分
根本就是字节传输

5分
http怎么传图片的

说的是上传吗?上传的那就是二进制流。

如果是自定义的webservice,可以自己base64编码为合法字符串再传输

tcp、ip协议栈这个网络模型是分层结构。物理层、传输层、网络层、应用层
传输层跑的 全都是二进制流
网络层跑的 是路由交换协议

http传输图片、或者文件的时候,一般都会进行压缩,gzip/trunked/base64.   这个可以看抓包http200 ok 中  encode-type字段。。。

另外,我虽然不是面试官,但我明白了面试官问的东西,就是问:   http的工作原理。应用层协议、传输层协议、虾米的,多看看把。。。。。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明http如何传输图片