优化你的图像和cookie,让web前端的性能更好

本文是Web前端性能优化系列文章中的第九篇,主要讲述内容:是一种使用无损压缩的有些png24|32图片本身颜色较为简单,将其转变为png8得到的显示效果很类似,但却能极大地减少图片的大小。这一步可以通过使用工具pngGo来完成,这是一个完全免费的工具,而且可以根据需要设置png所需要的调色板颜色数,得到最大的压缩效果。

使用smushit.it在线无损化压缩

png格式将图像信息保存在“块”中,对于web显示来说,大部分的“块”都并非必要,所以优化策略可以将它们安全地删除。雅虎的YSlow提供了一个在线的无损化压缩工具smushit.it,不过基本上假如已经将图片转变为png8,使用smushit.it能压缩的空间已经很小了,不过对于追求极致性能的web来说,还是值得一试的。

二、优化cookie

什么是Cookie

Cookie是存储在客户端的一小段文本信息,伴随着用户请求在浏览器和服务器之间传递。Cookie除了核心对象key-value外,还有max-age,path,domain和httponly属性。httponly属性标识一个客户端javascript能否操作这个Cookie;max-age表示缓存时间,单位为秒;domain代表域名,例如设置为.cnblog.com,则i.cnblogs.com也可以访问这个Cookie,如果设置为i.cnblogs.com,则image.cnblogs.com这个域名下的资源将不能访问这个Cookie;path代表文件路径,默认为/,表示可以该domain下的所有资源可以访问这个Cookie。浏览器对单个Cookie大小限制不超过4KB;对于同一域名下Cookie的数量也有限制,一般不允许超过50个。

非持久Cookie和持久Cookie

假如Http请求响应头部Set-Cookie的时候没有给Cookie添加一个过期时间,则它的默认过期时间为当前浏览会话结束,既退出浏览器这个Cookie就无效了,这个Cookie就叫做非持久Cookie,因为是存储在浏览器进程的内存中的。

而如果给Cookie添加了一个过期时间,则Cookie信息将存储到硬盘上,即使浏览器退出这个Cookie还是存在的。只要Cookie未被清除且还在过期时间以内,这个Cookie就会在访问对应域名的时候发送给服务器。

减少Cookie的体积

由于Cookie在访问对应域名下的资源的时候都会通过Http请求发送到服务器,所以通过合理地设计Cookie,减少Cookie的体积,能够减少Http请求报文的大小,提高响应速度。

通过使用不同的主机减少Cookie的使用

Cookie在访问对应域名下的资源的时候都会通过Http请求发送到服务器,但是在访问一些资源(例如js脚本,css和图片)的时候,大多数情况下这些Cookie是多余的,所以我们可以通过使用不同的主机来存储一些静态资源,例如用专门的主机来存储图片,这样访问这些资源的时候就不会发送多余的Cookie,从而提高响应速度。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月4日 01:41:53
下一篇 2024年5月4日 01:43:57

相关推荐

  • oraclelinuxio性能,oracle性能优化求生指南

    oracle数据库性能优化什么意思 1、针对不同业务模式对数据库进行优化,修改sga、pga、各种pool及其他parameter,spfile等可以增强数据库的可用性,提高内存使用效率,避免数据库异常现象的发生。 2、应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了ORACLE数据库的性能。ORACLE公司推荐使用OR…

    2024年5月22日
    4900
  • c语言图像编程,如何使用c语言做图像编程

    如何在linux下编写C语言图像程序 你如果对C语言用的熟练的话(我指的是编成规则和错误处理规则),你可以尝试手动配置的vi/vim或者Emacs。emacs/vim+gcc+gdb这就是最好的,也是用得最广泛的。 没有像VC那样被修改了标准的语言,所以可以认为linux下的C语言都是标准的。这个程序要是所有的代码都自己写的话,会非常复杂的,并且操作系统也不…

    2024年5月21日
    3600
  • c语言处理图像,c语言编程图像

    纯C语言实现图像处理? 1、c语言不自带图形处理方面的东西。TC特有的头文件graphics.h,其他编译环境都用不了,可移植性是零。而且TC实在太老,与现在c语言标准差距非常大。基本是无法运行现在的代码。所以不太建议你用它。 2、include windows.h//读bmp图片需要两个结构#pragma pack(push, enter_defBM, 1…

    2024年5月21日
    4900
  • javatrycatch性能,java里面的try catch

    Java代码如何优化 使用指定类、方法的final修饰符 具有final修饰符的类不可派生。在Java核心API中,有许多最终应用程序的例子,例如java.lang.String,整个类都是final。 下面回龙观回龙观IT培训为大家介绍代码优化的方法。尽量重用目标 特别是,使用代表字符串收敛的String目标应该使用StringBuilder/String…

    2024年5月21日
    4600
  • excel二元函数图像,excel绘制二元函数

    怎样画二元函数图象 1、二元函数可以用mesh或者surf函数画图。下面举例说明:[x,y]=meshgrid(-8:.5:8);z=sqrt(x.^2 + y.^2);mesh(x,y,z)图像如下:觉得有帮助就采纳吧。 2、f(x,y) = ax + by + c = 0其中a,b,c为常数。画二元一次函数图像的步骤: 计算a、b的值。- 如果a、b都不…

    2024年5月20日
    5200
  • c语言图像算法,c语言代码简单图像

    c图片压缩算法-如何用实现图片的放大缩小与去阴影?能用C语言写出… 还要把每一行的不为0的列的下标在第二个向量中开始的位置存下来,有人把这个叫做指针。有了这三个向量就可以实现对矩阵实现高效的按行访问了。行压缩存储比三元组优秀的不仅是空间的压缩,还有就是行访问时的高效。 题目要求函数参数用到数组和指针,而数组传参本来就可用数组和指针两种方式。 li…

    2024年5月20日
    5800
  • linuxkvm性能,k linux

    kvm切换器是什么 1、kvm切换器是用于切换不同电脑源的计算机硬件设备;kvm切换器也被称为计算机切换器,使用户透过一组键盘、显示屏和鼠标控制多台计算机,kvm也就是键盘(Keyboard)、显示器(Video)、鼠标(Mouse)的英文首字母缩写。 2、KVM切换器是一种计算机硬件设备,可以使用户透过一组键盘、屏幕和鼠标控制多台电脑。透过KVM切换器,可…

    2024年5月20日
    4600
  • oraclelinuxio性能监控,linux查看oracle监听日志大小

    如何在Linux中快速监控多个云主机 1、在本机安装SSH工具,(SSH工具有很多比如xShell、FianlShell)在Linux中配置ssh服务,本机打开SSH工具配置Linux的ip地址及端口号即可同时连接多台Linux主机进行操作。望采纳。 2、NetXMS提供了企业级开源网络管理和监控程序,它在Windows和Linux上有一个简单的用户界面。N…

    2024年5月19日
    3700
  • c语言f函数图像,c语言中fx

    怎样用C语言画一个函数的图像啊 1、用GDI绘图吧,比较简单。绘图的思想是让x以固定的值在区间内持续增长,比如x=0.1,0.2,0…,以计算出的y值来确定y坐标。用线连接所有的点就行了。 2、c语言中两种方法都可以,但有区别scanf(%s,s)是读取不到空格的,但gets(s)可以。两种方法都是一个一个字符读取的。 3、绘制函数图像的程序只需…

    2024年5月19日
    3900
  • java图像等比缩放,java缩小图片大小

    怎么用java代码放大或缩小图片不失真。 放大图像不会导致失真,而缩小图像将不可避免的失真。Java中也同样是这样。但java提供了4个缩放的微调选项。 java实现图形的放大和缩小,其实就是在画图时,改变图片的长和宽。 放大像素会失真,如果你要实现这一共能的话可以用JLabel来显示图片。 java是怎么实现等比例缩小图片而不失真的啊?按照等比例的长宽进行…

    2024年5月19日
    3700

发表回复

登录后才能评论



关注微信