How to enable HTTP compression

บทนำ (Overview)

“HTTP compression” คือกระบวนการของการบีบอัดไฟล์ให้มีขนาดเล็กลง (Compressing files) ซึ่งทำให้การโหลดข้อมูลผ่าน “Internet” มีความเร็วมากขึ้นเริ่มต้นเราลองมาทำความรู้จักการบีบอัดข้อมูล “HTTP compression” กัน ซึ่งก็คือการบอกให้ “Browser” ทราบว่าข้อมูลมีการถูกบีบอัด ทำให้เว็บไซต์มีขนาดเล็กลง และใช้เวลาในการโหลดข้อมูลเพื่อแสดงผลที่ “Browser” เร็วขึ้น เร็วกว่าเดิมถึง 40% ซึ่งมีโครงสร้างการทำงานดังนี้

BREACH-gzip1

เราสามารถอธิบายโครงสร้าง Header ร้องขอ และรับข้อมูลบีบได้ดังนี้

HTTP header จาก Web Browser ร้องขอข้อมูลจาก Server

ส่วนหัว คำอธิบาย ตัวอย่าง
Accept-Encoding ฺBrowser ส่ง Header ไปยัง Server เพื่อบอกว่าสามารถแสดงผลข้อมูลที่มีการบีบอัด จาก Server Accept-Encoding: gzip, deflate โดย gzip และ deflate คืออัลกอลิทึมในการบีบอัด

HTTP header ของจาก Server ส่งข้อมูลบีบอัดไปยัง Web browser

ส่วนหัว คำอธิบาย ตัวอย่าง
Content-Encoding ประเภทของการเข้ารหัสที่ใช้กับข้อมูลนี้ Content-Encoding: gzip

ขั้นตอน (Steps)

  1. ทดสอบลองเปิด “Apache2” บน “Kali2.0”
    root@KALI:~# service apache2 start
    
  2. จากนั้นเปิด “Web Browser” และเข้าไปที่ “URL” (http://127.0.0.1/)
  3. ให้ทดลองสร้างไฟล์ .php ตัวอย่าง เพื่อเปิดการใช้งาน “gzip” โดยมีคำสั่งดังนี้
    <?php ob_start('ob_gzhandler'); ?>
    <b>Hello World</b>
    
  4. แล้วให้บันทึกไฟล์ไว้ที่โฟลเดอร์ /var/www/html/
  5. ทดสอบเรียกเว็บเพจผ่าน “Web Browser” gzip1
  6. ลองตรวจสอบ Header ของ Request และ Response โดยกดปุ่ม F12 และไปที่ Networkgzip2

 

 

ใส่ความเห็น