Http服务器如何在HTTP response中传送二进制图片

简介: 要想知道如何传送这些二进制,先来点二进制文件的背景知识    —文件魔数 magic number: 操作系统的文件,其起始的几个字节的内容是固定的。

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

 

 —文件魔数 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的图片内容就这样存到了本地浏览器缓存,并由浏览器使用。

目录
相关文章
|
1月前
|
搜索推荐 安全 网络安全
服务器支持HTTPS的时机和条件
【10月更文挑战第23天】服务器支持HTTPS的时机和条件
19 5
|
2月前
使用Netty实现文件传输的HTTP服务器和客户端
本文通过详细的代码示例,展示了如何使用Netty框架实现一个文件传输的HTTP服务器和客户端,包括服务端的文件处理和客户端的文件请求与接收。
61 1
使用Netty实现文件传输的HTTP服务器和客户端
|
1月前
|
存储 Oracle 关系型数据库
oracle服务器存储过程中调用http
通过配置权限、创建和调用存储过程,您可以在Oracle数据库中使用UTL_HTTP包发起HTTP请求。这使得Oracle存储过程可以与外部HTTP服务进行交互,从而实现更复杂的数据处理和集成。在实际应用中,根据具体需求调整请求类型和错误处理逻辑,以确保系统的稳定性和可靠性。
49 0
|
3月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
164 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
3月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
33 1
|
3月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
2月前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
195 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
6月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
2月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
110 4
|
3月前
|
安全 网络协议 网络安全
在实现HTTPS时,有哪些常见的安全协议
在实现HTTPS时,有哪些常见的安全协议
142 1