방금 친구가 MSN에서 그의 페이지에 빈 문자가 많다고 물었고, 소스 파일을 열어보니 코드가 매우 희박하다는 것을 알게 되었습니다. 그는 그게 낭비라고 생각했고, 그들을 없앨 방법이 있다고 말했다. 저는 그에게 "당신의 페이지는 GZip으로 압축되어 있나요?"라고 물었습니다. 그가 사용했다고 해서 저는 "그럼 빈 문자를 제거할 필요가 없고, 연속된 공백도 잘 압축되어 있어서 제거 후 효과가 좋지 않아요."라고 답했습니다. 이때 아침에 "Blog Park 홈페이지 최적화 경험"이라는 섹션이 있는데, "HTML에서 공백과 빈칸 제거"라는 내용이 있어서, 공백 제거가 얼마나 효과적인지 확인해보려고 시도해보려고 했습니다.
"블로그 파크 홈페이지 최적화 경험":하이퍼링크 로그인이 보입니다.
제 실험 목표는 블로그의 첫 40개 기사의 상세 페이지로, 압축 전 98K에서 277K 사이입니다. 이는 블로그 정원에서 일반적인 페이지 크기라고 생각합니다. 저는 이렇게 테스트 코드를 사용합니다:
위 코드에서는 Bloggarden에서 공백 문자를 제거하는 방법을 사용했고, 결과는 다음과 같습니다:
| 원본 페이지 | 원본 페이지 (압축) | 빈 부품을 제거한 후 | 블랭크 (압축) 이후 | 빈칸을 제거하기 전과 후 | 블랭킹 전후(압축) | | 130760 | 36018 | 117354 | 34702 | 13406 | 1316 | | 255935 | 63406 | 240433 | 61870 | 15502 | 1536 | | 278871 | 86794 | 263704 | 85298 | 15167 | 1496 | | 221248 | 53148 | 205440 | 51548 | 15808 | 1600 | | 151612 | 40260 | 137939 | 38940 | 13673 | 1320 | | 135019 | 36000 | 121593 | 34750 | 13426 | 1250 | | 128239 | 36230 | 114658 | 34878 | 13581 | 1352 | | 161530 | 42776 | 147189 | 41392 | 14341 | 1384 | | 99884 | 28372 | 87047 | 27084 | 12837 | 1288 | | 173534 | 43724 | 158446 | 42272 | 15088 | 1452 | | 191519 | 50398 | 176958 | 48888 | 14561 | 1510 | | 176996 | 40274 | 162706 | 38978 | 14290 | 1296 | | 206348 | 47362 | 191400 | 45964 | 14948 | 1398 | | 137014 | 38608 | 122855 | 37076 | 14159 | 1532 | | 144715 | 37260 | 131097 | 35748 | 13618 | 1512 | | 146531 | 36704 | 132619 | 35302 | 13912 | 1402 | | 199915 | 49224 | 182227 | 47452 | 17688 | 1772 | | 106929 | 29850 | 93690 | 28518 | 13239 | 1332 | | 136264 | 36664 | 121548 | 34990 | 14716 | 1674 | | 148750 | 37990 | 134567 | 36578 | 14183 | 1412 | | 282886 | 71924 | 266336 | 70306 | 16550 | 1618 | | 176099 | 41468 | 161322 | 40126 | 14777 | 1342 | | 108394 | 30456 | 95428 | 29216 | 12966 | 1240 | | 152578 | 40186 | 138543 | 38866 | 14035 | 1320 | | 230243 | 59970 | 215389 | 58554 | 14854 | 1416 | | 251183 | 57156 | 234862 | 55694 | 16321 | 1462 | | 196957 | 48176 | 181608 | 46776 | 15349 | 1400 | | 172267 | 41340 | 158105 | 40056 | 14162 | 1284 | | 265877 | 63650 | 248974 | 62142 | 16903 | 1508 | | 147403 | 38894 | 133751 | 37492 | 13652 | 1402 | | 149091 | 36460 | 134998 | 35190 | 14093 | 1270 | | 167741 | 43200 | 153614 | 41856 | 14127 | 1344 | | 171564 | 40898 | 157333 | 39648 | 14231 | 1250 | | 125812 | 34570 | 111047 | 33200 | 14765 | 1370 | | 190649 | 46524 | 175197 | 45040 | 15452 | 1484 | | 153807 | 39462 | 139401 | 38054 | 14406 | 1408 | | 120788 | 32228 | 107534 | 30930 | 13254 | 1298 | | 163327 | 41110 | 148763 | 39710 | 14564 | 1400 | | 103101 | 29476 | 90284 | 28222 | 12817 | 1254 | | 141384 | 39784 | 126641 | 38350 | 14743 | 1434 |
마지막 두 열에 주목할 만한데, 여기서 빈칸을 제거하기 전후로 페이지 부피를 10K 이상 줄일 수 있음에도 불구하고,압축 후에는 차이가 실제로 1-2K, 즉 약 1-2개의 패킷에 불과합니다。 이 절약이 그만한 가치가 있을까요? 게다가 Blog Garden은 각 페이지의 내용을 정규 표현식으로 대체하는 방식을 택하는데, 그만큼 비용이 들 만한 가치가 있을까요? 이것은 블로그 정원이 스스로 프로필을 드러내는 문제입니다......
마지막으로, 사실 공백 문자를 제거하는 것은 그렇게 간단한 일이 아닙니다. 가장 단순한 예로는: 멋진 코드를 기사 내 한 줄로 변환하는 HTML 편집기나 RSS 리더기를 접해본 적이 있나요? 이는 임의로 모든 공백을 제거했지만, ......라는 <pre/>HTML 태그가 있다는 사실을 잊었기 때문입니다
|