zoukankan      html  css  js  c++  java
  • HTTP协议的压缩及URL Encode

    一、HTTP压缩的过程
    1.概念:HTTP压缩即Web服务器和浏览器之间压缩传输“文本内容”的方式。HTTP采用通用的压缩算法(如:gzip),来压缩HTML、JavaScript、CSS文件,有助于减少网络传输的数据量,提高了浏览器网页加载显示速度。

    简单陈述:

    Web请求中带上压缩方法Accept-Encoding项的值;服务器接到请求后,先生成包含Content-Length、Content-Type的Response;然后,通过接收的Accept-Encoding值来压缩文件数据,最后将Content-Encoding值放在响应头中一起返回给浏览器客户端。

    Fiddler截图:

     

     

    HTTP压缩最直接的效果:节省数据传输,提高性能;在Fiddler的Response的Transfromer选项卡里面,可以直接查看文件解压前大小、解压后大小;

    解压前:

     

     

    解压后:

     

     

    内容编码类型列表(gzip、compress及deflate编码均是无损压缩,不会导致信息损失;gzip通常效率最高,使用最广泛):

    类型名称  释义
    Content-Encoding:gzip 表示实体采用GNU zip编码
    Content-Encoding:compress 表示实体采用UNIX的文件压缩程序
    Content-Encoding:deflate 表示实体是用zlib的格式压缩的
    Content-Encoding:identity 表示没有对实体进行编码;当没有Content-Encoding选项时,默认就是这种;


    补充:1.JPEG这类文件用gzip压缩效果不理想,gzip占用了部分服务器和客户端的CPU;

    2.gzip压缩的基本方式:简单的说是,gzip压缩是在一个文本文件中找出类似的字符串,并临时替换它们,从而使整个文件变小。所有gzip方式对Web非常合适,因为HTML、CSS文件都含有大量重复的字符串,如:标签、空格;

    3.HTTP请求也是可以编码的,但是浏览器一般不会对请求进行编码;若请求被编码,则在请求的Header中,Transport中会有Content-Encoding的值;HTTP内容压缩是HTTP内容编码的一种,不可混淆;

    二、URL Encode介绍
    URL Encode(URL 编码)就是把所有非英文字母、数字字符均替换成百分号(%)后加两位十六进制数(如:空格的编码:%20)。简单举例,访问地址,搜索中文"测试“

    POST中的参数包含汉字也会被编码,这里就不截图了。

    三、Fiddler中的TextWizard,快捷键(Ctrl+E)
    Fiddler工具栏的Tool---->TextWizard工具可以帮助完成对数据的编码、解码;是一个不错的工具;

  • 相关阅读:
    python截取视频中的某一段,保存为avi结尾的视频
    文章内容过长,将此内容转为pdf的方式(使用node)
    typescript常见问题集锦
    利用matplotlib中imshow()函数绘图
    如何查看Linux系统安装时间
    php包含那点事情[WOOYUN]
    中间人攻击利用框架bettercap测试
    java 递归方法
    java方法重载
    JVM 之栈结构
  • 原文地址:https://www.cnblogs.com/zhaoyiguang/p/fiddler.html
Copyright © 2011-2022 走看看