2รวมและบีบอัดไฟล์ JavaScript และ CSS บนฝั่งเซิร์ฟเวอร์
แนวทางปฏิบัติที่ดีที่สุดประการหนึ่งสำหรับการเพิ่มประสิทธิภาพการทำงานของเว็บคือการลดคำขอ HTTP และยังเป็นกฎที่สำคัญที่สุดใน YSlow อีกด้วย โซลูชันในการลดคำขอ HTTP ได้แก่ การรวมไฟล์ JavaScript และ CSS, CSS Sprites, Image Maps และการใช้ URI ข้อมูลเพื่อเข้ารหัสรูปภาพ CSS Sprites และการแมปรูปภาพมีให้บริการอย่างกว้างขวาง แต่เนื่องจาก IE6 และ IE7 ไม่รองรับ URI ข้อมูลและปัญหาด้านประสิทธิภาพ เทคโนโลยีนี้จึงยังไม่ถูกนำมาใช้กันอย่างแพร่หลาย ในปัจจุบัน จำนวนไฟล์ JavaScript และ CSS ในหน้าเว็บส่วนใหญ่เท่ากับตอนที่ได้รับการพัฒนา จำนวนหน้าเว็บจำนวนเล็กน้อยจะถูกรวมเข้าด้วยกันตามสถานการณ์จริง การรวมเหล่านี้บางส่วนทำได้ด้วยตนเอง การรวมใหม่แต่ละครั้งจะต้องดำเนินการในเครื่องอีกครั้ง การเสร็จสิ้นและการอัปโหลดไปยังเซิร์ฟเวอร์นั้นค่อนข้างง่ายและยุ่งยาก และการบีบอัดไฟล์เดียวกันก็มีสถานการณ์ที่คล้ายกัน การใช้การรวมและการบีบอัดฝั่งเซิร์ฟเวอร์ทำให้เราสามารถทำให้รายละเอียดไฟล์มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ตามตรรกะการพัฒนา และใช้กฎ URL ในหน้าเว็บเพื่อรวมและบีบอัดไฟล์โดยอัตโนมัติ ซึ่งจะค่อนข้างยืดหยุ่นและมีประสิทธิภาพ
ตัวจัดการคำสั่งผสม YUI
ในเดือนกรกฎาคม พ.ศ. 2551 ทีม YUI ได้ประกาศว่าจะให้บริการ Combo Handler สำหรับส่วนประกอบ YUI JavaScript บน YAHOO! Combo Handler เป็นโมดูล Apache ที่พัฒนาโดย Yahoo! ซึ่งช่วยให้นักพัฒนาสามารถรวมไฟล์ JavaScript และ CSS ผ่าน URL ได้อย่างง่ายดายและสะดวก ซึ่งช่วยลดจำนวนคำขอไฟล์ได้อย่างมาก ตัวอย่างเช่น การใช้คอมโพเนนต์ Rich Text Editor ของ YUI2 บนเพจจำเป็นต้องแนะนำไฟล์ JavaScript หลายไฟล์ วิธีการทั่วไปมีดังนี้:
หลังจากใช้บริการ Combo Handler แล้ว โค้ดข้างต้นสามารถเขียนเป็น:
นอกจากจะลดความสามารถในการอ่านโค้ดลงเล็กน้อยแล้ว การใช้บริการ Combo Handler ยังช่วยลดจำนวนคำขอ HTTP อย่างมาก และยังช่วยลดจำนวนโค้ด URL ซึ่งเป็นสิ่งสำคัญสำหรับการเพิ่มประสิทธิภาพการทำงานของเว็บ ดังนั้น เริ่มจาก YUI 2.6.0 ส่วนประกอบหลักของ YUI Loader จึงมีฟังก์ชัน Combo Handling ในตัว นั่นคือเมื่อใช้ YUI Loader โดยการกำหนดค่าแอตทริบิวต์รวม ไฟล์ JavaScript หรือ CSS หลายไฟล์ที่จะโหลดสามารถโหลดได้ใน รูปแบบการใช้บริการ Combo Handler รวมกัน ตราบใดที่เซิร์ฟเวอร์ไฟล์คงที่รองรับ Combo Handler ใน YUI เมื่อกำหนดค่าการรวมเป็นจริง CDN จะมีค่าเริ่มต้นเป็น Yahoo! CDN ( http://yui.yahooapis.com ) ดังนั้นจึงไม่มีปัญหา นี่เป็นหนึ่งในส่วนที่มีเสน่ห์ที่สุดของ YUI
น่าเสียดายที่ http://yui.yahooapis.com ในประเทศจีนความเร็วไม่ค่อยดีนัก เดิมที Yahoo China ให้บริการ http://cn.yui.yahooapis.com/ แต่ยังไม่มีบริการ Combo Handler ในเวลาเดียวกัน ด้วยเหตุผลหลายประการ การอัปเดตจึงหยุดทำงานตั้งแต่ YUI 2.7.0 ที่แย่กว่านั้นคือแม้ว่าโมดูล Apache ที่พัฒนาโดย Yahoo! เพื่อรองรับ Combo Handler ได้รับการวางแผนที่จะเป็นโอเพ่นซอร์ส แต่อย่างน้อยก็ในตอนนี้ หากต้องการใช้งาน คุณต้องใช้ฟังก์ชันที่คล้ายกันด้วยตนเอง มีการประยุกต์ใช้เทคโนโลยีที่คล้ายคลึงกันไม่มากนักในประเทศจีน