【问题标题】:Why don't we make HTTP requests more efficient? [duplicate]为什么我们不让 HTTP 请求更高效呢? [复制]
【发布时间】:2019-09-21 00:32:42
【问题描述】:

每当页面加载时,其所有内容(如图像、脚本、样式)都会通过不同的 HTTP 请求进行请求,这是我学到的。

但为什么会这样呢?当图像在同一台服务器上时,很明显,浏览器会请求其他内容。那么,服务器不能发送与页面本身内联的图像吗?

有时,某些浏览器使用 NO IMAGE 模式,但这可以包含在请求本身中。

如果实施,这不能减少数据流量吗?

【问题讨论】:

标签: http


【解决方案1】:

因为 HTTP 被设计为检索文档(即文本页面)的一种方式。直到后来,这才丰富了图像、脚本和其他外部资源。

并非每个对文档的请求都需要所有相关资源,例如(纯文本)爬虫或已经缓存了所有相关资源的浏览器 - 他们只想检索文档本身。

至于内联外部资源,是的,可以使用<script><style> 元素来完成,并使用内联图像数据,请参阅How to display Base64 images in HTML?

使用 HTTP/2,一对兼容的浏览器/服务器也可以利用服务器推送,完全符合您期望旧 HTTP 版本支持的功能。见HTTP 2 will support server push, what does this mean?

此外,随着技术的发展,可以将内容添加到协议中 - 如果该协议对向后兼容的更改开放。这个不能轻易被入侵到 HTTP/1.1 中,以保持旧浏览器和服务器正常工作。

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    相关资源
    最近更新 更多