เราได้เห็นมาแล้วหลายแห่งว่า ASP สร้างหรือแก้ไขส่วนหัว HTTP ที่ส่งไปยังไคลเอนต์เพื่อตอบสนองต่อคำขอเพจได้อย่างไร มีคุณสมบัติและวิธีการหลายอย่างในออบเจ็กต์ Response ที่สามารถช่วยให้เราทำเช่นนี้ได้ ต่อไปนี้เป็นวิธีการส่วนหัวบางส่วน:
· ควบคุมแคชและการหมดอายุ
· สร้างสถานะและส่วนหัว HTTP ที่กำหนดเอง
· ระบุประเภท MIME หรือประเภทเนื้อหา
·เพิ่มแท็ก PICS
แต่ละประเด็นเหล่านี้จะได้รับการตรวจสอบโดยย่อต่อไป คุณสามารถตรวจสอบคุณสมบัติและวิธีการที่เรากำลังพูดถึงได้โดยคลิกที่ชื่อคุณสมบัติหรือชื่อวิธีการที่เกี่ยวข้องบนโฮมเพจ "Response Object" (show_response.asp)
1. การแคชและเบราว์เซอร์ของผู้ใช้ ASP Web Pages ที่ "หมดอายุ"
รวมถึงพร็อกซีเซิร์ฟเวอร์ใดๆ ระหว่างผู้ใช้กับเซิร์ฟเวอร์ สามารถแคช HTML และหน้าเว็บที่สร้างด้วย ASP ได้ เมื่อผู้ใช้ร้องขอเพจในภายหลัง เบราว์เซอร์จะส่งคำขอ "แก้ไขล่าสุด" ไปยังเซิร์ฟเวอร์ (โดยใช้ส่วนหัว HTTP_IF_MODIFIED_SINCE ที่มีวันที่ของเวอร์ชันแคช) เพื่อถามว่าเพจได้รับการแก้ไขหรือไม่
หากไม่ได้รับการแก้ไข เซิร์ฟเวอร์ควรตอบกลับด้วยรหัสสถานะและข้อความ "304 ไม่ได้รับการแก้ไข" และเบราว์เซอร์จะใช้เนื้อหาที่แคชไว้โดยไม่ต้องดาวน์โหลดสำเนาผ่านเครือข่าย หากมีเวอร์ชันที่แก้ไขแล้ว จะถูกส่งไปพร้อมกับรหัสสถานะและข้อความ "200 OK"
1) คุณลักษณะ Response.CacheContol
ปัจจัยอื่นๆ จะส่งผลต่อกระบวนการประมวลผลนี้ด้วย อย่างไรก็ตาม พร็อกซีเซิร์ฟเวอร์ใดๆ ภายในเส้นทางเครือข่ายที่ใช้โดยเว็บเพจ (โดยปกติจะอยู่ที่ฝั่งไคลเอ็นต์) สามารถหยุดจากการแคชเว็บเพจได้โดยการตั้งค่าคุณสมบัติ Response.CacheControl เป็นส่วนตัว ใน ASP 3.0 นี่เป็นค่าเริ่มต้นสำหรับเว็บเพจ ASP และไม่จำเป็นต้องตั้งค่า แต่จะมีประโยชน์อย่างยิ่งเมื่อหน้าเว็บได้รับการปรับแต่งเป็นพิเศษสำหรับผู้เข้าชมแต่ละราย วิธีนี้จะป้องกันไม่ให้ผู้ใช้รายอื่นในเครือข่ายเดียวกันเข้าถึงหน้าเดียวกัน เมื่อค่าแอตทริบิวต์ CacheControl ถูกตั้งค่าเป็นสาธารณะ เซิร์ฟเวอร์จะได้รับอนุญาตให้แคชเว็บเพจ โปรดทราบว่าพร็อกซีเซิร์ฟเวอร์บางตัวอาจทำงานแตกต่างออกไปและละเว้นหรือข้ามส่วนหัวนี้
ใน IE4 เป็นไปได้ที่จะได้รับข้อความปลอม "หน้านี้หมดอายุ" เมื่อมีการแคชพร็อกซีเซิร์ฟเวอร์ เราได้จัดทำหน้าเว็บ (expiretest_form.asp) ที่สามารถทดสอบบนเครือข่ายผ่านพร็อกซีเซิร์ฟเวอร์ของคุณเองเพื่อตรวจสอบผลกระทบของคุณลักษณะนี้ เพจนี้สามารถแสดงได้โดยการคลิกลิงก์ "Response. CacheControl" บนโฮมเพจ "Response Object" ดังแสดงในรูปด้านล่าง:
เมื่อเพจนี้ถูกส่งไปยังเว็บเพจหมดอายุtest_result.asp จะสามารถตั้งค่าคุณสมบัติ Response.CacheControl ได้ จากนั้นค่าและเวลาที่เรียกใช้สคริปต์จะถูกแทรกลงในเว็บเพจ:
<%
หาก Request.Form("public") = "on" แสดงว่ากล่องกาเครื่องหมาย 'Cache-Control ถูกเลือก
Response.CacheControl = "สาธารณะ"
อื่น
Response.CacheControl = "ส่วนตัว"
สิ้นสุดถ้า
-
<HTML>
-
การควบคุมแคชคือ: <B><% = Response.CacheControl %><</B><P>
ค่าในกล่องข้อความคือ: <B><% Response.Write Request.Form("textbox") %>
-
การตอบสนองเขียนขวา ("0" & ชั่วโมง (ตอนนี้), 2) & ":" & ขวา ("0" & นาที (ตอนนี้), _
& 2) & “:” & ขวา (“0” & วินาที (ตอนนี้),2)
%></B>
ด้วยการคลิก "ย้อนกลับ" และ "ส่งต่อ" บนเบราว์เซอร์ คุณจะสามารถดูได้ว่าโค้ดดำเนินการโดยอัตโนมัติหรือใช้สำเนาที่แคชไว้หรือไม่
2) คุณสมบัติ Response.Expires และ Response.ExpiresAbsolute
สองคุณสมบัติที่ควบคุมเวลาการจัดเก็บของเว็บเพจที่แคชไว้คือคุณสมบัติ Expires และ ExpriesAbsolute ของออบเจ็กต์ Response Response.Expires กำหนดระยะเวลาซึ่งแสดงเป็นนาทีนับตั้งแต่สร้าง ว่าเพจควรยังคงใช้งานได้ก่อนที่จะถูกละทิ้งจากแคช แอตทริบิวต์ ExpiresAbsolute กำหนดวันที่และเวลาที่แน่นอนสำหรับการหมดอายุ
เรามีหน้าเว็บตัวอย่างชื่อ addheaders_form.asp เพื่อสาธิตวิธีใช้แอตทริบิวต์เหล่านี้ คลิกลิงก์สำหรับคุณสมบัติทั้งสองในโฮมเพจของ Response Object
ในหน้าผลลัพธ์ คุณสามารถเพิ่มส่วนหัว HTTP ที่คุณกำหนดเอง และตั้งค่าแอตทริบิวต์ต่างๆ ของส่วนหัว HTTP ที่ส่งผลต่อการตอบสนอง เมื่อคลิกปุ่ม "ส่งเนื้อหาแบบสอบถาม" หน้า show_headers.asp จะเพิ่มส่วนหัวที่เลือกไปยังสตรีมข้อมูลที่ส่งคืน จากนั้นจะแสดงโค้ดที่ใช้ในการดำเนินการนี้ โดยแสดงเวลาดำเนินการที่สอดคล้องกัน ซึ่งสามารถใช้เพื่อตรวจสอบว่าหน้านั้นหรือไม่ คือแคชยังคงถูกดำเนินการอีกครั้ง
รหัสในเว็บเพจ show_headers.asp จะสร้าง และเพิ่มส่วนหัว HTTP ขั้นตอนจะเป็นดังนี้:
<%
'เขียนส่วนหัว HTTP ก่อนเอาต์พุตอื่น ๆ
ถ้า Request.Form("expires") = "on" จากนั้น _
Response.Expires = Request.Form("expires_value")
ถ้า Request.Form("expiresabs") = "on" แล้ว _
Response.ExpiresAbsolute = คำขอแบบฟอร์ม ("expiresabs_value")
ถ้า Request.Form("lastmod") = "on" แล้ว _
Response.AddHeader “แก้ไขล่าสุด”, Cstr (คำขอแบบฟอร์ม (“lastmod_value”))
ถ้า Request.Form("pragma") = "on" แล้ว _
Response.AddHeader “PRAGMA”, CStr (คำขอแบบฟอร์ม (“pragma_value”))
ถ้า Request.Form("refresh") = "on" แล้ว _
Response.AddHeader “REFRESH”, CStr (Request.Form (“refresh_value”))
ถ้า Request.Form("addheader") = "on" และ Len(Request.Form("addheader_name")) จากนั้น _
Response.AddHeader CStr (คำขอแบบฟอร์ม ("addheader_name")), _
CStr(Request.Form(“addheader_value”))
ถ้า Request.Form("status") = "on" แล้ว _
Response.Status = Request.Form("status_value")
-
<HTML>
-
...แสดงรหัสและเวลาดำเนินการ
...
ที่เหลือก็แค่แสดงโค้ดที่ถูกรันและเวลาที่มันถูกรัน ผู้อ่านจะสังเกตเห็นส่วนหัวที่กำหนดเอง "PRAGMA" ที่รวมอยู่ในหน้าเว็บ (ซึ่งเรายังไม่ได้พูดคุยกันจนถึงตอนนี้) พร็อกซีเซิร์ฟเวอร์ (เดิม) บางตัวใช้สิ่งนี้เพื่อบ่งชี้ว่าเว็บดิสก์ควรถูกแคชหรือไม่ ค่าเริ่มต้นคือสำหรับเพจที่จะแคช เว้นแต่จะได้รับส่วนหัว HTTP "PRAGMA=NO-CACHE"
2. สร้างรหัสสถานะและส่วนหัว HTTP ที่กำหนดเอง
คุณสามารถใช้วิธี AddHeader ของออบเจ็กต์การตอบสนองที่คุณเห็นก่อนหน้านี้ในหน้าเว็บตัวอย่างเพื่อสร้างรหัสสถานะของคุณเองหรือส่วนหัวที่กำหนดเองที่คุณต้องการ วิธีการนี้ต้องใช้พารามิเตอร์สองตัว: ชื่อส่วนหัว HTTP หรือสตริงที่มีค่าหรือค่าที่กำหนด ตามตัวอย่าง โค้ดต่อไปนี้จะเพิ่มส่วนหัว REFRESH ให้กับเพจ:
Response.AddHeader "REFRESH", "60;URL=newpath/newpage.asp"
ซึ่งเทียบเท่ากับองค์ประกอบ <META> ฝั่งไคลเอ็นต์:
<META HTTP- EQUIV=" REFRESH", "60;URL=newpath/newpage.asp">
กล่าวอีกนัยหนึ่ง คุณยังสามารถใช้วิธี AddHeader กับแอตทริบิวต์ Status เพื่อทำให้เบราว์เซอร์โหลดหน้าใหม่:
Response.Status = "302 Object Moved "
Response.Addheader “Location”, “newpath/newpage.asp”
ซึ่งเทียบเท่ากับการใช้วิธีการ Response.Redirect:
Response.Redirect “newpath/newpage.asp”
คุณสมบัติ Response.Status สามารถใช้เพื่อส่งข้อความสถานะที่จำเป็น ตัวอย่างเช่น เพิ่มบรรทัดต่อไปนี้:
Response.Status= “401 Unauthorized”
Response.Addheader “WWW-Authenticate”, “BASIC”
บังคับให้เบราว์เซอร์แสดงกล่องโต้ตอบชื่อผู้ใช้/รหัสผ่าน จากนั้นส่งกลับไปยังเซิร์ฟเวอร์โดยใช้การตรวจสอบสิทธิ์ BASIC (ซึ่ง จะกล่าวถึงในบทความนี้ ดูวิธีการยืนยันในซีรีส์นี้)
3. ประเภท MIME และประเภทเนื้อหา
เมื่อเราต้องการส่งสตริงที่สร้างขึ้นแบบไดนามิกไปยังเบราว์เซอร์ และไม่ได้ระบุประเภทเนื้อหาโดยตรงเมื่อมอบให้กับเบราว์เซอร์ แต่ให้ส่วนขยายที่ระบุว่าเป็นไฟล์ดิสก์หรือไม่ การตอบสนอง . ContentType มีประโยชน์มาก. เว้นแต่จะระบุไว้เป็นอย่างอื่น หน้าเว็บทั้งหมดที่สร้างโดย ASP จะมีค่าเริ่มต้นเป็น "ข้อความ/ประเภท" ตัวระบุประเภทเนื้อหาคือประเภท MIME (MIME ย่อมาจาก Multi-Purpose Internet Multimedia Extension หรือ Multi-pupose Internet Mail Extension ซึ่งโดยปกติจะขึ้นอยู่กับบริบท)
ตัวอย่างเช่น หากคำอธิบายประกอบข้อมูลที่ส่งไปยังไคลเอนต์เป็นรูปภาพที่สร้างขึ้นโดยการอ่านค่าไบนารีจากฐานข้อมูล คุณจะต้องเพิ่มส่วนหัว CONTENT-TYPE ที่เหมาะสมก่อนที่จะส่งเนื้อหาใดๆ:
Response.ContentType = "image/jpeg"
ถ้า คุณสร้างรูปภาพจากฐานข้อมูล สำหรับไฟล์ XML ให้ใช้ประเภท MIEM "text/xml" และหากคุณกำลังสร้างไฟล์ข้อความที่สามารถแสดงในโปรแกรมแก้ไขไฟล์หรือจัดเก็บเป็นไฟล์ดิสก์บนไคลเอนต์ ให้ใช้ "text /ข้อความ".
4. การเพิ่มแท็ก PICS
คุณสมบัติ Respnse.Pics จะเพิ่มแท็ก PICS (แพลตฟอร์มสำหรับระบบเนื้อหาอินเทอร์เน็ต) ลงในเพจในลักษณะเดียวกับแท็ก <META> ปกติ:
QUOT = Chr(34)
StrPicsLabel = “(PICS-1.0” & QUOT & “http://www.rsac.org/ratingsv01.html”_
& QUOT & “ ความคิดเห็นจริงรุ่นที่ 1 “ & QUOT _
& “เซิร์ฟเวอร์ RSACi อเมริกาเหนือ” & QUOT & “ สำหรับ “ & QUOT _
& “http://yoursite.com” & QUOT & “ บน “ & QUOT _
& “1999.08.01T03:04-0500” & QUOT & “ r (n 0 วินาที 0 โวลต์ 2 l 3))”
Response.Pics(strPicsLabel)
โค้ดนี้เพิ่มป้ายกำกับ PICS ต่อไปนี้:
(PICS-1.0 “http://www.rsac.org/ratingsv01.html” ความคิดเห็นจริงรุ่นที่ 1 “RSACi
เซิร์ฟเวอร์อเมริกาเหนือ” สำหรับ “http://yoursite.com” บน “1999.08.01T03:04-0500”
r (n 0 s 0 v 2 l 3))
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับ PICS หรือเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการกำหนดเนื้อหาของหน้า โปรดค้นหาในไซต์ http://www.rsac.org/
การกำหนดส่วนหัวใน Internet Service Manager
ในส่วนแรกของบทความชุดนี้ มีการอธิบายวิธีการตั้งค่าคุณสมบัติของแต่ละเว็บไซต์และไดเรกทอรี IIS 5.0 ในแอปพลิเคชัน Internet Service Manage (ปลั๊กอิน MMC) ซึ่งกำหนดการใช้งาน ของไซต์นี้หรือทรัพยากรไดเรกทอรีจะถูกส่งไปยังไคลเอนต์ในส่วนหัว HTTP ของคำขอทั้งหมด ซึ่งเป็นทางเลือกในการตั้งค่าคุณสมบัติเหล่านี้โดยใช้โค้ดสคริปต์ ASP ในแต่ละหน้าเว็บ
คลิกขวาที่เว็บไซต์หรือไดเร็กทอรีและเลือก "Properties" ในแท็บ "HTTP Headers" ของกล่องโต้ตอบ คุณสามารถตั้งเวลาสัมพัทธ์หรือวันที่สัมบูรณ์สำหรับช่วงเวลาที่มีผลใช้บังคับของเนื้อหาเพจ กำหนดส่วนหัวที่กำหนดเอง และ สร้างป้ายกำกับระดับเนื้อหา PICS ประเภทเนื้อหาสามารถกำหนดได้ผ่านการแมปประเภท MIME
คุณจะเห็นว่าส่วนหัว REFRESH HTTP แบบกำหนดเองได้ถูกสร้างขึ้นและนำไปใช้กับหน้าเว็บทั้งหมดที่โหลดจากไดเรกทอรีนี้ นั่นคือมันจะโหลดซ้ำ (รีเฟรช) โดยอัตโนมัติทุก ๆ นาที (เหมาะอย่างยิ่งสำหรับการแสดงคะแนนล่าสุดจากเกมเบสบอล แต่มีภาระบนเซิร์ฟเวอร์มากเกินไป)
หากต้องการเพิ่มการแมปประเภทเนื้อหาที่กำหนดเองในกล่อง "MIME Map" เพียงคลิกปุ่ม "ประเภทไฟล์" ในกล่องโต้ตอบ "คุณสมบัติ" หลักเพื่อเพิ่มลงในรายการ
เมื่อคุณเริ่มทดลองใช้ส่วนหัว HTTP คุณจะค้นพบได้อย่างรวดเร็วว่าเบราว์เซอร์บางตัวไม่ทำงานเหมือนกัน และเบราว์เซอร์จำนวนมากตอบสนองต่อส่วนหัว HTTP ที่แตกต่างกันในรูปแบบที่แตกต่างกัน ทำให้บางครั้งเป็นเรื่องยากมากที่จะสร้างหลักการที่บังคับใช้โดยทั่วไปได้อย่างน่าเชื่อถือ
2. ใช้ใบรับรองไคลเอ็นต์
หากคุณตั้งค่าเว็บไซต์ที่ปลอดภัยหรือไซต์ที่มีเนื้อหาในส่วนที่ปลอดภัย คุณสามารถติดตั้งใบรับรองเซิร์ฟเวอร์ดิจิทัลเพื่อตรวจสอบสิทธิ์เซิร์ฟเวอร์โดยอนุญาตให้ผู้เยี่ยมชมใช้รายละเอียดที่เข้ารหัสในใบรับรอง ในแต่ละคำขอเพจไปยังไซต์หรือไดเร็กทอรี เซิร์ฟเวอร์จะส่งสำเนาใบรับรอง ซึ่งเบราว์เซอร์สามารถตรวจสอบเพื่อดูว่าใครกำลังพูดคุยกับใครอยู่
ในทำนองเดียวกัน เซิร์ฟเวอร์ยังสามารถตั้งค่าให้ผู้ใช้ต้องแสดงใบรับรองดิจิทัลที่ถูกต้องเมื่อเข้าสู่เว็บไซต์ พวกเขาสามารถขอรับใบรับรองนี้ได้จากหลายแหล่ง เช่น Verisign ( http://www.verisign.com ) หรือ Thawte Consulting ( http://www.thawte.com ) ผู้อ่านจะดูรายละเอียดกระบวนการนี้ได้ในบทที่ 25
สถานการณ์เหล่านี้ทั้งหมดใช้ค่าของคอลเลกชัน ClientCertificate ของออบเจ็กต์คำขอ โค้ดตัวอย่างในบทนี้ได้รวมหน้าที่แสดงวิธีที่ผู้ใช้ใช้วิธีการบางอย่างของค่าการรวบรวมเหล่านี้
หน้านี้ชื่อว่า showcert.asp และสิ่งที่ทำก็แค่วนซ้ำผ่านคอลเล็กชัน ClientCertificate และแสดงค่าทั้งหมดที่มีอยู่ สามารถทำได้โดยใช้โค้ดง่ายๆ แบบเดียวกับที่คุณเคยใช้ ข้อแตกต่างเพียงอย่างเดียวคือการสร้างตาราง HTML เพื่อเก็บผลลัพธ์และตัดทอนออกเป็นกลุ่มๆ ละ 60 อักขระ
<ตารางเซลล์แพด=0 เซลล์ระยะห่าง=0>
-
สำหรับแต่ละรายการ keyItem ใน Request.ClientCertificate()
StrItemValue = Request.ClientCertificate (keyItem)
ถ้า Len(strItemValue) > 90 ดังนั้น strItemValue = Left(strItemValue, 60) & “..etc”
การตอบสนองเขียน “<TR><TD>” & keyItem & “ = “ & strItemValue & “</TD></TR>”
ต่อไป
-
</ตาราง>
การใช้การเปลี่ยนเส้นทางใบรับรองไคลเอ็นต์
เมื่อผู้เยี่ยมชมไซต์หรือบางส่วนของไซต์ทั้งหมดถูกขอให้มอบใบรับรองไคลเอ็นต์ ข้อมูลที่มีอยู่จะสามารถนำมาใช้เพื่อสร้างหน้าเว็บที่เราสร้างขึ้นสำหรับผู้ใช้รายนั้นได้ ตัวอย่างเช่น คุณสามารถใช้รายการองค์กรของใบรับรองเพื่อเปลี่ยนเส้นทางพวกเขาไปยังส่วนใดส่วนหนึ่งของไซต์โดยอัตโนมัติและเปลี่ยนเส้นทางผู้เยี่ยมชมรายอื่นที่อื่น:
ถ้า Request.ClientCertificate("SubjectO") = "Wrox Press Inc" จากนั้น
Response.Redirect "/wrox_staff/default.asp" 'ไซต์พนักงาน Wrox
อื่น
Response.Redirect "/public/Default.asp" 'ไซต์สาธารณะปกติ
สิ้นสุด หาก
สอดคล้องกัน รายการประเทศสามารถใช้เพื่อเปลี่ยนเส้นทางผู้เยี่ยมชมไปยังเว็บไซต์ที่เกี่ยวข้อง:
เลือก Case Request.ClientCertificate("SubjectC")
กรณี “UK”: Response.Redirect “http://uk_site.co.uk/”
กรณี "DE": Response.Redirect "http://de_site.co.de/"
กรณี “FR”: Response.Redirect “http://fr_site.co.fr/”
'... ฯลฯ
กรณีอื่น: Response.Redirect “http://us_site.com/”
สิ้นสุดการเลือก
3 การอ่านและการเขียนข้อมูลไบนารี
มีสองวิธีที่ให้การเข้าถึงข้อมูลไบนารีสำหรับสตรีมข้อมูล HTTP ที่ส่งจากเบราว์เซอร์ไปยังเซิร์ฟเวอร์ และสตรีมข้อมูลที่ส่งคืนจากเซิร์ฟเวอร์ไปยังเบราว์เซอร์ วิธีการ Request.BinaryRead สามารถรับพารามิเตอร์ที่ระบุจำนวนไบต์ที่จะอ่าน และส่งกลับอาร์เรย์ของประเภทตัวแปรที่มีไบต์ที่ได้รับจากส่วน POST ที่ร้องขอ (เช่นข้อมูลในการรวบรวมแบบฟอร์มของ ASP) โปรแกรมต่อไปนี้อ่านข้อมูล 64 ไบต์แรก:
varContent = Request.BinaryRead(64)
หากคุณใช้วิธี BinaryRead คุณจะไม่สามารถเข้าถึงคอลเลกชัน Request.Form ของ ASP ได้ในอนาคต ในทำนองเดียวกัน เมื่อเราอ้างอิงคอลเลกชัน Request.Form ด้วยวิธีใดก็ตาม เราจะไม่สามารถใช้วิธี BinaryRead ได้
นอกจากนี้ยังสามารถเขียนข้อมูลไบนารีลงในสตรีมการตอบสนองที่สร้างโดย ASP โดยใช้วิธี BinaryWrite คุณต้องจัดเตรียมอาร์เรย์ตัวแปรของไบต์ที่คุณต้องการเขียนไปยังไคลเอนต์:
Response.BinaryWrite(varContent)
วิธีการเหล่านี้ไม่ค่อยได้ใช้เว้นแต่คุณจะสร้างแหล่งข้อมูลที่ไม่ใช่ HTML จากฐานข้อมูล ตัวอย่างการใช้งานคือการอ่านไบต์ที่ประกอบเป็นรูปภาพจากฐานข้อมูลและส่งไปยังไคลเอนต์โดยใช้วิธี BinaryWrite
4. สร้างข้อความบันทึกแบบกำหนดเอง
หากเซิร์ฟเวอร์ได้รับการตั้งค่าให้บันทึกคำขอไปยังไฟล์ข้อความในรูปแบบไฟล์บันทึกแบบขยาย W3C คุณสามารถใช้เมธอด Response.AppendToLog เพื่อเพิ่มสตริงข้อความที่ส่วนท้ายของรายการไฟล์บันทึก วิธีการนี้มีประโยชน์มากถ้าคุณต้องการเก็บค่าหรือข้อความบางอย่างสำหรับหน้าเว็บเฉพาะหรือเมื่อเกิดสถานการณ์เฉพาะในสคริปต์
ตัวอย่างเช่น ผ่านแอปพลิเคชัน "คำสั่งคงที่" ของอินทราเน็ต คุณสามารถบันทึกหมายเลขแผนกของพนักงานที่เกินจำนวนรายการที่ระบุ:
...
ถ้า intItemCount > 25 แล้ว
Response.AppendToLog "คำสั่งซื้อจำนวนมากจาก '" & strDept & แผนก"
สิ้นสุดถ้า
...
การตั้งค่าการบันทึกแบบขยาย
หากต้องการใช้วิธี AppendToLog ต้องเปิดใช้งานการตั้งค่าการบันทึกรูปแบบไฟล์บันทึกแบบขยาย W3C วิธีการตั้งค่าคือการเข้าสู่แท็บเว็บไซต์ในกล่องโต้ตอบคุณสมบัติ เลือกกล่องกาเครื่องหมายเปิดใช้งานการบันทึก เลือกรูปแบบไฟล์บันทึกแบบขยาย W3C แล้วคลิกปุ่มคุณสมบัติ ดังแสดงในรูปต่อไปนี้:
ในกล่องโต้ตอบคุณสมบัติการบันทึกแบบขยายที่ ปรากฏขึ้น คุณสามารถเลือกรายการที่คุณต้องการรวมไว้ในไฟล์บันทึกได้ ตรวจสอบให้แน่ใจว่าได้เลือก URI Stem มิฉะนั้นวิธี AppendToLog จะล้มเหลว
เราได้จัดเตรียมหน้าตัวอย่างง่ายๆ ที่พยายามเขียนรายการในไฟล์บันทึก ซึ่งสามารถเปิดได้จากลิงก์วิธี AppendToLog ในหน้าแรกของ Request Object (show_request.asp) หน้านี้ทั้งหมดทำคือสร้างสตริงง่ายๆ ที่มีวันที่และเวลาปัจจุบัน จากนั้นดำเนินการตามวิธี AppendToLog:
strToAppend = “เพจดำเนินการเมื่อ ” & ตอนนี้
Response.AppendToLog strToAppend
สรุป
บทความนี้ได้เริ่มต้นการศึกษาของ ASP 3.0 และเรายังได้เห็นว่า ASP 3.0 ทำงานร่วมกับ Internet Informateion Server 5.0 เพื่อให้เป็นวิธีที่ง่ายต่อการใช้งาน มีประสิทธิภาพในการสร้างเว็บเพจแบบไดนามิกและแอปพลิเคชันเว็บ . แน่นอนว่ายังมีบางจุดที่ต้องศึกษา บทนี้เพิ่งเรียนรู้สองวัตถุพื้นฐานที่สุดที่สร้างไว้ใน ASP
ออบเจ็กต์พื้นฐานที่สุดสองรายการคือออบเจ็กต์คำขอและการตอบสนอง ซึ่งช่วยให้เราสามารถเข้าถึงและใช้ค่าเป็นส่วนหนึ่งของเซสชันไคลเอนต์/เซิร์ฟเวอร์ ซึ่งเกิดขึ้นเมื่อใดก็ตามที่ผู้ใช้ร้องขอและโหลดเพจหรือทรัพยากรจากเว็บไซต์ ความหมาย ว่าวัตถุคำขอสามารถให้การเข้าถึงเนื้อหาทั้งหมดที่ร้องขอโดยผู้ใช้ ในขณะที่วัตถุการตอบสนองอนุญาตให้สร้างและแก้ไขการตอบสนองที่ส่งกลับโดยเซิร์ฟเวอร์
ออบเจ็กต์เหล่านี้เปิดเผยส่วนต่างๆ ของเซสชันผ่านคอลเลกชันและคุณสมบัติ และมีวิธีการที่หลากหลายในการดึงข้อมูลและแก้ไขแต่ละเซ็กเมนต์ หากคุณคิดว่าสิ่งเหล่านี้เป็นเครื่องมือในการแจกแจงคำขอของผู้ใช้และสร้างการตอบกลับด้วยเนื้อหาที่เหมาะสม สิ่งเหล่านี้สามารถช่วยให้คุณเข้าใจสิ่งที่เกิดขึ้นได้ นอกจากนี้ยังช่วยให้เข้าใจว่าวิธีการต่างๆ ส่งผลต่อไคลเอนต์ เซิร์ฟเวอร์ และเว็บเพจที่กำลังสร้างอย่างไร