รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

REST (Representational State Transfer) คืออะไร

    ขอพูดถึงเรื่อง RESTful Web Service ก่อนว่ามันคืออะไร เมื่อเราเปิดพจนานุกรม LEXiTRON คำว่า RESTful เป็นคำ adjective แปลว่า “ซึ่งเงียบสงบและผ่อนคลาย” แต่พอมาดู Web Service เมื่อก่อน เราจะสร้าง Web Service อยู่บน Protocol ชื่อว่า SOAP

     

    SOAP คือ?


    SOAP (Simple Object Access Protocol) เป็นทางที่ทำให้โปรแกรมบน OS หนึ่งติดต่อกับอีกโปรแกรมหนึ่ง ซึ่ง อยู่บน OS เดียวกันหรือ OS ต่างกันได้ โดยใช้ Protocol ชื่อ HTTP (HyperText Transfer Protocal) ที่ใช้ใน World Wide Web ทั่วไป และภาษา XML (Extensible Markup Language) เป็นสื่อในการแลกเปลี่ยนเนื่องจากระบบปฏิบัติการสำคัญ ๆ ทุกตัว เช่น Windows Unix Linux และ Maclntosh ต่างก็สามารถใช้งาน Web ได้

     

    ฉะนั้นด้วย HTTP และ XML ดังกล่าว ทำให้เราสามารถแก้ปัญหาเรื่องการติดต่อสื่อสารระหว่างโปรแกรมบน เครือข่ายที่ใช้งาน OS ที่ต่างกันได้ โดย SOAP จะระบุวิธีในการเข้ารหัสส่วนหัว หรือ Header Encoding ของทั้ง HTTP และไฟล์ XML ไว้อย่างชัดเจน ทั้งในส่วนของการติดต่อไปยังคอมพิวเตอร์อีกเครื่องหนึ่ง และส่งผ่านข้อมูลไปให้ รวมถึงระบุวิธีเมื่อโปรแกรมที่ถูกเรียกนั้น ต้องการส่งค่าคืนกลับมาด้วย


    SOAP นั้นถือได้ว่าเป็นของส่วนกลาง ไม่เป็นของบริษัทใดบริษัทหนึ่งโดยเฉพาะ เนื่องจาก SOAP นั้นเกิดจากความคิดริเริ่มและร่วมมือของ Microsoft, DevelopMentor และ Userland Software จากนั้นก็นำเสนอแนวคิดนี้ให้กับหน่วยงานกลาง IETF (Internet Engineering Task Force) ซึ่งเป็นหนึ่งในผู้จัดการเรื่องมาตรฐานต่าง ๆ บน Internet


    สิ่งที่ทำให้ SOAP เป็นที่จับตามองคือ SOAP ใช้ Protocol HTTP Method GET/POST ธรรมดาในการสื่อสาร ฉะนั้นจึงไม่ค่อยมีปัญหาในการเข้าออกระบบเครือข่ายที่ FireWall เพราะว่า FireWall ส่วนใหญ่ต่างก็อนุญาตให้ข้อมูลที่ใช้ Protocol HTTP (Port:80) ผ่านได้อยู่แล้ว นอกจากนี้ SOAP ยังถูกออกแบบให้สามารถใช้งานร่วมกับ SMTP และ MIME ได้ด้วย ฉะนั้นการทำงานระหว่างโปรแกรมต่างเครื่องต่างเครือข่ายก็ทำได้สะดวกขึ้นแล้ว Protocol SOAP มีผลเสียอะไรบ้าง


    เวลา Developer ต้องการใช้งาน SOAP ก็ต้องประกอบด้วย header และ body ของ SOAP โดยการรับส่งข้อมูลจะอยู่ในรูปของ XML ซึ่งเป็นรูปแบบที่ซับซ้อน และทำให้ข้อมูลที่รับส่งมีขนาดใหญ่ขึ้นเกินความจำเป็น

     

    REST (Representational State Transfer)

    เป็นแนวใหม่ในการสร้าง Web Service แบบเรียบง่าย โดยเรียกใช้ผ่านทาง HTTP Method GET/POST/PUT/DELETE และส่งข้อมูลออกมาในรูปของ XML ทำให้ปริมาณข้อมูลที่รับส่ง น้อยกว่าการใช้ Protocol SOAP อยู่มาก ข้อดีข้อนี้ของ REST ทำให้ Developer หลาย ๆ คนหันมาสนใจการเขียนโปรแกรมแบบใช้ RESTful Web Service กันมากขึ้น เพราะมีผลกับเรื่อง Performance ของการใช้งานโปรแกรมด้วย แต่เนื่องจากเรื่อง REST นี้เพิ่งเกิดขึ้นมาเมื่อปี 2000 ทำให้ยังไม่มีมาตรฐานที่กำหนดให้บังคับใช้งานเหมือน Protocol SOAP เดิม ถ้าหากอยากใช้ RESTful ก็ต้องกำหนดเงื่อนไขจากภาษาที่เขียนเอาเอง โดยภาษาในยุคปัจจุบันนี้มีการรองรับ RESTful Web Service หรืออีกชื่อหนึ่งคือ RESTful Web API กันเป็นส่วนใหญ่แล้ว

     

    RESTful Web Service HTTP Method

    Method ลักษณะการทำงาน รูปแบบ URL
    GET เรียกข้อมูลมาแสดงแบบหลายรายการ http://example.com/products/
    เรียกข้อมูลมาแสดงแบบทีละรายการ http://example.com/products/12
    POST ส่งข้อมูลจากฟอร์มหรือโปรแกรม เพื่อเพิ่มข้อมูล http://example.com/products/
    PUT ส่งข้อมูลจากฟอร์มหรือโปรแกรม เพื่อแก้ไขข้อมูล http://example.com/products/12
    DELETE ส่งข้อมูลจากโปรแกรม เพื่อลบข้อมูล http://example.com/products/12