免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 15383 | 回复: 30
打印 上一主题 下一主题

[其他] HTTP协议返回图片时的疑问 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-27 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-06 13:32 |只看该作者 |倒序浏览
比如 如下URL是个图片请求,
http://123.125.87.77/softfile.3g ... p;f=178a&p=.png
图片为:

但发现用chrome查看网络请求后, preview和response都是可显示文本,如图:



问题:图片是二进制流 肯定有不可显字符吧。但response里都是可显示的字符
我想是不是经过加密或者压缩了?
然后浏览器看到服务端的响应头中有
所以浏览器对这段字符解释为图片并在网页展现?

不知道这样理解对么,希望清楚的cuer帮忙解惑

QQ图片20131206133058.jpg (24.44 KB, 下载次数: 107)

QQ图片20131206133058.jpg

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
2 [报告]
发表于 2013-12-06 13:38 |只看该作者
为知伙在问啥~

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
3 [报告]
发表于 2013-12-06 13:38 |只看该作者
不知你在问啥~

论坛徽章:
7
摩羯座
日期:2013-12-05 10:42:57辰龙
日期:2013-12-27 13:40:49亥猪
日期:2014-01-15 09:10:37天秤座
日期:2014-01-20 11:22:20辰龙
日期:2014-01-26 17:02:25午马
日期:2014-01-27 14:22:34水瓶座
日期:2014-02-19 09:36:40
4 [报告]
发表于 2013-12-06 13:42 |只看该作者
这只是http中一个get请求,有啥疑问?!

论坛徽章:
0
5 [报告]
发表于 2013-12-06 13:44 |只看该作者
关键字 img src base64

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-27 06:20:00
6 [报告]
发表于 2013-12-06 13:55 |只看该作者
回复 5# blue_guy


    多谢

    是指返回图片格式时,HTTP默认以base64对图片的二进制流进行加密么?

   下面是请求和响应,未发现Base64的字样


Request URL:http://123.125.87.77/softfile.3g ... p;f=178a&p=.png
Request Method:GET
Status Code:304 Not Modified
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8,en;q=0.6
Cache-Control:max-age=0
Host:123.125.87.77
If-Modified-Since:Thu, 31 Jan 2013 11:42:12 GMT
Proxy-Connection:keep-alive
Referer:http://bbs.chinaunix.net/forum.p ... =4114440&extra=
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
Query String Parametersview sourceview URL encoded
mkey:52a1641544aca1c8
f:178a
p:.png
Response Headersview source
Cache-Control:max-age=0
Content-Length:0
Content-Type:image/png
Date:Fri, 06 Dec 2013 05:51:51 GMT
Server:3Gdown_DK
Via:1.1 BJ-SQUIDWEB-96:8080 (squid/2.7.STABLE6)
X-Cache:MISS from BJ-SQUIDWEB-96
X-Cache-Lookup:MISS from BJ-SQUIDWEB-96:8080

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-27 06:20:00
7 [报告]
发表于 2013-12-06 13:58 |只看该作者
回复 5# blue_guy


    多谢bule,根据你的关键字,我解惑了~

   为什么要用到BASE64编码的图片信息
    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。最常见的用途是作为电子邮件或WebService附件的传输编码.

http://staratsky.iteye.com/blog/314651

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-27 06:20:00
8 [报告]
发表于 2013-12-06 15:22 |只看该作者
追问下:
http://123.125.87.77/softfile.3g.qq.com/msoft/sec/dp/2.png
这个请求的响应体是一串base64编码,并且响应头如下:
Cache-Control:max-age=0
Content-Length:0
Content-Type:image/png
Date:Fri, 06 Dec 2013 05:51:51 GMT
Server:3Gdown_DK
Via:1.1 BJ-SQUIDWEB-96:8080 (squid/2.7.STABLE6)
X-Cache:MISS from BJ-SQUIDWEB-96
X-Cache-Lookup:MISS from BJ-SQUIDWEB-96:8080

浏览器收到该响应头后,只知道收到的是一张图片,但是浏览器怎么知道应该先用base64把收到的数据先解密一下呢?

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
9 [报告]
发表于 2013-12-06 15:37 |只看该作者
回复 8# glq2000


    我理解的是渲染引擎做的这部分工作

    在解析HTML的标签也就是img的时候可以知道这是图片的数据,可能因为编码不同再做别的匹配,最后把收到的数据重新转成图片,并显示

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-27 06:20:00
10 [报告]
发表于 2013-12-06 15:39 |只看该作者
有没有可能这是RFC的规定,只要HTTP发送的服务器传送来的图片,一定是base64加密的,然后浏览器只要默认按照base64解密即可?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP