แคช ASP หลายประโยค
1. ตัวแปรแอปพลิเคชัน
ตัวแปรเชลยมักใช้: แอปพลิเคชัน (ชื่อตัวแปร) = [ค่าตัวแปร]
ใส่ข้อความเหล่านี้ใน global.asa ภายใต้ไดเรกทอรีรากของเว็บไซต์เพื่อรับตัวแปรทั่วโลก
2. บัฟเฟอร์
แอตทริบิวต์บัฟเฟอร์ระบุว่าจะส่งออกหน้าบัฟเฟอร์หรือไม่ เมื่อหน้าบัฟเฟอร์ส่งออกหลังจากสคริปต์เซิร์ฟเวอร์ทั้งหมดในหน้าปัจจุบันจะถูกประมวลผลหรือเรียกใช้วิธีการล้างหรือสิ้นสุดเซิร์ฟเวอร์จะส่งการตอบกลับไปยังไคลเอนต์
หลังจากเซิร์ฟเวอร์ถูกส่งไปยังไคลเอนต์แล้วแอตทริบิวต์บัฟเฟอร์จะไม่สามารถตั้งค่าได้ ดังนั้นการตอบสนองบัฟเฟอร์ควรถูกเรียกในบรรทัดแรกของไฟล์. asp
ไวยากรณ์
Response.buffer [= Flag] พารามิเตอร์
ธง
ระบุว่าเอาต์พุตหน้าบัฟเฟอร์สามารถเป็นหนึ่งในค่าต่อไปนี้หรือไม่ คำอธิบายค่า
เท็จไม่สามารถหยุดยั้งได้ ค่านี้เป็นค่าเริ่มต้น เซิร์ฟเวอร์ส่งเอาต์พุตไปยังไคลเอนต์ในขณะที่ประมวลผลสคริปต์
ในเว้นแต่สคริปต์ ASP ทั้งหมดในหน้าปัจจุบันจะถูกประมวลผลหรือเรียกใช้วิธีการล้างหรือสิ้นสุดเซิร์ฟเวอร์จะไม่ส่งการตอบกลับไปยังไคลเอนต์
คำอธิบายประกอบ
หากการตั้งค่าสคริปต์ ASP ปัจจุบันถูกตั้งค่าเป็น TRUE แต่วิธีการล้างไม่ได้เรียกว่าเซิร์ฟเวอร์จะเก็บคำขอของลูกค้าไว้เพื่อรักษากิจกรรม เนื่องจากเซิร์ฟเวอร์ไม่จำเป็นต้องสร้างการเชื่อมต่อใหม่สำหรับไคลเอนต์แต่ละตัวจึงประหยัดเวลา
อย่างไรก็ตามบัฟเฟอร์จะป้องกันการตอบสนองจากการแสดงการตอบสนองที่ไคลเอนต์ก่อนที่สคริปต์ทั้งหมดในหน้าก่อนหน้า สำหรับสคริปต์ยาวคุณอาจรู้สึกล่าช้า
นั่นคือเมื่อบัฟเฟอร์เป็นจริง ASP จะส่งโปรแกรมนี้ไปยังลูกค้าด้วยกันหลังจากที่โปรแกรมได้รับการอธิบาย
เมื่อบัฟเฟอร์เป็นเท็จ ASP จะส่งข้อมูลขณะแยกวิเคราะห์
<% response.buffer = true%> ประโยคนี้หมายถึงการระบุว่าหน้าเอาต์พุตถูกบีบอัด Flush %> หรือ < %การตอบสนองต่อ %> คำสั่งจะปล่อยข้อมูลของบัฟเฟอร์
รหัสต่อไปนี้แสดงให้เห็นถึงคุณสมบัติของบัฟเฟอร์นี้:
1 <% 2Response.Charset = GB2312 3Response.Buffer = FALSE 4DIM STR256 5STU256 = 1234567890ABCDEFGHIJKLMNOPQRS qrsnopqrstuvwxyz1234567890abcdefghi bcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrsnopqrstuvwxyz 6 7response เขียน (สิ้นสุด) 15%>
หาก Response.Buffer = False เปลี่ยนเป็น Response.Buffer = TRUE มันจะถูกแยกวิเคราะห์และเอาต์พุตนั่นคือเอาต์พุตหน้าเว็บที่มีหมายเลข 1 ถึง 100 หมายเลข
แม้ว่าแอตทริบิวต์บัฟเฟอร์ของการตอบสนองสามารถเพิ่มความเร็วในการแสดงผลของหน้า แต่สถานการณ์คืออะไร หากคุณกำลังทำหน้าแรกส่วนบุคคลทั่วไปปริมาณการเข้าถึงไม่สูงมากและไม่มีโปรแกรมการดำเนินการที่ซับซ้อนดังนั้นจึงไม่สำคัญที่จะใช้แอตทริบิวต์นี้เพราะต้องใช้เวลาสักครู่ในการบัฟเฟอร์ข้อมูล แต่เราไม่สามารถทำได้ รู้สึกว่า
< % response.buffer = true %>
ประโยคนี้เป็นเพราะสิ่งนี้จะช่วยให้ลูกค้าได้รับข้อมูลเพิ่มเติมภายในเวลาที่มีประสิทธิภาพ
3. แต่อย่างใด
ไวยากรณ์: Response.exexpires = [เวลา]
หลังจากใช้เบราว์เซอร์หรือแคชพร็อกซีจำนวนคลิกบนเว็บเซิร์ฟเวอร์จะลดลง หากคุณต้องการเข้าใจทุกหน้าหรือโพสต์โฆษณาอย่างถูกต้องไม่เหมาะสำหรับการใช้เบราว์เซอร์และตัวแทนในการแคช
แคชเบราว์เซอร์ถูกควบคุมโดยพารามิเตอร์ส่วนหัว HttpExpires และจะถูกส่งไปยังเบราว์เซอร์โดยเว็บเซิร์ฟเวอร์ ASP มีสองวิธีง่ายๆในการส่งพารามิเตอร์หัวนี้ หน้าการตั้งค่าจะหมดอายุภายในระยะเวลาหนึ่งและคุณสามารถใช้คุณสมบัติการตอบสนองที่ว่างเปล่า ตัวอย่างต่อไปนี้จะบอกเนื้อหาของเบราว์เซอร์หลังจาก 10 นาที: < % response.exext.expires = 10 %>
ตั้งค่าการตอบสนองไม่ว่าจะเป็นลบหรือ 0 และห้ามแคช สำหรับการตั้งค่าของการตอบสนองแอตทริบิวต์ที่สอง expiresabsolute เนื้อหาของเนื้อหาของเวลาพิเศษได้รับอนุญาตให้หมดอายุ
< % response.expiresabsolute = #May 31,2001 13: 30: 15 # %>
นอกเหนือจากการใช้วัตถุตอบสนองเพื่อตั้งค่าเวลาหมดอายุแล้วคุณยังสามารถเขียนเครื่องหมาย <meta> บนส่วนหัวไฟล์ HTML แม้ว่าตัวแทนจะไม่สังเกตเห็นเครื่องหมายนี้ แต่เบราว์เซอร์บางอย่างสามารถ
<meta http-equiv = หมดอายุค่า = 31 พฤษภาคม 2001 13:30:15>
ในที่สุดสำหรับพร็อกซี HTTP โดยใช้ Response.CacheControl สามารถระบุได้ว่าเนื้อหาของแคชนั้นถูกแคชหรือไม่ ตั้งค่าฟังก์ชั่นของสาธารณะเพื่อเปิดฟังก์ชั่นของเนื้อหาแคชพร็อกซี
< % response.CacheControl = public %>
โดยค่าเริ่มต้นแอตทริบิวต์นี้ถูกตั้งค่าเป็นส่วนตัว หมายเหตุ: อย่าอนุญาตให้เอเจนต์บัฟเฟอร์หน้าเหล่านั้นที่แสดงต่อผู้ใช้เฉพาะเนื่องจากเอเจนต์อาจให้หน้าเว็บที่เป็นของผู้ใช้รายอื่นแก่ผู้ใช้ปัจจุบัน