Middle
Ποιους κανόνες αρχιτεκτονικής REST γνωρίζετε;
sobes.tech AI
Απάντηση από AI
- Αρχιτεκτονική πελάτη-διακομιστή: Ξεκάθαρη διαχωρισμός των ευθυνών μεταξύ του πελάτη, που ζητά πόρους, και του διακομιστή, που τους παρέχει.
- Χωρίς κατάσταση (Stateless): Κάθε αίτημα από τον πελάτη προς τον διακομιστή πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες για την κατανόηση και επεξεργασία του αιτήματος. Ο διακομιστής δεν αποθηκεύει πληροφορίες σχετικά με προηγούμενα αιτήματα του πελάτη.
- Μπορεί να αποθηκευτεί στην cache: Οι απαντήσεις από τον διακομιστή μπορούν να σημειωθούν ως cacheable ή όχι, επιτρέποντας στους πελάτες να επαναχρησιμοποιούν τις ληφθείσες απαντήσεις για βελτίωση της απόδοσης.
- Ομοιόμορφη διεπαφή: Τέσσερις περιορισμοί:
- Ταυτοποίηση πόρων: Οι πόροι ταυτοποιούνται μέσω URI.
- Διαχείριση πόρων μέσω αναπαραστάσεων: Ο πελάτης αλληλεπιδρά με τον πόρο μέσω της μετάδοσης αναπαραστάσεων.
- Μηνύματα αυτοπεριγραφόμενα: Κάθε μήνυμα περιέχει αρκετές πληροφορίες για να κατανοηθεί πώς να επεξεργαστεί (π.χ., τύπος περιεχομένου).
- HATEOAS (Hypermedia as the Engine of Application State): Ο πελάτης πλοηγείται μεταξύ πόρων ακολουθώντας συνδέσμους στις απαντήσεις του διακομιστή.
- Πολυεπίπεδο σύστημα: Η αρχιτεκτονική επιτρέπει τη χρήση ενδιάμεσων επιπέδων (π.χ., proxy, gateways) μεταξύ πελάτη και διακομιστή, χωρίς να επηρεάζει την αλληλεπίδρασή τους.
- Κώδικας κατ' αίτηση (προαιρετικό): Ο διακομιστής μπορεί προσωρινά να επεκτείνει ή να διαμορφώσει τη λειτουργικότητα του πελάτη μεταδίδοντας εκτελέσιμο κώδικα (π.χ., JavaScript). Είναι μια προαιρετική κανόνας.