Erstens sind beide einfach gemeinsame Initialen; Sie sind nichts, wovor man Angst haben muss.
Nun, CRUD ist ein einfacher Begriff, der abgekürzt wurde, weil er in vielen Anwendungen häufig vorkommt, und es ist einfacher, CRUD zu sagen . Es werden die 4 grundlegenden Vorgänge beschrieben, die Sie an Daten (oder einer Ressource) ausführen können. Erstellen, Lesen, Aktualisieren, Löschen.
REST ist jedoch eine benannte Praxis (genau wie AJAX), keine Technologie für sich. Es wird die Verwendung von Funktionen empfohlen, die dem HTTP-Protokoll seit langem eigen sind, jedoch nur selten verwendet werden.
Wenn Sie eine URL (Uniform Resource Locator ) haben und Ihren Browser über die Adresszeile darauf verweisen, senden Sie eine HTTP-Anfrage . Jede HTTP-Anforderung enthält Informationen, anhand derer der Server ermitteln kann, welche HTTP-Antwort an den Client zurückgesendet werden soll, der die Anforderung ausgegeben hat.
Jede Anforderung enthält eine URL, sodass der Server weiß, auf welche Ressource Sie zugreifen möchten. Sie kann jedoch auch eine Methode enthalten . Eine Methode beschreibt, was mit dieser Ressource zu tun ist .
Aber dieses "Methoden" -Konzept wurde nicht sehr oft angewendet.
Normalerweise verlinken die Benutzer nur mit der GET-Methode auf Seiten und geben alle Arten von Aktualisierungen (Löschungen, Einfügungen, Aktualisierungen) mit der POST-Methode aus.
Aus diesem Grund können Sie eine Ressource (URL) nicht als echte Ressource behandeln. Zum Löschen, Einfügen oder Aktualisieren derselben Ressource mussten separate URLs vorhanden sein. Zum Beispiel:
http://...com/posts/create- POST request -> Goes to posts.create() method in the server
http://...com/posts/1/show- GET request -> Goes to posts.show(1) method in the server
http://...com/posts/1/delete - POST request -> Goes to posts.delete(1) method in the server
http://...com/posts/1/edit- POST request -> Goes to posts.edit(1) method in the server
Mit REST erstellen Sie intelligentere Formulare, da neben POST auch andere HTTP-Methoden verwendet werden, und programmieren Ihren Server so, dass nicht nur URLs, sondern auch Methoden unterschieden werden können . Also zum Beispiel:
http://...com/posts - POST request -> Goes to posts.create() method in the server
http://...com/posts/1 - GET request -> Goes to posts.show(1) method in the server
http://...com/posts/1 - DELETE request -> Goes to posts.delete(1) method in the server
http://...com/posts/1 - PUT request -> Goes to posts.edit(1) method in the server
Denken Sie daran, dass eine einzelne URL eine einzelne Ressource beschreibt. Ein einzelner Beitrag ist eine einzelne Ressource. Mit REST behandeln Sie Ressourcen so, wie sie behandelt werden sollen. Sie teilen dem Server mit, mit welcher Ressource und wie er umgehen soll.
Zu "RESTful architecture" gibt es viele weitere Funktionen, über die Sie bei Interesse in Wikipedia, anderen Artikeln oder Büchern nachlesen können. CRUD selbst hat nicht viel mehr zu bieten.