今天去面试 面试官问我http怎么传图片的,我说二进制流 但他说图片是通过base64编码后传的 我只是知道这种方法也可行 当时我也不好得跟他争辩 回来后我抓包分析后 觉得他说的有问题 有懂的兄弟给说说啊 是我弄错来还是面试官搞错了 HTTP/1.1 200 OK 0000 47 49 46 38 39 61 0f 00 11 00 91 00 00 ff ff ff GIF89a………. |
|
传图片?是上传文件?
|
|
傻子面试官!
绝对是二进制/字节传输! 他所谓的要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的工作原理。应用层协议、传输层协议、虾米的,多看看把。。。。。 |