웹 그래픽에 SVG 또는 SVGZ를 언제 사용해야합니까?


22

내 이해에서

SVGZ는 SVG의 압축 파일 유형입니다. SVG 이미지 사용을 좋아하고 많은 경험이 있습니다.

내가 사용한 모든 시간에는 수백 킬로바이트가 넘는 그래픽이 없었습니다.

반응 형 웹 사이트를 만들면서 반응 형 그래픽에 SVG를 사용합니다. 내가 좋아하는 디자인 스타일은 벡터 기반 그래픽이기 때문에 사용합니다. 저의 가장 강력한 디자인 강점은 일러스트 레이터입니다. 특히 그래픽 디자인과 관련해서는 더욱 그렇습니다.

SVG 그래픽을 사용하는 또 다른 이유는 팔, 다리 등 그래픽의 특정 요소를 쉽게 애니메이션으로 만들 수 있기 때문입니다.

특히 도시와 같은 배경 요소는 전체 깜박임 등을 애니메이션하는 동안 전체 페이지에 걸쳐 있습니다.

파일이 압축 된 경우 SVG 코드를 잃어 애니메이션이되지 않습니까?

SVG보다 SVGZ를 사용해야하는 이유가 있습니까?

최신 정보

글쎄, 나는 고대 CS3가 SVGZ를 구할 수 있다는 것을 알게 된 후 SVG와 SVGZ를 만들어 웹에서 어떻게 행동했는지를보기로 결정했다!

테스트 후 SVGZ 파일 형식에 예기치 않은 문제가 발생했습니다. (Chrome, Firefox 및 IE에서 테스트) 이미지의 직접 URL로 이동하면 오류가 발생합니다. 이 파일 형식에서 SVG 코드에 액세스 할 수 없다고 가정하지만 바이올린을 만든 후에는 이미지를 표시하지 않는 것 같습니다.

이것들은 웹에 쓸모 없습니까?

.svg

.svgz

JS 피들


.svgz올바른 MIME 유형을 사용하여 제공 되는 웹 서버 구성 문제 설정 인 것 같습니다 . stackoverflow.com/questions/16725380/svgz-doesnt-display를 참조하십시오 . IE8 지원이 필요하기 때문에 개인적으로 항상 웹에서 SVG / 벡터 그래픽에 Raphael.js 를 사용 합니다
user56reinstatemonica8

흠, 매우 유용한 링크에 감사드립니다. 사용할 이유가 SVGZ있습니까? 이미지 파일 크기를 줄이는 것이 좋을 것이라고 생각했습니다. 나는 SVGZ웹에 어떤 식 으로든 유용하거나 실제로 어떤 식 으로든 유용한 지 궁금합니다 .
Josh Powell

작동하면 파일 크기가 상당히 줄어 듭니다. 이것은 복잡한 무언가 (예 : 줌이 가능한 매우 상세한 SVG 세계지도)에서 대화 형 기능을 사용하는 경우 유용 할 수 있습니다. z수단은 파일 크기와 다른 거의 아무것도를 줄이기 위해 사용되는 압축 gzip을.
user56reinstatemonica8

@ JoshPowell : 대부분의 http 서버가 gzip 압축으로 내용을 보내면이 질문의 목적을 알 수 없습니다. 일부 서버의 경우 파일 이름을 .svg.gz로 지정하면 브라우저는 원본 파일이 압축되지 않았다는 정보를받습니다.
user2284570 2016 년

답변:


9

압축 된 svg에 대한 지원은 브라우저마다 다르지만, 브라우저에 수신시 디코딩 방법을 명시 적으로 알리기 위해 인코딩에 대한 정보로 svgz 파일에 플래그를 지정하도록 서버를 구성해야합니다.

"내용 인코딩 : gzip"을 포함하도록 svgz에 대한 서버 응답을 구성해야합니다.

svg     Content-Type: image/svg+xml

svgz    Content-Type: image/svg+xml
        Content-Encoding: gzip

Apache 웹 서버의 경우 .htaccess 파일을 통해이를 달성 할 수 있습니다.

AddType image/svg+xml svg svgz
AddEncoding gzip svgz

서버에 넣기 전에 압축하거나 빵을 굽는 경우 콘텐츠 인코딩에 대한 힌트가 필요합니다. 이와 같은 자산의 경우 사전 압축하는 것이 좋습니다. 그렇지 않으면 파일의 각 요청에 대해 서버 CPU를 먹는 것입니다. 이것은별로 좋아 보이지는 않지만 이것은 미국 의료 웹 사이트와 같은 일종의 최적화되지 않은 문제입니다.


서버 나 플랫폼이 전혀 지능적이지 않으면 압축을 수행하는 것이 캐시 될 수있을 정도로 최적화되어 있습니다. 이는 Healthcare.gov는 물론 사이트를 손상시킬 수있는 것은 아닙니다.
Josh Koenig

11

이것은 당신이 기대하는 대답이 아닐 수도 있지만, 웹의 경우 실제로 SVGZ 파일을 사용할 필요는 없습니다. 그 이유는 SVGZ 파일이 단순히 사전 압축 된 SVG이기 때문입니다.

최신 웹 서버는 자산을 제공하기 전에이 Gzipping을 수행 할 수 있습니다 (자세한 내용 은 StackOverflow 에서이 답변 참조 ). 따라서 줄 아래로 300KB가되지 않고 50KB가되고 브라우저에서 압축 해제됩니다.


압축 파일이 어딘가에 캐시되어 있습니까? 이 svg 자산을 5000 방문자에게 계속해서 압축하는 것은 많은 작업입니다.
bokan

@bokan : 일부 서버는 .gz 파일 확장자를 추가하여 내용을 미리 압축하는 옵션을 제공합니다. 따라서 클라이언트가 index.html을 찾으면 서버는 index.html.gz라는 사전 압축 파일로 응답합니다.
user2284570

@ user2284570 : .gz를 직접 작성해야합니다. 그렇지 않으면 파일을 보낼 때마다 파일을 압축하므로 서버에 많은 작업이 필요합니다.
bokan

1
@bokan : 예. 종종 간단한 콘텐츠 인코딩 압축보다 많은 추가 서버 구성이 필요합니다. IE5조차도 그것을 지원합니다. 디렉토리 내의 모든 정적 파일을 압축하기위한 스크립트를 작성하는 것은 간단합니다. 두 번째 경우에는 디스크 공간과 대역폭이 모두 절약됩니다.
user2284570
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.