首页 > 其他分享 >HTTP/1.1 如何优化

HTTP/1.1 如何优化

时间:2022-08-30 20:22:42浏览次数:75  
标签:缓存 HTTP 1.1 发送 响应 客户端 优化 请求

3种优化思路:

  1. 尽量避免发送 HTTP 请求;
  2. 在需要发送 HTTP 请求时,考虑如何减少请求次数;
  3. 减少服务器的 HTTP 响应的数据大小;

一、尽量避免发送HTTP请求

实现方法:

对于⼀些具有重复性的 HTTP 请求采用 缓存技术

具体过程:

客户端收到第⼀个请求的响应后,可以将其缓存在本地磁 盘,下次请求的时候,如果缓存没过期,就直接读取本地缓存的响应数据。如果缓存过期,客户端发送请求的时候 带上响应数据的摘要,服务器⽐对后发现资源没有变化,就发出不带包体的 304 响应,告诉客户端缓存的响应仍然 有效。

二、减少 HTTP 请求次数

实现方法:

  • 减少重定向请求次数;( 重定向的⼯作交由代理服务器完成 )
  • 合并请求;( 把多个访问⼩⽂件的请求合并成⼀个⼤的请求 )
  • 延迟发送请求;( ⼀般 HTML ⾥会含有很多 HTTP 的 URL,当前不需要的资源没必要也获取过来, 于是可以通过「按需获取」的⽅式,来减少第⼀时间的 HTTP 请求次数。 )

三、减少服务器的 HTTP 响应的数据大小

实现方法:

对响应的资源进行压缩 ,降低传输资源的⼤⼩,从⽽提⾼传输效率 。

压缩方式一般分为两种:无损压缩和有损压缩。

标签:缓存,HTTP,1.1,发送,响应,客户端,优化,请求
From: https://www.cnblogs.com/tiddler/p/16640686.html

相关文章

  • HTTPS 如何建立连接 -- SSL/TLS 的建⽴过程
    前两步:(握手阶段)建立SSL/TLS协议涉及四次通信一、ClientHello由客户端向服务器发起加密通信请求内容:客户端⽀持的SSL/TLS协议版本客户端⽣产的随机数c1(......
  • 大道如青天,协程来通信,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang通道channel的使
    众所周知,Golang的作用域相对严格,数据之间的通信往往要依靠参数的传递,但如果想在多个协程任务中间做数据通信,就需要通道(channel)的参与,我们可以把数据封装成一个对象,然后把......
  • 前端性能优化(一)---时间角度优化:减少耗时
    一、为什么要进行性能优化对于一个产品来说,用户的体验是最重要的。当页面加载时间过长,交互操作不流畅时,会给用户带来很糟糕的体验,会导致用户流失。二、前端常见的性能优......
  • 前端性能优化(二)---空间角度:降低资源占用
    一、为什么要进行性能优化对于一个产品来说,用户的体验是最重要的。当页面加载时间过长,交互操作不流畅时,会给用户带来很糟糕的体验,会导致用户流失。二、前端常见的性能优......
  • C# Web Api HTTP Get (result as a string)
    为了方便调用,通常封装成一个通用的函数,如下:///<summary>///GetHttpasstringresult///</summary>///<paramname="url">RequestUrl.......
  • 性能优化-日志篇
    首先自定义项目的Log系统usingUnityEngine;namespaceDAO{publicstaticclassLogger{publicstaticvoidLog(objectobj){......
  • Linux系统的SSH优化
    在Linux系统中,我们想使用SSH命令登录到另一台服务器中,在第一次登录时,会提示我们验证指纹,如下所示同一网络下,为了确保你想SSH访问的Linux系统是无误的,可以在另一端确认指......
  • acme 生成 https 证书
    下载安装acme curlhttps://get.acme.sh|sh命令执行后,需要关闭终端,重新连接命令就能生效了 执行下面的命令生成证书-d指定需要生成证书的域名--webroot 网站......
  • XMLHttpResquest Level2新功能
    旧版XMLHttpResquest的缺点:只支持文本数据的传输,无法用来读取和上传文件传送和接收数据时,没有进度信息,只能提示有没有完成 新版的优点:1.可以设置HTTP请求的时限2可......
  • apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for
    apache服务器启动时提示httpd:apr_sockaddr_info_get()failedfor-小!千-博客园 https://www.cnblogs.com/xiaoqian1993/p/6027907.html在RedHat Linux 5与Ce......