Oltre alle risposte @Paul e @Berin, che sono molto corrette e concise.
Now I've searched what is the meaning of REST server and REST client
but I could not find a good answer. Could someone explain them?
La risposta breve è
La risposta un po 'più lunga è
-
I server RESTful (applicazioni) sono applicazioni in grado di fornire noi con risorse e gestione di queste risorse su WWW che utilizza come protocollo di comunicazione le HTTP specifiche .
-
Client RESTful (applicazioni) sono applicazioni in grado di consumare e operare con risorse esposte dai server RESTful, nelle stesse sedi .
In parole povere,
-
Le applicazioni RESTful sono quelle che abbracciano totalmente le funzionalità dell'architettura WWW .
Leonard Richardson e Samy Ruby hanno inventato uno stile architettonico che comprende tutti questi presupposti e vincoli. Architettura orientata alle risorse (book ). La sua interpretazione delle applicazioni REST (API e servizi) è stata ampiamente adottata dalla comunità e ha promosso la proliferazione di libri, blog e articoli riguardanti questo argomento. Avendo in comune tutti loro, la tesi Fielding.
Disparità delle implementazioni RESTful
Laggiù, nel selvaggio mercato delle applicazioni RESTful, vedremo le applicazioni che affermano di essere RESTful quando la verità è che non riescono completamente a rispettare i vincoli di Fielding. 1
Compilare tutti i vincoli architettonici di REST non è esente da compromessi. La comunità ha dovuto adottare un certo grado di flessibilità al momento di implementare questi vincoli. Come al solito, è una questione di convenienza e costi-benefici.
Tra i vincoli, l'interfaccia Uniform si distingue dagli altri. Questo vincolo è particolarmente rilevante perché è quello che ci fa utilizzare la semantica HTTP e contenuti per che rappresentano la nostra attività (servizi, modelli, ecc.) in modo RESTful. 2
Ogni implementazione di REST differisce notevolmente da un progetto all'altro e da un fornitore all'altro. È comprensibile dal momento che ognuno di loro deve affrontare diversi requisiti, esigenze e risorse. In definitiva, i requisiti e le esigenze prevalgono sul resto.
1: Significa che non sono RESTful? Bene, è aperto a discussioni e opinioni. Entrambe le cose sono fuori tema qui.
2: Un esempio della sua rilevanza è il gran numero di articoli, guide o domande in SE e SO su come implementare con successo URIs , metodi Http, stato HTTP, ecc; per soddisfare con successo le aspettative del business.