รูปแบบไฟล์เก็บถาวร Programmable Web Binary (PWB) เป็นรูปแบบไฟล์ที่ใช้สำหรับการจัดเก็บ แพ็กเกจ และการกระจายรหัสแอปพลิเคชันและทรัพยากรบนเว็บอย่างมีประสิทธิภาพ รูปแบบนี้ได้รับการพัฒนาขึ้นเพื่อแก้ไขปัญหาความซับซ้อนและขนาดที่เพิ่มขึ้นของแอปบนเว็บสมัยใหม่ที่ใช้ไฟล์ JavaScript, CSS, HTML, รูปภาพ และไฟล์สินทรัพย์อื่นๆ จำนวนมาก รูปแบบ PWB ช่วยให้สามารถรวมไฟล์เหล่านี้ไว้ในไฟล์เก็บถาวรแบบไบนารีเดียว ซึ่งจะช่วยลดความต้องการพื้นที่จัดเก็บและช่วยให้สามารถส่งผ่านเครือข่ายได้เร็วขึ้น
โดยหลักแล้ว ไฟล์เก็บถาวร PWB ประกอบด้วยส่วนหัวของไฟล์ที่ตามด้วยรายการไฟล์จำนวนหนึ่ง แต่ละรายการไฟล์มีข้อมูลเมตาเกี่ยวกับไฟล์แต่ละไฟล์ที่จัดเก็บในไฟล์เก็บถาวร เช่น ชื่อ ขนาดที่บีบอัดและไม่บีบอัด และค่าแฮช CRC32 เพื่อตรวจสอบความสมบูรณ์ของข้อมูล ข้อมูลไฟล์จริงจะถูกจัดเก็บหลังจากข้อมูลเมตา และจะถูกบีบอัดโดยใช้ขั้นตอนวิธี Deflate ซึ่งเป็นการรวมกันของการเข้ารหัส LZ77 และ Huffman
ส่วนหัวของ PWB เริ่มต้นด้วยตัวเลขวิเศษ 4 ไบต์ (0x50574221) เพื่อระบุไฟล์ว่าเป็นไฟล์เก็บถาวร PWB ตัวเลขเวอร์ชัน 2 ไบต์ตามหลังตัวเลขวิเศษเพื่อระบุเวอร์ชันรูปแบบ PWB เวอร์ชันปัจจุบันคือ 1.0 หลังจากเวอร์ชันจะมี 4 ไบต์ที่สงวนไว้สำหรับการใช้งานในอนาคต ตามด้วยจำนวนเต็ม 8 ไบต์ที่แสดงจำนวนรายการไฟล์ทั้งหมดในไฟล์เก็บถาวร
แต่ละรายการไฟล์ในไฟล์เก็บถาวร PWB เริ่มต้นด้วยจำนวนเต็ม 4 ไบต์ที่ระบุความยาวของข้อมูลเมตาของไฟล์ ข้อมูลเมตาจะถูกจัดเก็บเป็นวัตถุ JSON และมีคุณสมบัติต่างๆ เช่น ชื่อไฟล์ ประเภท MIME แสตมป์เวลา และว่าไฟล์นั้นถูกบีบอัดหรือไม่ ความยาวของข้อมูล เมตาตามด้วยสตริงข้อมูลเมตาที่เข้ารหัสด้วย JSON จริง
หลังจากข้อมูลเมตา ข้อมูลไฟล์ที่บีบอัดจะถูกจัดเก็บ ข้อมูลจะนำหน้าด้วยจำนวนเต็ม 8 ไบต์ที่ระบุขนาดที่บีบอัดของข้อมูล ตามด้วยจำนวนเต็ม 8 ไบต์สำหรับขนาดที่ไม่บีบอัด จากนั้นข้อมูลจะถูกเข้ารหัสโดยใช้ขั้นตอนวิธีการบีบอัด Deflate ซึ่งสามารถลดขนาดของสินทรัพย์ที่ใช้ข้อความ เช่น ไฟล์ JavaScript, CSS และ HTML ได้อย่างมาก
ข้อดีอย่างหนึ่งของรูปแบบ PWB คือความสามารถในการจัดเก็บและบีบอัดสินทรัพย์ของแอปพลิเคชันบนเว็บได้อย่างมีประสิทธิภาพ โดยใช้การบีบอัด Deflate ไฟล์เก็บถาวร PWB สามารถบรรลุอัตราการบีบอัดสูงสำหรับไฟล์ที่ใช้ข้อความ ซึ่งเป็นส่วนใหญ่ของสินทรัพย์แอปบนเว็บ วิธีนี้จะช่วยลดความต้องการพื้นที่จัดเก็บและเพิ่มความเร็วในการถ่ายโอนไฟล์ เนื่องจากข้อมูลที่ต้องส่งผ่านเครือข่ายมีน้อยลง