ข้อมูลส่วนหัวโปรโตคอล HTML HTTP ควบคุมข้อมูลแคชของหน้าในหลายสถานที่รวมถึงด้านเบราว์เซอร์ด้านเซิร์ฟเวอร์แคชระดับกลาง (เช่นปลาหมึก ฯลฯ ) และด้านเว็บเซิร์ฟเวอร์ บทความนี้กล่าวถึงสถานการณ์แคชของหน้า HTML ด้วยข้อมูลการควบคุมแคชในข้อมูลส่วนหัว (หน้า HTML ที่สร้างโดย JSP/Servlets ยังเป็นหน้า HTML) ในเซิร์ฟเวอร์แคชระดับกลาง
คำหลักส่วนหัวเกี่ยวกับแคชในโปรโตคอล HTTP รวมถึงการควบคุมแคช (HTTP1.1), PRAGMA (HTTP1.0), การแก้ไขล่าสุด, หมดอายุ ฯลฯ
ใน HTTP 1.0 แคชหน้าถูกควบคุมผ่าน Pragma และคุณสามารถตั้งค่า: Pragma หรือไม่แคช มีบทความมากมายบนอินเทอร์เน็ตอธิบายวิธีป้องกันเบราว์เซอร์หรือเซิร์ฟเวอร์แคชระดับกลางจากหน้าแคช ค่ามักจะถูกตั้งค่าเป็นไม่แคช แต่ค่านี้ไม่ปลอดภัย โดยปกติแล้วการหมดอายุจะถูกตั้งค่าเป็น 0 เพื่อให้บรรลุเป้าหมาย อย่างไรก็ตามหากเราต้องการเบราว์เซอร์หรือแคชเซิร์ฟเวอร์โดยเจตนาเพื่อแคชหน้าของเราค่านี้จะต้องตั้งค่าเป็น Pragma
ใน HTTP 1.1 การควบคุมแคช จะเปิดใช้งานเพื่อควบคุมแคชของหน้า นี่คือพารามิเตอร์ที่ใช้กันทั่วไปบางประการ:
•ไม่มีแคชทั้งเบราว์เซอร์หรือเซิร์ฟเวอร์แคชควรแคชข้อมูลหน้า
•สาธารณะทั้งเบราว์เซอร์และเซิร์ฟเวอร์แคชสามารถแคชข้อมูลหน้า
•ไม่ควรเก็บข้อมูลการร้องขอและการตอบกลับในระบบดิสก์ของอีกฝ่าย
•ต้องทำการตรวจสอบใหม่สำหรับแต่ละคำขอจากไคลเอนต์พร็อกซีเซิร์ฟเวอร์จะต้องต้องการให้เซิร์ฟเวอร์ตรวจสอบว่าแคชนั้นล้าสมัย
ดัดแปลงล่าสุดเฉพาะเวลารุ่นสุดท้ายของหน้ารูปแบบ GMT;
หมดอายุค่าขีด จำกัด ที่หมดอายุรูปแบบ GMT หมายความว่าเบราว์เซอร์หรือเซิร์ฟเวอร์แคชจะต้องได้รับข้อมูลหน้าใหม่จากเซิร์ฟเวอร์จริงหลังจากจุดเวลานี้
ค่าสองค่าข้างต้นถูกตั้งค่าเป็นรูปแบบ GMT ประเภทอักขระใน JSP และไม่สามารถมีผลได้ดังนั้นประเภทยาวจึงถูกตั้งค่าให้มีผล
นี่คือตัวอย่างการทดสอบ:
แพ็คเกจ com.servlet; นำเข้า java.io.ioexception; นำเข้า java.io.printwriter; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.httpservlequest Servleta ขยาย HTTPSERVLET {@OverridePublic Void Service (HTTPSERVLETREQUEST, HTTPSERVLETRESSESPONSE RESPISSESS) พ่น ServleTexception, iOException {Response.SETCONTTYTYPE ("ข้อความ/html"); วินาที // หากคุณป้อนหน้าใหม่ภายในไม่กี่วินาทีคุณจะไม่เข้าสู่ java.util.date ของ servlet ของวันที่ = ใหม่ java.util.date (); Response.setDateHeader ("ล่าสุดที่แก้ไข", date.getTime ()); // ล่าสุดที่แก้ไขแล้ว: เวลารุ่นสุดท้ายของการตอบสนองหน้าเว็บ SetDateHeader ("Expires", date.getTime ()+); // หมดอายุ: การตอบสนอง จำกัด การหมดอายุ Setheader ("แคชควบคุม", "สาธารณะ"); // การควบคุมแคชควบคุมว่าหน้าถูกแคชสาธารณะ: ทั้งเบราว์เซอร์และเซิร์ฟเวอร์แคชสามารถแคชข้อมูลหน้า; Response.Setheader ("Pragma", "Pragma"); // pragma: ตั้งค่าว่าหน้าถูกแคชหรือไม่ ถ้าเป็น Pragma มันจะถูกแคช หากไม่มีแคชมันจะไม่ถูกแคช///เบราว์เซอร์หรือแคชเซิร์ฟเวอร์ไม่ได้รับอนุญาตให้แคชข้อมูลหน้าปัจจุบัน /*response.Setheader ("Pragma", "No-cache"); Response.setDateHeader ("หมดอายุ",); Response.addheader ("Cache-Control", "No-cache"); // ทั้งเบราว์เซอร์และ Cache Server ไม่ควรแคชการตอบสนองข้อมูลหน้าเว็บ Addheader ("แคช-ควบคุม", "ไม่มีร้านค้า"); Response.addheader ("cache-control", "ต้องตรวจสอบอีกครั้ง");*//// สำหรับแต่ละคำขอจากไคลเอนต์พร็อกซีเซิร์ฟเวอร์จะต้องต้องการให้เซิร์ฟเวอร์ตรวจสอบว่าแคชนั้นล้าสมัย System.out.println ("ป้อน servlet"); Response.getWriter (). เขียน ("ยินดีต้อนรับสู่โฮมเพจของฉัน");}} หากคุณต้องการตั้งค่าแคชในหน้า HTML ให้เพิ่มคำสั่งต่อไปนี้ลงในแท็ก <head>:
<meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "หมดอายุ" เนื้อหา = ">"
สิ่งที่แนบมา: บทบาทของเมตาในหน้า HTML
Meta ใช้เพื่อจำลองส่วนหัวการตอบสนองของโปรโตคอล HTTP ในเอกสาร HTML เมตาแท็กใช้ใน <head> และ </head> ของหน้าเว็บ เมตาแท็กมีการใช้งานมากมาย มีสองคุณสมบัติของเมตา: ชื่อและ http-equiv แอตทริบิวต์ชื่อส่วนใหญ่จะใช้เพื่ออธิบายหน้าเว็บซึ่งสอดคล้องกับเนื้อหา (เนื้อหาหน้าเว็บ) เพื่อให้หุ่นยนต์ของเครื่องมือค้นหาสามารถค้นหาและจำแนก (ปัจจุบันเครื่องมือค้นหาเกือบทั้งหมดใช้หุ่นยนต์ออนไลน์เพื่อค้นหาค่าเมตาโดยอัตโนมัติเพื่อจำแนกหน้าเว็บหน้า) สิ่งที่สำคัญที่สุดคือคำอธิบาย (คำอธิบายของไซต์บนเครื่องมือค้นหา) และคำหลัก (คำหลักที่จัดหมวดหมู่) ดังนั้นคุณควรเพิ่มค่าเมตาในแต่ละหน้า สิ่งที่ใช้กันมากที่สุดมีดังต่อไปนี้:
แอตทริบิวต์ชื่อ
1. <meta name = "generator" contact = ""> ใช้เพื่อแสดงเครื่องมือสร้าง (เช่น Microsoft FrontPage 4.0) ฯลฯ ;
2. <meta name = "คำหลัก" contact = ""> อธิบายคำหลักของหน้าเว็บของคุณไปยังเครื่องมือค้นหา;
3. <meta name = "คำอธิบาย" contact = ""> บอกเครื่องมือค้นหาเนื้อหาหลักของเว็บไซต์ของคุณ;
4. <meta name = "ผู้เขียน" contact = "ชื่อของคุณ"> บอกเครื่องมือค้นหาผู้แต่งการผลิตเว็บไซต์ของคุณ;
5. <meta name = "Robots" contact = "all | none | index | noindex | ติดตาม | nofollow">
คุณลักษณะมีการอธิบายดังนี้:
ตั้งค่าเป็นทั้งหมด: ไฟล์จะถูกเรียกคืนและลิงก์ในหน้าสามารถสอบถามได้;
ตั้งค่าเป็นไม่มี: ไฟล์จะไม่ถูกเรียกคืนและลิงก์ในหน้าไม่สามารถสอบถามได้
ตั้งเป็นดัชนี: ไฟล์จะถูกเรียกคืน;
Set to follow: ลิงก์ในหน้าสามารถสอบถามได้;
ตั้งค่าเป็น noindex: ไฟล์จะไม่ถูกเรียกคืน แต่ลิงก์ในหน้าสามารถสอบถามได้;
ตั้งค่าเป็น nofollow: ไฟล์จะไม่ถูกเรียกคืนและลิงก์ในหน้าสามารถสอบถามได้
แอตทริบิวต์ http-equiv
1. <meta http-equiv = "content-type" contact = "text/html"; charset = gb_2312-80 "> และ <meta http-equiv =" content-language "contact =" zh-cn "> ถูกใช้เพื่ออธิบายข้อความและภาษาที่ใช้ในโฮมเพจ
ตัวอย่างเช่นภาษาอังกฤษคือชุดอักขระ ISO-8859-1 และยังมี BIG5, UTF-8, Shift-Jis, EUC, KOI8-2 และชุดอักขระอื่น ๆ
2. <meta http-equiv = "Refresh" contact = "n; url = http: // yourlink"> เปลี่ยนหน้าเว็บเป็นหน้าภายในเวลาที่กำหนด n;
3. <Meta HTTP-Equiv = "Expires" Contact = "Mon, 12 พฤษภาคม 2001 00:20:00 GMT"> สามารถใช้เพื่อตั้งค่าเวลาหมดอายุของหน้าเว็บ เมื่อหมดอายุจะต้องเรียกใช้เซิร์ฟเวอร์อีกครั้ง ควรสังเกตว่าต้องใช้รูปแบบเวลา GMT
4. <meta http-equiv = "pragma" contact = "no-cache"> ถูกใช้เพื่อตั้งค่าเบราว์เซอร์เพื่อห้ามเนื้อหาเพจจากแคชท้องถิ่นและเมื่อหน้าเว็บเหลือไม่สามารถเรียกออกจากแคชได้อีกครั้ง
5. <meta http-equiv = "set-cookie" contact = "mon, 12 พฤษภาคม 2001 00:20:00 GMT"> การตั้งค่าคุกกี้ หากหน้าเว็บหมดอายุคุกกี้ที่บันทึกไว้จะถูกลบ นอกจากนี้ยังจำเป็นต้องใช้รูปแบบเวลา GMT
6. <meta http-equiv = "pics-label" contact = ""> การจัดอันดับระดับหน้าเว็บมีการตั้งค่าเนื้อหาในตัวเลือกอินเทอร์เน็ตของ IE ซึ่งสามารถป้องกันการเรียกดูเว็บไซต์ที่ จำกัด และระดับข้อ จำกัด ของเว็บไซต์ถูกตั้งค่าผ่านแอตทริบิวต์ Meta;
7. <meta http-equiv = "windows-darget" contact = "_ top"> บังคับให้หน้าจะแสดงเป็นหน้าอิสระในหน้าต่างปัจจุบันซึ่งสามารถป้องกันไม่ให้หน้าเว็บของคุณถูกเรียกโดยผู้อื่นเป็นหน้าเฟรม;
8. <meta http-equiv = "Page-enter" contact = "เปิดเผย (ระยะเวลา = 10, transtion = 50)"> และ <meta http-equiv = "page-exit" contact = "เปิดเผย (ระยะเวลา = 20, transtion = 6)" ฟังก์ชั่นนี้คือ "การเปลี่ยนรูปแบบ/หน้าเว็บ" ใน FrontPage แต่หน้าเพิ่มไม่สามารถเป็นหน้าเฟรมได้
ข้างต้นเป็นความรู้ที่เกี่ยวข้องเกี่ยวกับการตั้งค่าแคชและการไม่แคชของหน้าและบทบาทของเมตาในหน้า HTML ที่บรรณาธิการแนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!