티스토리 뷰
HTTP 통신상에서 오고가는 데이터들을 Gzip 방식을 적용해서 데이터의 크기를 압축하여 주고받을 수 잇습니다.
전송되는 스크립트파일, API메소드들 모두 용량이 확 줄어 들겠죠?
Gzip 이란 국제표준으로 등록된 압축표준으로서 HTTP 헤더에 Acceept-Encoding 속성을 이용하여 전달합니다.
기본적으로 IIS는 Gzip 압축을 적용하지 않기때문에 직접 수정해줘야 합니다.
물론 IIS 속성에 들어가서 이것 저것 바꾸지 않고 코드만으로!! 적용하는 방법에 대해서 알아보겠습니다.
적용대상 : HTML / Javascript / WebAPI Method
1. HTML / Javascript 파일에 GZIP 압축적용
Web.Config 에 configuration 엘리먼트 안에 아래 staticContent 속성을 추가합니다.
1: <system.webServer>
2: <staticContent>
3: <remove fileExtension=".js" />
4: <mimeMap fileExtension=".js" mimeType="text/javascript" />
5: </staticContent>
6: </system.webServer>
- Gzip 압축 적용전
jquery 스크립트 파일의 크기가 84,245 byte의 크기로 전달됨
- Gzip 압축 적용후
jquery 스크립트 파일의 크기가 37,695 byte의 크기로 전달됨
파일의 크기가 크고 갯수가 많아지면 압축을 하고,안하고의 차이가 웹페이지 성능에 영향을 줄 수 있습니다.
2. WebAPI Method 에 Gzip 적용
Global.asax 파일의 Application_BeginRequest 함수에 아래 내용을 추가합니다.
1: protected void Application_BeginRequest(object sender, EventArgs e)
2: {
3: HttpContext context = HttpContext.Current;
4: context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress);
5: HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip");
6: HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true;
7: }
- Gzip 압축 적용전
1,962 Byte 의 데이터를를 전달합니다.
- Gzip 압축 적용후
1,962 Byte 의 데이터가 496 byte로 압축되어 전달됩니다..
Response Headers 의 Transport 속성을 보면 gzip 형식으로 압축된것을 볼수 있습니다.
웹사이트의 성능을 조금더 높이기위해서 gzip 형식의 압축방식을 사용하여 데이터를 전달해보세요~~
웹API, WebAPI, gzip, 성능, 웹사이트 성능, perfomence, 웹사이트튜닝, ASP.NET
'프로그래밍 > ASP.NET WebAPI' 카테고리의 다른 글
크로스 도메인을 지원하는 WebAPI 만들기 (Webform) (0) | 2015.01.21 |
---|---|
WebApi 에서 POST 데이터 컨트롤러에서 배열로 받기 (0) | 2015.01.19 |
Web Api 에서 세션 사용하기 (0) | 2015.01.19 |
WebApi Ajax 크로스 도메인 해결방법 (0) | 2014.06.09 |
- Total
- Today
- Yesterday
- drag&drop
- 자바스크립트
- workbook
- grid
- jQuery
- json
- radius
- 제이쿼리
- SVG
- CSS
- IE
- Excel
- 프로시저
- Ajax
- JS
- Style
- jQuery Mobile
- Mobile
- rowspan
- MSSQL
- 저장프로시저
- jquery chart
- html5
- Chart
- WCF
- css3
- ASP.NET
- JavaScript
- WebApi
- 셀렉터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |