짝수 스택 오버플로는 compress their HTML이 아닙니다. HTML을 압축하는 것이 좋습니다? 내가 본 것까지 그것은 looks like Google is the only one .... (출처보기). 왜이 표준 관행이 아닌가?누가 HTML을 압축합니까?
답변
HTML의 소형화과 GZIP 압축을 혼동하고 있다고 생각합니다. 후자는 매우 일반적입니다 (예 : Apache에서 mod_gzip
사용, here). 대부분의 경우 충분해야합니다. 그것은 서버와 브라우저 사이에 완전히 내부적이며, 소스 코드에서 볼 수 없습니다. 저장된 바이트의 트래픽 절감 달러의 수만을 의미 할 수있는
실제 축소를이 사이트를 제외하고 정말 가치가 없다 (구글처럼.)
참조 할 수있는 링크가 있습니까? –
@viatropos yup : 여기 다른 기사 : http://www.linuxjournal.com/article/6802 –
미니 파일링은 또한 훔치거나 리버스 엔지니어링하는 것을 어렵게 만듭니다. –
나는 소수의 사람들이한다고 생각합니다. 너무 많은 작업, 너무 작은 이득, esepcailly HTTP의 유료 하중으로 압축 될 수 요즘.
내가 배울 수 있도록 링크가 있습니까? –
축소 및 gzip 압축은 상호 배타적이지 않습니다. –
물론 이죠, 그렇다고해서 제가 minification - bytecode가 현명하지 못하다는 것을 의미합니다. 많은 웹 사이트의 경우 단순히 노력할만한 가치가 없습니다. – TomTom
Gzip 압축하는 모든 현대적인 웹 서버와 웹 서버가 HTML 압축 (축소)을 쓸모 없거나 거의 중요하지 않게 만듭니다.
이렇게 거의 사용하지 않습니다.
-1 : [표창장 필요] ... IE6에서도 gzip으로 압축 된 JavaScript 지원 ... gzip으로 압축 된 JavaScript를 지원하지 않는 브라우저를 ... (gzip을 지원하지 않는 브라우저는 제외 : t Accept-Encoding : gzip'을 사용하여 식별하고 처리하기 쉽습니다.) –
@Andrew, 이것을 제거했습니다. 나는 그런 표창장을 실제로 가지고 있지 않다. 심지어 너도 JS 사역이 HTML보다 훨씬 더 많이 인기가있다. – Artyom
코드를 축소하지 않는 또 하나의 이유는 학습을위한 것입니다. 나는 사람들의 소스 코드를 통해 그들이 어떻게 문제를 해결하는지 살펴보고 다른 사람들이 내 모습을 볼 수 있도록 완전한 형태로 소스를 유지하는 능력을 좋아한다. 아직 브라우저에 전송되기 전에 gzip으로 압축 된 코드가 있지만 도착하면 완전한 형식으로 압축되지 않고 완전히 읽을 수 있습니다.
HTML 축소는 그만큼 Stackoverflow에 중요하지 않습니다. FrontPage의 HTML 소스를 기반으로 약간의 테스트를 수행했습니다.
Raw content length: 207454 bytes Gzipped content length: 30915 bytes Trimmed content length: 176354 bytes Trimmed and gzipped content length: 29658 bytes는 SO 이미 (실제로, HTML의 축소를, 또는 당신이 그것을 호출 으로 "HTML 압축") 응답 당 대역폭 1킬로바이트 주위에 "전용"절약 할 수 있으므로 공백을 트리밍, GZIP 압축을 사용합니다. 하루에 1 백만 페이지 뷰가 넘는 거인들에게는 HTML 축소가 이미 1GB 당 하루 대역폭을 절약 할 수 있습니다 (실제로 SO는 그만큼 절약 할 수 있습니다). Google은 하루에 수십억 개의 페이지 뷰를 제공하며 차이가있는 모든 바이트는 하루에 기가 바이트를 저장합니다.
FWIW, 나는 그것을 테스트하기 위해 간단한 quick'n'dirty Java 응용 프로그램을 사용 :
package com.stackoverflow.q2424952;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.zip.GZIPOutputStream;
public class Test {
public static void main(String... args) throws IOException {
InputStream input = new URL("http://stackoverflow.com").openStream();
byte[] raw = raw(input);
System.out.println("Raw content length: " + raw.length + " bytes");
byte[] gzipped = gzip(new ByteArrayInputStream(raw));
System.out.println("Gzipped content length: " + gzipped.length + " bytes");
byte[] trimmed = trim(new ByteArrayInputStream(raw));
System.out.println("Trimmed content length: " + trimmed.length + " bytes");
byte[] trimmedAndGzipped = gzip(new ByteArrayInputStream(trimmed));
System.out.println("Trimmed and gzipped content length: " + trimmedAndGzipped.length + " bytes");
}
public static byte[] raw(InputStream input) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
for (int data; (data = input.read()) != -1; output.write(data));
input.close(); output.close(); return output.toByteArray();
}
public static byte[] gzip(InputStream input) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(output);
for (int data; (data = input.read()) != -1; gzip.write(data));
input.close(); gzip.close(); return output.toByteArray();
}
public static byte[] trim(InputStream input) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
for (String line; (line = reader.readLine()) != null;) output.write(line.trim().getBytes());
reader.close(); output.close(); return output.toByteArray();
}
}
- 1. Xcode 프로젝트를 어떻게 압축합니까?
- 2. 누가 루씬 BooleanQuery 누가 복음에서
- 3. 누가 돈을 누가 빚 졌는지
- 4. 수은은 저장소에서 파일을 어떻게 압축합니까?
- 5. 어떻게 아이폰에 programtically 파일을 압축합니까?
- 6. 언제 SQL Server 데이터베이스를 압축합니까?
- 7. 어떻게 gzip을 Perl에서 문자열을 압축합니까?
- 8. ObjectContext.AcceptAllChanges! 누가 수락하고 누가 변경 작업을 수행합니까?
- 9. 누가 배포해야합니까?
- 10. Opera Turbo는 데이터 (캐시)를 어떻게 압축합니까?
- 11. PS/PDF는 어떻게 비트 맵을 저장하고 압축합니까?
- 12. 세션/캐시에 저장된 객체를 어떻게 압축합니까?
- 13. 클라우드 컴퓨팅 : 누가 사용합니까?
- 14. 누가 오류/예외를 기록해야합니까?
- 15. 누가 당신을 보냈습니까?
- 16. 누가 세션에서 데이터를 저장해야합니까
- 17. 보안 결함을 누가 담당합니까?
- 18. 누가 내 스레드를 방해합니까?
- 19. 누가 메서드를 호출하는지 찾기
- 20. 누가 HttpPostedFile.InputStream을 폐기해야합니까? - 언제?
- 21. 누가 소켓 연결을 종료합니까?
- 22. 누가 NSWindowController를 소유하고 있습니까?
- 23. 누가 내 WebService를 호출합니까?
- 24. Facebook 추적 누가 누구에게
- 25. asp.net mvc 누가 온라인입니까
- 26. 누가 "오래된"시스템을 배워야합니까?
- 27. 누가 데이터 모델 설계를 수행해야합니까?
- 28. Facebook - 누가 링크를 공유하는지 확인하십시오.
- 29. 누가 가상 상속에서 생성자를 호출합니까?
- 30. 누가 무료로 setvbuf 버퍼를 사용합니까?
참조를 http://stackoverflow.com/questions/1306792/why-minify-assets-and-not- the-markup 및 http://stackoverflow.com/questions/2359484/why-do-many-sites-minify-css-and-javascript-but-not-html-closed –
비슷한 질문이 너무 빨리 나오는 것을 어떻게 알 수 있습니까? ?! –
내가 주로 생각하는 검색 키워드를 선택하는 것이 좋습니다. "HTML 축소"를 검색하면 그가 참조한 모든 링크를 찾을 수 있습니다. –