REST, Representational State Transfer
REST הינו סגנון ארכיטקטוני, או סט של אילוצים ארכיטקטוניים.
HTTP בנוי בסגנון של REST.
HTTP הינו פרוטוקול של שליחה ותגובה (Request / Response) ומיועד לאפשר תקשורת בין ה-Client ל-Server
ל-HTTP יש מתודות לשליחה / תגובה בין השרת לקליינט, למשל Get ו-Post.
ה-Get הוא בטוח - אין תופעות לוואי, ניתן לשליחות חוזרות ואפשרי לקאשינג.
התגובה ב-HTTP כוללת אספקטים ייצוגיים שזה התוכן של ה-URL, מה שנמצא ב-Body, כמו למשל מסמך HTML.
מסמך HTML יכול לכלול לינקים למסמכים אחרים, ל-CSS ול-Java Script.
הינה כמה מאפיינים של REST:
Resources:
URI
Uniform Interface
Methods
Representation
Protocol
Client / Server
Stateless: each req is independent from each other.
Cacheable
Layered
וכמה יתרונות:
Network performance
Efficiency - Caching
Scalability - Possibile to use large set of origin servers
User Perceived Performance - set of defined methods, lets the code run in the client or server - whatever is faster
ההבדלים בין המתודות הם:
ב-Get הפרמטרים נמצאים ב-URL
ב-Post הפרמטרים נמצאים ב-Body
הרבה פעמים אנו משתמשים ב-Get להביא מסמכים והפרמטרים מתארים את המסמכים - למשל באיזה דף אנחנו נמצאים.
ב-Post בד"כ משתמשים בכדי לעדכן את הנתונים או את השרת.
ל-Get יש הגבלה על אורך, ל-Post כמעט ואין.
ל-Get אפשר לעשות קאשינג בדרך השרת לקליינט, ב-Post לא.
את ה-Get אפשר לשלוח מספר פעמים, את ה-Post לא.
RESTful API הוא API לפניות לשרת. אפשר להשתמש במגוון מתודות וב-XML, אבל בעיקר משתמשים בו ב-JSON. SOAP (Simple Object Access Protocol) למשל משתמש רק ב-Post וב-XML.
אין תגובות:
הוסף רשומת תגובה