เท่าที่เกี่ยวข้องกับการประมวลผลฝั่งเซิร์ฟเวอร์ ASP เป็นเทคโนโลยีที่ค่อนข้างใหม่สำหรับการสร้างหน้าเว็บแบบไดนามิก หน้าแบบไดนามิกหมายถึงอะไร? ในขณะนี้เราจะไม่พิจารณาความคืบหน้าในฟังก์ชั่นที่เกี่ยวข้องกับไคลเอนต์และเราจะไม่พูดถึงสคริปต์ไคลเอ็นต์, แอปเพล็ต Java, การควบคุม HTML หรือ ActiveX แบบไดนามิก หน้าแบบไดนามิกที่นี่หมายถึงหน้าเว็บที่สร้างโดยเซิร์ฟเวอร์โดยเฉพาะเพื่อตอบสนองต่อคำขอไคลเอนต์และหน้าสร้างในแต่ละครั้งอาจแตกต่างกันไปขึ้นอยู่กับสถานการณ์
หากต้องการยกตัวอย่างง่าย ๆ ให้สร้างหน้าเว็บที่มีเฉพาะวันที่และเวลาปัจจุบันเท่านั้น ค่าที่แตกต่างกันจะปรากฏขึ้นในแต่ละครั้งที่มีการร้องขอหน้าเนื่องจากวันที่และเวลาขึ้นอยู่กับนาฬิกาของเซิร์ฟเวอร์หรือบนทรัพยากรที่ให้วันที่และเวลา (เช่นเซิร์ฟเวอร์สแตนด์อโลนหรือจากนาฬิกามาตรฐานบนอินเทอร์เน็ต) แน่นอนว่าหน้าแบบไดนามิกนั้นซับซ้อนกว่านี้มากอาจแสดงค่าปัจจุบันของบันทึกฐานข้อมูลหรือสรุปข้อความอีเมลที่รออยู่บนเซิร์ฟเวอร์เมล เป็นสิ่งสำคัญที่เซิร์ฟเวอร์ไม่เพียง แต่อ่านหน้า HTML ที่ยังไม่ได้ฟอร์มหรือไฟล์ข้อความบนดิสก์และส่งไปยังไคลเอนต์ แต่ยังต้องทำงานบางอย่างเพื่อสร้างหน้าด้วย
อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันอินเทอร์เน็ตเซิร์ฟเวอร์
เทคโนโลยีแบบดั้งเดิมใช้อินเทอร์เฟซกับเว็บเซิร์ฟเวอร์ซึ่งเรียกว่าอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันอินเทอร์เน็ตเซิร์ฟเวอร์ (ISAPI)
ISAPI สามารถใช้เพื่อเรียกใช้แอปพลิเคชันอื่น ๆ ที่อ่านคำขอของลูกค้าและสร้างการตอบสนองของเว็บเซิร์ฟเวอร์ผ่านฟังก์ชันสตรีมข้อมูล C-Style และ Stdout แอปพลิเคชัน ISAPI ทั้งหมดต้องทำคือเขียนข้อความและ HTML ของหน้าผลลัพธ์ที่สอดคล้องกันและส่งออกไปยังเว็บเซิร์ฟเวอร์ผ่านฟังก์ชัน stdout ในความเป็นจริงสิ่งที่ทำภายใน ASP DLL นั้นเป็นสิ่งที่มุ่งเน้นวัตถุมากขึ้น
IIS ได้เรียกใช้แอปพลิเคชันและล่ามสคริปต์ของ ISAPI ตั้งแต่เริ่มต้น มันมีไลบรารีลิงก์แบบไดนามิกล่ามพิเศษที่ให้วิธีอื่นในการเข้าถึงคำขอและการตอบกลับของเซิร์ฟเวอร์แม้ว่าจะมีข้อ จำกัด บางประการ มันถูกนำไปใช้โดยการรวมคำแนะนำในฝั่งเซิร์ฟเวอร์และเหตุผลที่กล่าวว่าเป็นเพราะพวกเขาถูกดำเนินการบนเซิร์ฟเวอร์และผลลัพธ์มีอยู่ในการตอบกลับที่ส่งไปยังไคลเอนต์ คุณสมบัตินี้ถูกนำไปใช้ใน IIS ผ่านไลบรารีลิงก์แบบไดนามิกที่เรียกว่า ssinc.dll โดยค่าเริ่มต้น IIS แมปหน้าใด ๆ ที่มีส่วนขยายไฟล์ของ. shtml, .shtml หรือ .stm ไปยังไลบรารีลิงก์แบบไดนามิกนี้ เปิดกล่องโต้ตอบคุณสมบัติของเว็บไซต์เริ่มต้นและคลิกปุ่มกำหนดค่าในการตั้งค่าแอปพลิเคชันเพื่อดูการแมปนี้
ด้วยวิธีนี้หน้าด้วยส่วนขยายไฟล์ที่แมปเหล่านี้จะถูกส่งไปยัง SSINC.DLL สำหรับการประมวลผล ดังนั้นด้านเซิร์ฟเวอร์ทั้งหมดในหน้าปฏิบัติการมีคำสั่งและผลลัพธ์ (ถ้ามี) จะถูกแทรกลงในการตอบกลับของเซิร์ฟเวอร์นั่นคือในหน้าเว็บที่ได้รับ
เนื่องจากไฟล์เหล่านี้ถูกแมปกับไฟล์ SSINC.dll แทนไปยังไลบรารี ASP Dynamic Link (ASP.DLL) รหัส ASP ทั้งหมดในหน้าเหล่านี้จะถูกละเว้นและส่งไปยังไคลเอนต์ในสถานะเดิม ดูสคริปต์เหล่านี้ อย่างไรก็ตามมีวิธีหลีกเลี่ยงสิ่งนี้ใน ASP 3.0 และหลังจากนั้นเราจะดูวิธีนี้เมื่อพูดถึงวิธีการดำเนินการและถ่ายโอนของวัตถุเซิร์ฟเวอร์