เอเอสพี

จากวิกิพีเดีย สารานุกรมเสรี

ASP ย่อมาจาก Active Server Page เป็นเทคโนโลยีประเภท Server-Side Script (โปรแกรมที่ทำงานบนเครื่อง Server) ที่นิยมใช้อย่างแพร่หลาย สร้างโดยบริษัท ไมโครซอฟท์ สำหรับระบบปฏิบัติการ ไมโครซอฟท์ วินโดวส์ ซึ่งใช้ร่วมกับโปรแกรม Internet Infomation Service หรือ IIS. ASP นั้นใช้ภาษาสคริปต์ VBScript, JScript หรือ PerlScript ในการเขียน โดยเว็บเพจที่ใช้ ASP เขียน จะระบุเป็นตระกูลไฟล์ที่ลงท้ายด้วย .asp. ซึ่ง ASP ยังสามารถใช้เขียนเพื่อควบคุมฐานข้อมูลต่างๆ ผ่าน ODBC ADO DAO JET และอื่นๆ.

ปัจจุบันนี้ไมโครซอฟท์ได้ยกเลิกการพัฒนาเทคโนโลยี ASP แล้วและได้เปลี่ยนเป็น ASP.NET แทน. ซึ่งคำว่า Classic ASP นั้นอาจใช้เรียกแทนเอเอสพีเดิม.


สารบัญ

[แก้] แนะนำ ASP

บริษัท ไมโครซอฟท์ ได้ริเริ่ม ASP ในช่วงเดือน ธันวาคม ปี พ.ศ. 2540 (ค.ศ. 1997) โดยเป็นส่วนประกอบที่มาพร้อมกับ Internet Information Server (IIS) 3.0 ซึ่งเป็นโปรแกรมที่เป็นที่นิยมในเทคโนโลยีนี้ ซึ่ง IIS ได้เริ่มต้นเมื่อ พ.ศ. 2541 (ค.ศ. 1998) ทำให้ ASP ถูกมองว่า เป็นโปรแกรมที่ล่าช้ากว่าโปรแกรมตัวอื่นในโปรแกรมประเภทเดียวกัน แต่อีก 1 ปีต่อมา ในเดือนธันวาคม พ.ศ. 2541 (ค.ศ. 1998) ไมโครซอฟท์ ได้เปิดตัว ASP 2.0 ให้เป็นส่วนหนึ่งของ Option Pack ใน Windows NT4 และ อีก 2 ปีต่อมา IIS 3.0 ได้เปิดตัวเป็นส่วนหนึ่งของ Windows 2000 ด้วย

ASP.NET 1.0 ถูกริเริ่มโดย ไมโครซอฟท์ ในเดือนกุมภาพันธ์ ปีพ.ศ. 2545 (ค.ศ. 2002) พร้อมกับ Visual Studio .NET 2002 ซึ่ง ASP.NET มีโครงสร้างการเขียน ประสิทธิภาพ และความสามารถ ที่แตกต่างจาก ASP โดยสิ้นเชิง โดย ASP.NET นั้นได้ถูกพัฒนาขึ้นมาใหม่บน .NET Framework ซึ่งทำให้ ASP.NET สามารถเลือกใช้ภาษา .NET ใดก็ได้ในการเขียน


[แก้] รุ่นของ ASP

ASP มีการเปิดตัวรุ่นใหม่หลักๆ อยู่ 4 ครั้ง ดังนี้:

  • ASP 1.0 (ติดตั้งมาพร้อมกับ IIS 3.0) ในเดือนธันวาคม ค.ศ. 1997,
  • ASP 2.0 (ติดตั้งมาพร้อมกับ IIS 4.0) ในเดือนกันยายน ค.ศ. 1998,
  • ASP 3.0 (ติดตั้งมาพร้อมกับ IIS 5.0) ในเดือนพฤศจิกายน ค.ศ. 2000,
  • ASP.NET (เป็นส่วนหนึ่งของ .NET Framework) ในเดือนมกราคม ค.ศ. 2002
  • ASP.NET 2.0 (เปิดตัวเมื่อ 7 พฤศจิกายน, ค.ศ. 2005).


[แก้] ตัวอย่างการใช้งาน ASP (VBScript)

ตัวอย่างในหน้านี้ เป็นการทำงานแบบ Server-Side Script ร่วมกับการใช้ HTML ดังนี้:

<%
' บรรทัดนี้ไม่มีความหมายอะไร; นอกจากเป็นแค่ หมายเหตุ (comment).:

Response.Write("Wikipedia") ' โค้ดในบรรทัดนี้จะพิมพ์คำว่า "Wikipedia" ไปในเว็บเบราว์เซอร์.

%>
<% 
Dim X     ' ตรวจสอบทุกครั้งว่าคุณได้ประกาศตัวแปรที่จะเรียกใช้

X = 1     ' X คือค่าที่เราจะใช้ในตัวอย่างนี้

If X = 1 Then
%>

<b>X มีค่าเท่ากับหนึ่ง</b>

<% Else %>

<b>X มีค่าไม่เท่ากับหนึ่ง</b>

<% End If %>

รหัสที่อยู่ระหว่าง <% ... %> จะผ่านการทำงานจากเซอร์เวอร์ โดยจะแสดงผลเป็น HTML คือ <b>X equals one</b> เมื่อค่า X บนฝังเซอร์เวอร์ มีค่าเท่ากับ 1.

ในการที่เราเปิดและปิดแท็ก <% %> บ่อยเท่าไรก็ไม่เป็นผล เพราะนั้นเป็นแค่การเปิดและปิดการทำงานของ ASP engine เท่านั้น. จากตัวอย่างด้านบน เราสามารถหาหนทางอื่นได้ เช่น:

<%
Dim strWikiPedia

strWikiPedia = "free"

' นี่คือตัวอย่างของ ASP VBScript ล้วนๆ เพื่อทำงาน...

If strWikiPedia = "free" then

   Response.write "ใช้งานได้ฟรี โดยไม่ต้องใช้ บัตรเครดิต"

Else

   Response.write "หาบัตรเครดิตมาจ่ายซะ หรือคลิกที่แบนเนอร์"

End If
%>

หลังจากที่เราเริ่มใช้ "ค่าคงที่" ไปแล้ว, คราวนี้เราจะใช้เรียกข้อมูลจากวัตถุ. การเรียกข้อมูลจากวัตถุเป็นสิ่งที่หน้าสนใจอย่างหนึ่ง เราสามารถเรียกมันได้จาก "ข้อความสอบถาม" (query string) หรือจาก "ฟอร์ม" (form) ที่ส่งเข้ามา ซึ่งคุณควรจะรู้ความแตกต่างระหว่าง "post" และ "get". "get" จะถูกตั้งค่าให้อยู่ในข้อความสอบถาม (Request.QueryString()). "post" จะถูกตั้งค่าในฟอร์ม (Request.Form()). ดังตัวอย่าง ดังนี้.

<form action="pagename.asp" method="get">
   <input type="text" name="Name" /><br />
   <input type="Submit" />
</form>
<%

strName = request.querystring("Name") ' ทำการเรียกตัวแปรชื่อ Name จากฟอร์ม

If strName <> "" Then ' ถ้าค่า "strName" ไม่มีค่าเท่ากับ "" (ค่าว่าง) แล้ว

   ' ในบรรทัดถัดไป ให้เขียนคำว่า "ยินดีต้อนรับเข้าสู่วิกิพีเดีย ",
   ' แล้วตามด้วยชื่อของผู้เปิด.

   Response.write "ยินดีต้อนรับเข้าสู่วิกิพีเดีย " & strName

End If
%>

โค้ดด้านบนที่กล่าวมา เป็นการขอให้ผู้ใช้ ใส่ชื่อในฟอร์ม. เมื่อผู้ใช้กด "Submit", ฟอร์มจะทำการเปิดหน้านั้นใหม่อีกครั้ง แล้วจึงแสดงชื่อ และข้อความต้อนรับสู่วิกีพีเดีย จากการสังเกตุโค๊ดด้านบน, คุณอาจสังเกตุว่า โค๊ดที่เขียนขึ้นนี้ คล้ายการพัฒนาโปรแกรมทั่วๆ ไป ใน Visual Basic 6.0 แต่ในที่นี้ โครงสร้างการเขียน (syntax) ของการแสดงข้อความออกมาดูเปลี่ยนไป. Response.write เป็นคำสั่ง ในการเขียนบ้างอย่างไปยังเบราว์เซอร์เครื่องลูกข่าย.

ในทำนองเดียวกัน, Response.clear เป็นคำสั่งในการล้างเนื้อหาที่เก็บไว้ในบัฟเฟอร์ (buffer), ที่เก็บข้อมูลสำรอง (temporary memory storage location).


[แก้] ย้าย ASP ไปยัง ASP.NET 1.x

ASP to ASP.NET v1.x Migration Assistant เป็นโปรแกรมที่ช่วยคุณย้ายหน้า ASP เดิมไปยังเว็บเอ็พพลิเคชันบน ASP.NET. เนื่องจากว่าโครงสร้าง และรูปแบบการพัฒนาบน ASP.NET นั้นแตกต่างกันมาก การโยกย้ายนั้นไม่ใช่ระบบอัตโนมัติทั้งหมด แต่จะช่วยการย้ายให้รวดเร็วขึ้นในบางขั้นตอนที่จำเป็น.


[แก้] Apache::ASP

Apache::ASP เป็นโปรแกรมในการทำงานของ ASP บนเซอร์เวอร์ Apache ที่ปกติจะทำงานเฉพาะกับภาษาประเภท Perl เท่านั้น ซึ่งทำให้เรา สามารถใช้งาน ASP รวมไปถึงการใช้ Session และ ยังคงสามารถใช้ภาษา Perl ได้


[แก้] ดูเพิ่ม

  • ASP.NET
  • VBScript
  • Visual Basic - ภาษาที่ VBScript อ้างอิงด้วย
  • Internet Information Service - โปรแกรมที่ใช้ในการทำงาน ASP ด้านเซอร์เวอร์


ภาษาโปรแกรมที่สำคัญ (แก้ )

ธุรกิจ: โคบอล | จาวา | จาวาสคริปต์ | เจชาร์ป | เจเอสพี | เชลสคริปต์ | ซี | ซีชาร์ป | ซีพลัสพลัส | ทีซีแอล | พีเอชพี | พีแอล | เพิร์ล | ไพทอน | ฟอร์แทรน | รูบี | ลิสป์ | วิชวลเบสิก | อ็อบเจกต์ซี | อ็อบเจกต์ปาสกาล | อาบัพ | อาร์พีจี | เอดับเบิลยูเค | เอด้า | เอเอสพี | เอสคิวแอล | เอสเอเอส | แอสเซมบลี | ไอเฟล

การศึกษา: ปาสกาล | โปรล็อก | โลโก | สกีม | สมอลทอล์ก | เอฟชาร์ป | เอ็มแอล | แฮสเคลล์

อื่นๆ: คลิปเปอร์ | ซิมูล่า | เบสิก | พีแอลวัน | มัมปส์ | อัลกอล | เอพีแอล