สุรเดช

ผู้เขียน : สุรเดช

อัพเดท: 27 พ.ย. 2007 08.58 น. บทความนี้มีผู้ชม: 4240 ครั้ง

ไม่ลองไม่รู้


Ajax กับ Web 2.0

ตอนที่  2 Web 2.0

เรื่อง  Ajax กับ  Web 2.0

            ผมก็พยายามหาบทความที่มีความรู้ให้กับเพื่อน ๆ สมาชิกหรือผู้ที่ส่นใจเรื่อง    web 2.0 อ่านและทำความเข้าใจกับเทคโนโลยีที่ไม่เคยหยุดนิ่งและเปลี่ยนแปลงตลอดเวลา  เพียงแค่คุณได้คลิกเข้ามาและอ่านให้จบเรื่อง  ความเข้าใจก็จะได้รับการวิทยาการใหม่ ๆ หรือแลกเปลี่ยนความคิดเห็นกัน  เพียงแค่นี้ผมก็ชื่นใจแล้วครับ  เหตุผลสำคัญที่ทำให้ตัวเราต้องก้าวให้ทันโลกตลอดเวลาก็เพราะว่าโลกทุกวันนี้แข่งขันกันแบบแนวลุก  ไม่ใช่คุณมีเวลาทำงานมาก่อนแล้วคิดว่าตัวเองมีความรู้ความสามารถดีพอ  แต่สิ่งที่เปลี่ยนไปคือ เวลา เวลาเป็นสิ่งที่ทุกคนหยุดไม่ได้นั้นก็เป็นหลักที่เราต้องพัฒนาตัวเทคโนโลยีใหม่ ๆ เพื่อให้ผู้ใช้ใช้แล้วเกิดความสะดวก  เข้าใจง่าย  ศึกษาได้ง่าย  ไม่ยุ่งยาก  ประหยัดเวลา  ประหยัดตัง  ประหยัดทรัพยากร  ความปลอดภัย อื่น ๆ อีกมากมาย

         เริ่มกันเลยดีกว่าครับ  Ajax (Asynchronous JavaScript and XML) เป็นเทคนิคที่กำลังได้รับความนิยมอย่างสูงสำหรับการพัฒนาเว็บแอพพลิเคชันครับเนื่องก็จากว่า Ajax มีความสามารถในการทำให้เว็บแอพพลิเคชันนั้นสามารถทำงานแบบโต้ตอบได้เหมือนกับแอพพลิเคชันทั่วไป ตัวอย่างของแอพพลิเคชันที่พัฒนาขึ้นด้วยเทคนิคนี้คือ Google Maps ที่ทุกคนคงได้ใช้งานแล้วซึ่งเป็นเว็บแอพพลิเคชันแผนที่ออนไลน์ นั้นเองครับ

         หลัการทำงานแอพพลิเคชัน  ผมจะยกตัวอย่างเปรียบเทียบเพื่อจะได้เห็นการทำอย่างชัดเจนกับแอพพลิเคชันแบบดังเดิมครับ  โดยปกติกแล้วเมื่อ User ได้ทำการร้องขอข้อมูล (data) จากเซิร์ฟเวอร์ ตัวเว็บจะทำการส่งข้อมูลการร้องขอโดยใช้โปรโตคอล HTTP เพื่อติดต่อกับเว็บเซิร์ฟเวอร์ และที่เว็บเซิร์ฟเวอร์จะทำการประมวลผลจากการร้องขอที่ได้รับ และส่งผลลัพธ์เป็นหน้า HTML กลับไปให้ผู้ใช้ หรือเรียกว่า (Request and Response) ซึ่ง User จะต้องรอระหว่างที่เซิร์ฟเวอร์ประมวลผลอยู่ ซึ่งเป็นหลักการทำงานแบบ Synchronous นั้นก็เป็นการทำงานแอพพลิเคชันแบบดังเดิม แต่ Ajax จะเป็นการทำงานแบบ Asynchronous  หรือการติดต่อสื่อสารแบบไม่ต่อเนื่องโดยเซิร์ฟเวอร์จะทำการส่งผลลัพธ์เป็นเว็บเพจให้ผู้ใช้ทันทีโดยไม่ต้องรอให้ประมวลผลเสร็จก่อน  หลังจากนั้นเว็บเพจที่ผู้ใช้ได้รับจะทำการดึงข้อมูลในส่วนต่าง ๆ ทีหลังหรือจะดึงข้อมูลก็ต่อเมื่อผู้ใช้ต้องการเท่านั้น


ภาพเปรียบเทียบการทำงานแอพพลิเคชันแบบดังเดิม  กับแบบการใช้   Ajax

ที่มา : วิกิพีเดีย สารานุกรมเสรี



ภาพเปรียบเทียบการติดต่อสื่อสาร  ระหว่างแอพพลิเคชันแบบดังเดิมกับแบบที่ใช้  Ajax

ที่มา : วิกิพีเดีย สารานุกรมเสรี

ข้อดีของ Ajax ขนาดการรับส่งข้อมูล เทคนิค Ajax นั้นสามารถสร้าง HTML ได้ในเครื่องผู้ใช้ ทำให้ขนาดข้อมูลนั้นเล็กลงในครั้งต่อ ๆไปเพราะสามารถส่งเพียงข้อมูล และคำสั่งจาวาสคริปต์ลงมาเฉพาะส่วนที่มีการเปลี่ยนแปลง แทนที่จะต้องส่งข้อมูลใหม่หมดมาทั้งหน้า ซึ่งทั้งนี้ขึ้นอยู่กับการออกแบบของเว็บแอปพลิเคชันนั้น ๆ

       ความเร็วในกาตอบสนอง  Ajax นั้นทำการเปลี่ยนแปลงต่าง ๆเช่นการแก้ไข เพิ่มเติม ลยทิ้งรายการข้อมูล หรือการดึงข้อมูลที่ต้องการจะค้นหานั้นสามารถทำได้ในฉากหลัง ทำให้ผู้ใช้รู้สึกการตอบสนอนั้น คล้ายคลึงกับโปรแกรมคอมพิวเตอร์ มากว่าเว็บปกติที่ต้องรอโหลดใหม่ทั้งหน้าสำหรับการเปลี่ยนแปลงต่าง ๆ

         ปัญหาที่พบ    เนื่องจากว่าเทคนิค เอแจ็กซ์นั้นทำงานในฉากหลัง และไม่ได้เรียกหน้าใหม่ ทำให้เวลาใช้ปุ่ม "ย้อนกลับ" (back) ในเว็บเบราว์เซอร์ อาจจะไม่ได้หน้าที่ควรจะเป็น นักพัฒนานั้นได้คิดค้นวิธีการแก้ไขปัญหานี้หลากหลายรูปแบบด้วยกัน หนึ่งในวิธีที่ใช้แก้ไขปัญหานี้อย่างแพร่หลายคือการใส่ IFRAME ที่มองไม่เห็นเพื่อสั่งให้เว็บเบราว์เซอร์เปลี่ยนแปลงรายการหน้าของปุ่มก่อนหน้านี้

 
คราวหน้าผมจะได้เพิ่มเรื่องความปลอดภัยของ Ajax ครับและการโจมตีด้วย Javascript Hijacking ครับขอบคุณมากครับ....


บทความนี้เกิดจากการเขียนและส่งขึ้นมาสู่ระบบแบบอัตโนมัติ สมาคมฯไม่รับผิดชอบต่อบทความหรือข้อความใดๆ ทั้งสิ้น เพราะไม่สามารถระบุได้ว่าเป็นความจริงหรือไม่ ผู้อ่านจึงควรใช้วิจารณญาณในการกลั่นกรอง และหากท่านพบเห็นข้อความใดที่ขัดต่อกฎหมายและศีลธรรม หรือทำให้เกิดความเสียหาย หรือละเมิดสิทธิใดๆ กรุณาแจ้งมาที่ ht.ro.apt@ecivres-bew เพื่อทีมงานจะได้ดำเนินการลบออกจากระบบในทันที