为Web服务器配置svgz文件需要的http头,让浏览器可以打开svgz文件

原创 2014年11月03日 09:59:18

IE8以及IE8以下的浏览器是不支持SVG的,svgz是svg文件的压缩格式,本文介绍的配置与浏览器无关,但浏览svgz文件请在IE9+或Firefox,Chrome等其他现代浏览器打开。

要让浏览器能正常显示svgz文件,需要3个条件:

1、浏览器支持SVG矢量图格式

2、服务器设置正确的响应mime-type,即HTTP响应头包含  Content-Type: image/svg+xml

3、服务器设置正确的响应内容编码类型,HTTP响应头包含  Content-Encoding: gzip

这只适用于通过http的形式从web服务器访问svgz文件,如果要从浏览器打开本地硬盘的svgz文件,貌似目前Chrome支持,IE/Firefox都不支持。

Apache httpd服务器上配置svgz

方法1:在.htaccess文件中添加配置。适用于仅针对单个站点进行设置。

在.htaccess文件中适当位置添加如下2行

AddType image/svg+xml svg svgz
AddEncoding gzip svgz

方法2:在httpd.conf文件中添加配置。适用于服务器全局,也可以对单个主机进行设置。

在httpd.conf 文件中添加如下几行

<IfModule mime_module>
    # svg support
    AddType image/svg+xml .svg .svgz
    AddEncoding x-gzip .svgz
</IfModule>
mime-type也可以在mime.types文件中进行配置,AddType AddEncoding也可以在其他.conf文件(比如vhosts.conf)中进行配置。
以上是通过mime_module模块进行配置,其实也可以通过headers_module模块来配置,示例:

<IfModule headers_module>
    <filesmatch "\.svgz$">
        header set Content-Type image/svg+xml
        header set Content-Encoding gzip
    </filesmatch>
</IfModule>
具体怎么配,配在哪儿,就看自己的需要来灵活处理了。

PHP程序动态响应svgz文件的例子

<?php
header('Content-Type:image/svg+xml');
header('Content-Encoding:gzip');
echo file_get_contents('test.svgz');
?>

网站发布会svg图片不加载,在IIS服务器上部署svg/woff/woff2字体

第一种方法:在服务器上 IIS 或者其他Web服务器上 添加 SVG映射。 远程登录主机,打开IIS,找到网站,右键属性,打开“HTTP头”,找到右下角的“MIME类型…” ...
  • cplvfx
  • cplvfx
  • 2017年11月14日 19:41
  • 158

如何向网页添加 SVG

本主题介绍了在网页中呈现 SVG 的常见方法,并假定你已掌握有关 HTML 和 JavaScript 的基础知识。 简介SVG 的呈现方法 内联 HTML5内联 XHTML独立 SVG...
  • luqin1988
  • luqin1988
  • 2013年01月07日 17:48
  • 8060

发现一个SVG做的地图网站:ChinaQuest

 http://tangf.cnblogs.com/archive/2006/06/04/417110.html其实很早以前就去过ChinaQuest了,那时候可能用的还是插件式的,所以一直对他不感兴...
  • mydriverc
  • mydriverc
  • 2007年11月11日 02:37
  • 897

如何将FTP默认在文件浏览器下打开!

1.创建快捷方式 2.在前面加上命令 如图
  • xuli99999
  • xuli99999
  • 2015年02月06日 23:48
  • 683

在网页上使用JPG、PNG和SVG:新手指南

JPG、PNG、SVG的正确使用
  • iCode_xiaoxiao
  • iCode_xiaoxiao
  • 2017年07月06日 14:31
  • 581

让浏览器打开JSON文件直接显示

在做一個接口,返回的是json文件,做测试为了方便直接在网页上打开浏览。 现在突然打开会自动下载json文件了。然后百度了一下,得出解决办法: 解决办法也非常简单,需要我们在操作系统的注册表中添加关于...
  • yan309271291
  • yan309271291
  • 2014年09月17日 15:14
  • 3986

如何使用 HTTP 响应头字段来提高 Web 安全性?

在 Web 服务器做出响应时,为了提高安全性,在 HTTP 响应头中可以使用的各种响应头字段。X-Frame-Options该响应头中用于控制是否在浏览器中显示 frame 或 iframe 中指定的...
  • wangpeng198688
  • wangpeng198688
  • 2016年01月29日 13:07
  • 1193

浏览器Http请求头部比较(多浏览器http请求头)

转自:http://blog.csdn.net/kjb000/article/details/7774588   谷歌浏览器 GET /favicon.ico HTTP/1.1 Host: l...
  • shanliangliuxing
  • shanliangliuxing
  • 2012年09月09日 13:02
  • 4757

HTTP协议--浏览器的实现

socket和http都能用于网络上的通信。 那既然有socket那么为什么需要http呢?
  • qq_23948283
  • qq_23948283
  • 2016年10月08日 21:39
  • 1090

如何在web端实现本地文件的访问功能

由于浏览器的安全性限制,无法在浏览器中直接访问本地路径下的文件,包括图片文件、视频文件等。我们通过一个AnyChat的项目来举例说明如何实现web浏览器访问本地文件: 通过该Web服务器便访问本...
  • CXZJZ
  • CXZJZ
  • 2014年12月01日 16:21
  • 5279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为Web服务器配置svgz文件需要的http头,让浏览器可以打开svgz文件
举报原因:
原因补充:

(最多只允许输入30个字)