HTTP协议实现服务器浏览器代码文本压缩

HTTP协议实现服务器浏览器代码文本压缩

一般我们在对网站进行优化是,一定会用到的一个就是文本代码压缩,我们压缩的一般都是文本格式文件,因为压缩效果明显,若果对视频等进行压缩,效果不大,并且耗费服务器和客户端的CPU来进行压缩和解压,得不偿失。

废话多多说,我们上网是,使用浏览器F12来进行代码调试抓包时,如图所示:

上面:深色显示的Accpet-Encoding就是我们客户端发送给服务器,告诉服务器我们所支持的压缩格式,每个浏览器所支持的格式不一样。

废话不多说,如何实现服务器压缩呢?

主要分为两步:

第一步:在Apache的服务器中http.conf中开启mod_deflate.so 模块,即使用deflate压缩格式,如果支持,服务器也可以选择开始gzip等压缩格式。

目前我们比较常见的有:gzip,deflate,compress以及谷歌的sdch格式

LoadModule deflate_module modules/mod_deflate.so

然后重启 httpd –k restart

第二步:在http.conf中添加一下代码,即告诉服务器对那些代码进行压缩,并且指定压缩级别

<ifmodule mod_deflate.c>        #如果开启了mod_deflate模块,则运行下面代码

DeflateCompressionLevel 6        #压缩级别为6 ,一般支持 1-9,数字越高,压缩级别越大

AddOutputFilterByType DEFLATE text/plain        #对文本文件代码进行压缩

AddOutputFilterByType DEFLATE text/html        #对html文件代码进行压缩

AddOutputFilterByType DEFLATE text/xml        #对xml文件代码进行压缩

AddOutputFilterByType DEFLATE text/css        #对css文件代码进行压缩

AddOutputFilterByType DEFLATE text/javascript    #对脚本文件代码进行压缩

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/atom_xml

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/x-httpd-php

AddOutputFilterByType DEFLATE image/svg+xml

</ifmodule>

基本的都介绍完了,下面我们来做实验看效果:

未开启服务器压缩:

如图所示,展示的是当我们的网站页面未进行压缩时,请求服务器返回的源代码文件大小为

Content-Length = 208 字节(注意图,等下和下图进行对比)

开启服务器压缩后:

和上面的对比,我们发现,此时,相同的一个网页,请求服务器返回的代码文件大小为

Content-Length = 148 字节,节省了60个字节的大小,效果是很惊人的

特别注意浏览器返回的信息中还特别说明了压缩格式

Content-Encoding:gzip 告诉客户端使用的是gzip格式的压缩方式

在比较大型的门户网站中,对代码进行压缩,可以省去大量的网站流量,节省大量的服务器资源,效果不可想象

小技巧:

当我们学习使用时,我们可以不发送Accpet-Encoding来采集未压缩的源代码。

时间: 2024-10-24 11:26:32

HTTP协议实现服务器浏览器代码文本压缩的相关文章

PHP. 01. C/S架构、B/S架构、服务器类型、服务器软件、HTTP协议/服务器、数据库、服务器web开发、PHP简介/常见语法、PHPheader()、 PHP_POST/GET数据获取和错误处理

C/S架构 Client/Server 指客户端,服务器 架构的意思 优点:性能性高:可将一部分的计算工作放在客户端上,服务器只需处理出局即可   洁面炫酷,可使用更多系统提供的效果 缺点:更新软件需版本同步 不同设备访问:必须安装了客户端才能登陆 B/S架构 Browser /Server 指浏览器, 服务器.是WEB兴起后的一种结构 优点:更新简洁,对用户来说只需刷新浏览器即可   多设备同步:只要能够使用浏览器即可登录 缺点:性能较低:当时随着硬件性能的提升,这个差距在缩小   浏览器兼容

linux服务器的Gzip文件压缩方法[转]

一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4. Gzip主要用于Unix系统的文件压缩.我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的.现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式. 当应用Gzip压缩到一个纯

nginx搭建rtmp协议流媒体服务器总结

最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx目录. 然后进入该目录去下载搭建环境所需要的一些资源包. 此处在 /root/  目录下新建一个nginx目录即: /root/softsource/ 注意:依赖包和工具包需要下载,请在良好的网络环境下安装,否则在网速不好的情况下容易下漏掉,造成后面安装失败 ====================

基于TCP协议的服务器中转简易聊天

项目比较简单:主要使用了TCP传输协议.多线程和swing窗口,以及IO流读写. 功能:各窗口之间简单的收发信息,另外附加一个抖动的效果. 服务器代码: 1 package com.java; 2 3 import java.awt.Dimension; 4 import java.awt.Toolkit; 5 import java.awt.event.ActionEvent; 6 import java.awt.event.ActionListener; 7 import java.awt.

Windows2003服务器IIS启用Gzip压缩的设置

http://jingyan.baidu.com/article/148a192178ec834d71c3b12b.html 步骤 1 2 3 本文介绍的HTTP压缩方式,采用的是Windows系统设置的方式,优点是效率较高. 一. HTTP压缩概述 HTTP压缩是在Web服务器 和浏览器间传输压缩文本内容的方法.HTTP压缩采用通用的压缩算法如gzip等压缩HTML.JavaScript或 CSS文件.压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度.当然,同时也会增加

Node4-5静态资源服务器实战_优化压缩文件

浏览器控制台看一下RequestHeader有一个Accept-Encoding,而RespondHeaders中也会有一个Content-Encoding和他进行对应. Accept-Encoding当我们的浏览器发起一个文件的请求时告诉服务器支持哪几种压缩方式,也就是服务器用这几种压缩方式浏览器都能解压,当服务器接收到请求后,知道浏览器支持的压缩方式,服务器就会自动识别其中一种进行压缩并且告诉浏览器自己用了哪个方式压缩,浏览器知道后就知道用哪种对应方式解压了 根据拓展名限制一下支持的几钟压缩

unity3d用http协议连接服务器和数据库

忙了一晚终于解决了这个问题,关于U3Dunity3d用http协议连接服务器和数据库实现一个用户登入的功能 U3D代码: using UnityEngine;using System.Collections; public class Submit : MonoBehaviour{         public string url = "http://huang.me/login1.php"; //UI        public UIInput user;        publi

NSDP协议PORTAL服务器源码

NSDP与CMCC不同,NSDP是一套轻量的PORTAL服务器解决方案.PORTAL服务器完全是一台标准的WEB服务器.因此,本例子程序使用 PHP来演示.下面是index.php 的源码,整套PORTAL只有两个文件,一个是PHP的首页,一个是为了支持异步提交的js代码.两个文件都在附件中. <!DOCTYPE html> <html> <head> <title>NSDP 协议演示PORTAL页面</title> <meta http-

通过私有协议在Chrome浏览器网页中打开本地程序

最近甲方有这样一个需求:两套系统,一套基于Chrome开发,一套基于IE开发,想要在Chrome中增加一个链接,然后进入IE开发的系统.也就是说,想要在Chrome中创建链接跳转到IE浏览器指定页面,还要实现跳转动画效果.这个需求我们先来解决从Chrome跳转到IE的问题. 问题分析:从Chrome中跳转到IE,直接以http链接形式是不可能跳转到IE的,只能通过单独开发的本地程序打开IE,问题是如何让Chrome打开该程序.有一种方法可以实现:通过注册私有协议,用户点击链接的时候直接使用私有协