Response Object
Response Object เป็นออบเจ็กต์ที่ทำหน้าที่ส่งข้อมูลกลับมายังบราวเซอร์ ไม่ว่าจะเป็นเอกสาร HTML, ข้อความธรรมดา, ข้อมูลที่ไม่ใช่ข้อความ (ภาพ, เสียง ฯลฯ), HTTP Header และ Cookie response object จะมี 1 collection คือ Cookie
Cookie Collection Cookie เป็นข้อมูลที่ช่วยติดตามการใช้งานขอผู้ใช้แต่ละราย ซึ่งจะถูกจัดการผ่านคอลเล็กชัน Cookie (ซึ่งเป็นคอลเล็กชันเดียวของ Response Object) สำหรับข้อมูลที่เก็บอยู่ใน Cookie สามารถเก็บได้มากกว่า 1 ค่า และมีแอตทริบิวต์สำหรับการจัดการ Cookie อย่างมีประสิทธิ รูปแบบการใช้งาน Response.Cookies(ชื่อ Cookie)[(Key)|.Attribute] = Value เมื่อ Key คือ คีย์ข้อมูล ซึ่งทำให้เราเก็บค่าไว้ใน Cookie ได้หลายค่า, ส่วน Attribute คือ ข้อมูลที่แสดงลักษณะเฉพาะของ Cookie แต่ละตัว มักจะใช้ควบคุมการทำงานของ Cookie
ตัวอย่าง <% Response.Cookies(“myUniversity”).(“UnicName”) = “Burapha” Response.Cookies(“myUniversity”).(“City”) = “Chonburi” %> การเขียนค่าลงไปใน Cookie ก็คือการเขียนค่าใหม่ทับค่าเดิมไปนั่นเอง เพราะฉะนั้นถ้าต้องการเก็บค่ามากกว่า 1 ค่าก็ควรใช้ Key เข้าช่วย
แอตทริบิวต์ของ Cookie Collection Cookie แต่ละตัวจะมีข้อมูลเฉพาะที่เรียกว่า Attribute ซึ่งจะถูกนำมาใช้ควบคุมการทำงานได้แก่ Domain เป็นการจำกัด Cookie นั้นมากจากโดเมนอะไร Expries เป็นการกำหนดหน้าที่ Cookie นั้นจะหมดอายุ Path เป็นพาธที่อยู่ในโดเมน ซึ่ง Cookie นั้นถูกส่งออกไป Secure เป็นการเลือกว่า Cookie ที่ส่งไปยังบราวเซอร์จะส่งใน Channel ที่ปลอดภัยหรือไม่ HasKeys เป็นข้อมูลที่บอกว่า Cookie นั้นมีการใช้ Key เพื่อเพิ่มจำนวนค่าที่เก็บใน Cookie หรือไม่
ตัวอย่าง <% Response.Cookies(“myCompany).Expires = “January 17, 1999” Respponse.Cookies(“myCompany).domain = If Response.Cookies(“myCompany”).Haseys Then For Each key in Response.Cookies(“myCompany”) Response.Write(key & ”=”) Response.Write(Response.Cookies(“myCompany”)(key) & “<BR>” Next Else Response.Write(“ไม่มีคีย์สำหรับ Cookie myCompany”) End if %>
พรอพเพอ์ตี้ของ Response Object Buffer บอกว่าให้ทำการเก็บเว็บเพจที่เป็นผลลัพธ์ไว้ในบัฟเฟอร์ก่อนหรือไม่ CacheControl พิจารณาว่า proxy ของเซิร์ฟเวอร์สามารถทำการ cache ASP ได้หรือไม่ Charset ต่อชื่อของชุดตัวอักษรที่กำลังใช้ เข้ากับส่วนหัวของ content-type ที่อยู่ในออบเจ็กต์ response ContentType ระบุ content type/subtype ของ HTTP ในส่วนหัวของออบเจ็กต์ response Expires ระบุระยะเวลา(หน่วยเป็นนาที) ที่ cache เพจที่บราวเซอร์หมดอายุ
พรอพเพอ์ตี้ของ Response Object ExpiresAbsolute ระบุวันที่และเวลา ที่ cache เพจที่บราวเซอร์หมดอายุ IsClientConnected แสดงว่าบราวเซอร์ขาดการเชื่อมต่อจากเซิร์ฟเวอร์ เมื่อทำ Response.write ครั้งสุดท้ายหรือไม่ PICS ระบุค่าของ อัตรา PICS ของเอกสาร หรือเว็บไซต์ Status ระบุค่าของสถานะ ที่ถูกส่งกลับจากเซิร์ฟเวอร์
ตัวอย่าง <%@ LANGUAGE=”VBSCRIPT” %> <% Response.Buffer = true %> <HTML> <HEAD> <TITLE>Read Cookies information and Buffer Output</TITLE> </HEAD> <BODY> <% If Response.Cookies ( “myLowFatCookie” ) .HasKeys Then ‘ = = = Would have normally generated an error For Each Key in Request.Cookies ( “myLowFatCookie” ) Response.Write Request.Cookies ( “myLowFatCooKie” )(key) & “<BR>” Next End If </BODY> </HTML>
Status Property 400 Bad Request 410 Unauthorized - login Fail 404 Not Found 406 Not Acceptable 412 Precondition Failed 414 Request-URL Too long 500 Internal Server error 501 Not Implemented 502 Bad Gatway
Response Methods AddHeader Name, Value เพิ่มชื่อใหม่ให้กับส่วนหัวของ HTTP ด้วยค่าที่ต้องการ AppendToLog(String) เพิ่มข้อความต่อท้าย Web Server log ในการร้องขอครั้งใดๆ BinaryWrite(Data) ส่งค่าที่ระบุไปยังส่วนแสดงผล HTTP ปัจจุบันโดยไม่มีการแปลงตัวอักษร Clear เคลียร์บัฟเฟอร์ในส่วนการแสดงผลลัพธ์ของ HTML End หยุดการประมวลผลสคริปต์ที่เว็บเซิร์ฟเวอร์ และส่งผลลัพธ์กลับมาที่บราวเซอร์ โดยไม่ต้องประมวลผลสคริปต์ส่วนที่ยังเหลืออยู่ Flush ส่งข้อมูลที่อยู่ในบัฟเฟอร์มายังบราวเซอร์ Redirect(URL) ทำการเชื่อมต่อบราวเซอร์ ไปยัง URL ที่ระบุ Write(variant) ส่งค่าชนิดใดๆไปยังบราวเซอร์
ตัวอย่าง การแสดงเวลา <%@ LANGUAGE=”VBSCRIPT” %> <HTML> <HEAD> <TITLE>The Time</TITLE> </HEAD> <BODY> <% dim myTimeStamp, myMsgStr myTimeStamp = Now myMsgStr = “ Hello, at the tone, the time will be: “ myMsgStr = myMsgStr & myTimeStamp Response.Write(myMsgStr) ‘ = = = Notice the user of parenthesis %> </BODY> </HTML>
ตัวอย่าง <%@ LANGUAGE=”VBSCRIPT” %> <HTML> <HEAD> <TITLE>The Time</TITLE> </HEAD> <BODY> <% dim myTimeStamp, myMsgStr myTimeStamp = Now myMsgStr = “ Your virtual receipt, printed on: “ myMsgStr = myMsgStr & myTimeStamp myMsgStr = “<CENTER>” & myMsgStr & “</CENTER>” Response.Write(myMsgStr) %> </BODY> </HTML>
ตัวอย่าง <%@ LANGUAGE=”VBSCRIPT” %> <% Response.Buffer = True %> <HTML> <BODY> <% Response.Write “This example demonstrates using buffered output that is never displayed to the requesting user . The Clear method destroys the cached content “ %> </BODY> </HTML> If Response.Buffer Then ‘ = = = Checks if Buffering is enabled Response.Clear ‘ = = = Clears the cached buffer and does not display anything to the user End If