แคช ACL ภายนอกของ Squid: ทำไมตัวช่วยจึงไม่ถูกเรียกทุกครั้ง
ออกแบบตัวช่วย ACL ภายนอกของ Squid โดยคำนึงถึงกระบวนการที่คงอยู่ คีย์แคชการตัดสินใจ และข้อกำหนดความสดของสิทธิ์ที่ชัดเจน
ตัวช่วยที่บันทึกคำขอหนึ่งครั้งแล้วเงียบไปอาจเป็นเรื่องปกติ Squid อาจประเมินกฎโดยใช้ผลลัพธ์ ACL ภายนอกที่แคชไว้โดยไม่ส่งคำถามอื่นไปยังตัวช่วย
ก่อนอื่น กำหนดการตัดสินใจที่ใช้ซ้ำได้ «บัญชีนี้ใช้พร็อกซี่ได้หรือไม่» ต้องใช้ข้อมูลนำเข้าต่างจาก «บัญชีนี้ไปถึงปลายทางนี้ได้หรือไม่» รูปแบบ ACL ภายนอกแบบขยายเป็นตัวสร้างคีย์แคช หากตัวช่วยตัดสินตามชื่อผู้ใช้และปลายทางแต่คีย์มีเพียงชื่อผู้ใช้ การอนุมัติที่แคชไว้อาจมีผลกว้างกว่าที่ตั้งใจ รวมข้อมูลนำเข้าทุกอย่างที่เปลี่ยนคำตอบและหลีกเลี่ยงรายละเอียดที่เพียงแต่แยกการตัดสินใจที่เท่ากันออกจากกัน
จากนั้นเลือกความสด ttl และ negative_ttl แบบบวกควบคุมผลลัพธ์ที่ตรงกันและไม่ตรงกัน grace สามารถเริ่มการรีเฟรชก่อนรายการหมดอายุ ตัดสินใจว่าการอนุมัติที่แคชไว้ของบัญชีที่ถูกเพิกถอนจะส่งผลต่อการตัดสินใจภายหลังได้นานเท่าใด ไม่มีการตั้งค่าใดอนุญาตทันเนล CONNECT ที่สร้างแล้วใหม่สำหรับทุกไบต์หรือคำขอ HTTPS ภายใน หากตัวช่วยบังคับใช้โควตาการรับส่งข้อมูล การถ่ายโอนที่ได้รับอนุญาตอาจดำเนินต่อได้หลังจากยอดคงเหลือเปลี่ยน
ตัวช่วยเป็นผู้ร่วมโปรโตคอลที่คงอยู่ ไม่จำเป็นต้องเป็นกระบวนการสคริปต์ใหม่สำหรับทุกคำขอ เตรียมให้พร้อมสำหรับบรรทัดคำถามที่ต่อเนื่องและส่งทุกคำตอบอย่างรวดเร็ว วางการวินิจฉัยไว้บนช่องทางอื่น เมื่อเปิดใช้งานการทำงานพร้อมกัน ให้ส่งคืนตัวระบุช่องทางที่ให้มาซึ่งสอดคล้องกัน
สุดท้าย กำหนดผลลัพธ์แบบช้า ไม่พร้อมใช้งาน และข้อผิดพลาดภายใน และทำให้ลำดับ ACL โดยรอบสร้างผลลัพธ์เหล่านั้น การออกแบบสมบูรณ์เมื่อทั้งความเฉพาะเจาะจงและอายุที่อนุญาตของคำตอบที่ใช้ซ้ำได้ตรงกับข้อกำหนดการเข้าถึง