Php 通过在数据库中保存图像来减少http请求?
如果网站是PHP驱动的,那么通过从数据库中提供较小的图像而不是发出多个HTTP请求来提高页面加载速度有意义吗Php 通过在数据库中保存图像来减少http请求?,php,mysql,image,Php,Mysql,Image,如果网站是PHP驱动的,那么通过从数据库中提供较小的图像而不是发出多个HTTP请求来提高页面加载速度有意义吗 我正在考虑更小的页面设计元素、按钮、图库缩略图等。无论浏览器是从从从数据库或常规文件加载图像数据的脚本加载图像,HTTP请求的数量都保持不变。事实上,从数据库而不是静态文件加载图像数据可能会带来额外的开销 如果您希望减少浏览器加载文档所需的HTTP请求量,则应查看。无论浏览器是从从从数据库或常规文件加载图像数据的脚本加载图像,HTTP请求的数量都保持不变。事实上,从数据库而不是静态文件加
我正在考虑更小的页面设计元素、按钮、图库缩略图等。无论浏览器是从从从数据库或常规文件加载图像数据的脚本加载图像,HTTP请求的数量都保持不变。事实上,从数据库而不是静态文件加载图像数据可能会带来额外的开销
如果您希望减少浏览器加载文档所需的HTTP请求量,则应查看。无论浏览器是从从从数据库或常规文件加载图像数据的脚本加载图像,HTTP请求的数量都保持不变。事实上,从数据库而不是静态文件加载图像数据可能会带来额外的开销 如果您希望减少浏览器加载文档所需的HTTP请求量,则应查看。否。因为:
- 浏览器仅通过HTTP与服务器通信,因此您必须从数据库中提取它们,将它们放入HTTP,然后将它们返回到浏览器
- 从数据库中提取大块二进制数据比从文件系统中提取要昂贵得多
如果您想发出更少的HTTP请求,可以这样做,但不要对内容图像执行此操作(内容图像应具有适当的带有alt text的
元素)。否。因为:
- 浏览器仅通过HTTP与服务器通信,因此您必须从数据库中提取它们,将它们放入HTTP,然后将它们返回到浏览器
- 从数据库中提取大块二进制数据比从文件系统中提取要昂贵得多
如果您想发出更少的HTTP请求,可以,但不要使用内容图像(应该有适当的
元素和alt text)。您可以节省HTTP的开销,但是如何将图像插入html?否则,您仍然必须发出HTTP请求才能获取映像
如果将图像作为数据库中的ByTestStream提供,则不允许浏览器缓存内容。如果您对每个图像使用HTTP请求,您可以让它们缓存内容,但要为执行更多请求付出代价。还需要考虑从DB获取图像的时间和处理它们的时间。p>
我认为在这种情况下,最好的选择是将所有小图像放在一个文件中,然后使用CSS显示它们。这就是高负载站点所做的。这样,您只需执行一个请求并获取所有图像,浏览器就会缓存文件,从而提高您的性能。你付出的代价是你需要写更多的CSS,但那只是纯文本和相同数量的文件。这是一个双赢的局面:)您可以节省HTTP的开销,但如何在html中插入图像呢?否则,您仍然必须发出HTTP请求才能获取映像 如果将图像作为数据库中的ByTestStream提供,则不允许浏览器缓存内容。如果您对每个图像使用HTTP请求,您可以让它们缓存内容,但要为执行更多请求付出代价。还需要考虑从DB获取图像的时间和处理它们的时间。p> 我认为在这种情况下,最好的选择是将所有小图像放在一个文件中,然后使用CSS显示它们。这就是高负载站点所做的。这样,您只需执行一个请求并获取所有图像,浏览器就会缓存文件,从而提高您的性能。你付出的代价是你需要写更多的CSS,但那只是纯文本和相同数量的文件。这是一个双赢的局面:)不 用户没有直接连接到数据库,您无法(当然可以,但它太难看了,我忽略了它)在HTML中输出图像数据。它们必须在单独的请求中加载
如果将它们存储在数据库中,则需要一些东西来访问数据库,然后将其流式输出这实际上比让您的httpd提供服务更糟糕。如果服务器托管它,则只会触及核心服务器和文件系统。如果它在数据库中,那么它就是核心服务器、语言的连接器(例如mod_php)、语言(例如php)、数据库连接和文件系统(在其上写入数据库) 保持简单。把它存档 如果你被请求淹没了:
- 将您的图像转移到像S3、Akami等CDN。有很多提供商,它通常只比托管稍微贵一点(这是假设您有相当多的流量)
如果将它们存储在数据库中,则需要一些东西来访问数据库,然后将其流式输出这实际上比让您的httpd提供服务更糟糕。如果服务器托管它,则只会触及核心服务器和文件系统。如果它在数据库中,那么它就是核心服务器、语言的连接器(例如mod_php)、语言(例如php)、数据库连接和文件系统(在其上写入数据库) 保持简单。把它存档 如果你被请求淹没了: