Javascript 替换Base64-http/https通信8位是否干净?

Javascript 替换Base64-http/https通信8位是否干净?,javascript,base64,Javascript,Base64,这里是什么意思的概述 在web应用程序的上下文中,为什么图像保存为Base64?与8位清理相关的开销为33% 如果传输方法是安全的,则不需要这样做 但基本上,我的图像保存在服务器上的Base64中,并传输到客户端,众所周知,客户端可以读取Base64 下面是SO文章中Base64的客户端版本 http/https 8位是否干净 参考文献 s摘要声明: HTTP的一个特性是数据表示的类型化和协商,允许独立于传输的数据构建系统 HTTP总是以纯文本标题开始,并且在此标题中指定内容类型。 只要发送

这里是什么意思的概述

在web应用程序的上下文中,为什么图像保存为Base64?与8位清理相关的开销为33%

如果传输方法是安全的,则不需要这样做

但基本上,我的图像保存在服务器上的Base64中,并传输到客户端,众所周知,客户端可以读取Base64

下面是SO文章中Base64的客户端版本

http/https 8位是否干净

参考文献

s摘要声明:

HTTP的一个特性是数据表示的类型化和协商,允许独立于传输的数据构建系统

HTTP总是以纯文本标题开始,并且在此标题中指定内容类型。 只要发送者和接收者同意这种内容类型,任何事情都是可能的

HTTP依赖于可靠的传输层,如TCP。HTTPS只为传输层(或传输层和HTTP之间,对此不确定)增加了安全性

是的,http(s)是8位干净的

除了PAs答案和您的问题“但为什么使用一种增加33%开销的编码方法,而您不需要它?”:因为这是一个不同概念的一部分

HTTP传输任何类型的数据,HTTP内容可以是带有嵌入图片的html文件。但是在收到html文件后,浏览器或其他渲染器必须解释html内容。这遵循不同的标准,要求对任意数据进行编码。html不是8位干净的,事实上它甚至不是7位干净的,因为对使用的字符及其出现顺序有很多限制。

s摘要声明:

HTTP的一个特性是数据表示的类型化和协商,允许独立于传输的数据构建系统

HTTP总是以纯文本标题开始,并且在此标题中指定内容类型。 只要发送者和接收者同意这种内容类型,任何事情都是可能的

HTTP依赖于可靠的传输层,如TCP。HTTPS只为传输层(或传输层和HTTP之间,对此不确定)增加了安全性

是的,http(s)是8位干净的

除了PAs答案和您的问题“但为什么使用一种增加33%开销的编码方法,而您不需要它?”:因为这是一个不同概念的一部分


HTTP传输任何类型的数据,HTTP内容可以是带有嵌入图片的html文件。但是在收到html文件后,浏览器或其他渲染器必须解释html内容。这遵循不同的标准,要求对任意数据进行编码。html不是8位干净的,事实上它甚至不是7位干净的,因为对使用的字符及其外观顺序有很多限制。

你问的是两件不同的事情

  • 问:http 8位是否干净

    答:HTTP是“第8位清除”

  • 问:在web应用程序的上下文中,为什么图像保存为Base64

    答:图像是而不是通常保存在Base64中。事实上,它们几乎从来都不是。它们通常以压缩二进制格式(PNG或JPG或类似格式)保存、传输或流式传输

    Base64用于在HTML中嵌入图像

  • 因此,您得到了一个图像
    logo.png
    。您可以将其作为
    静态地包含在页面中。图像以二进制形式通过HTTP传输,在浏览器和服务器端都没有编码。这是最常见的情况


    或者,您可以决定将图像的内容嵌入HTML中。它有一些优点:浏览器不需要再次访问服务器来获取图像,因为浏览器已经在HTML文件的相同HTTP GET响应中接收到图像。但也有一些缺点,因为HTML文件是文本,某些字符值可能对HTML(而不是HTTP)有特殊意义,所以不能只将二进制值嵌入HTML文本中。您必须对它们进行编码以避免此类冲突。最常用的编码方法是base64,它只需33%的开销就可以避免所有冲突。

    您所要求的是两种不同的东西

  • 问:http 8位是否干净

    答:HTTP是“第8位清除”

  • 问:在web应用程序的上下文中,为什么图像保存为Base64

    答:图像是而不是通常保存在Base64中。事实上,它们几乎从来都不是。它们通常以压缩二进制格式(PNG或JPG或类似格式)保存、传输或流式传输

    Base64用于在HTML中嵌入图像

  • 因此,您得到了一个图像
    logo.png
    。您可以将其作为
    静态地包含在页面中。图像以二进制形式通过HTTP传输,在浏览器和服务器端都没有编码。这是最常见的情况

    或者,您可以决定将图像的内容嵌入HTML中。它有一些优点:浏览器不需要再次访问服务器来获取图像,因为浏览器已经在HTML文件的相同HTTP GET响应中接收到图像。但也有一些缺点,因为HTML文件是文本,某些字符值可能对HTML(而不是HTTP)有特殊意义,所以不能只将二进制值嵌入HTML文本中。您必须对它们进行编码以避免此类冲突。最常用的编码方法是base64,它只需33%的开销就可以避免所有冲突

    在web应用程序的上下文中,为什么图像保存为Base64? 与8位清理相关的开销为33%

    Base64用于允许8位二进制数据显示为可打印