博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Http服务器如何在HTTP response中传送二进制图片
阅读量:6624 次
发布时间:2019-06-25

本文共 661 字,大约阅读时间需要 2 分钟。

要想知道如何传送这些二进制先来点二进制文件的背景知识

 

 文件魔数 magic number

操作系统的文件其起始的几个字节的内容是固定的。根据这几个字节的内容就可以确定文件类型因此这几个字节的内容被称为魔数 (magic number) 对于GIF,JPG这种二进制跨系统都是支持的linux/Windows,对于.exe .bin这类操作系统相关的就不一样了。

 

如何查看 用UltraEdit直接以二进制方式打开这些文件。

常见魔数

JPEG (jpg)文件头FFD8FF 

PNG (png)文件头89504E47 

GIF (gif)文件头47494638

ZIP Archive (zip)文件头504B0304

 Java Class   文件头CAFEBABE

 

 我们使用Fiddler截获浏览器的HTTP响应可以看到请求的是一个PNG图片

GET /**/bg-header.png

为了方便查看将响应头调成16进制模式。

 绿色的字都是标准的HTTP响应头response head然后根据HTTP/1.1标准响应头之后跟上0D0A, 0D0A

这个就是系统的换行符 是windows标准的\r\n响应头跟image的实际二进制数据间有一个空行然后跟上实际的数据可以看到蓝色里圈住的文件魔数是89504E47正是PNG的文件头。为了验证这个二进制的有效性用工具提供的更能save bytes将二进制内容存储到本地

 

 可以看到本地文件正是这样保存的一个图片。这样一个http的图片内容就这样存到了本地浏览器缓存并由浏览器使用。

转载地址:http://abxpo.baihongyu.com/

你可能感兴趣的文章
Python中通过Image的open之后,去show结果打不开bmp图片,无法正常显示图片
查看>>
DNGuard 免费的DotNet加密保护工具 V1.0
查看>>
编程中的命名设计
查看>>
easyui form validate总是返回false原因
查看>>
在(CListView)列表视图中添加右键菜单的方法
查看>>
自定义服务器控件(处理不同的浏览器)
查看>>
解决IE6-IE7下li上下间距
查看>>
配置级别greenplum 可用空间计算
查看>>
聚集索引更新后会不会马上重新排序
查看>>
幸运大抽奖
查看>>
Post请求
查看>>
labview 中activex的初步使用方法
查看>>
JSP与JavaBeans
查看>>
解决Android中TextView首行缩进的问题
查看>>
oracle 查询哪些表分区
查看>>
Java排序算法(三):直接插入排序
查看>>
Python 列表 min() 方法
查看>>
C语言中 Float 数据结构的存储计算
查看>>
HSF源码阅读
查看>>
【死磕jeesite源码】Jeesite配置定时任务
查看>>