Cos'è REST (in inglese semplice) [chiuso]

81

Ultimamente mi sono interessato a familiarizzare con REST. Ho provato a leggere voce wiki su REST , ma non è stato di aiuto. Lo apprezzerei molto se qualcuno fosse in grado di spiegare in inglese semplice (cioè senza il inutile gergo tecnico)

  1. Cos'è REST
  2. Quale posizione occupa nell'ecosistema dell'architettura Web
  3. Quanto è strettamente (o genericamente) associato al protocollo.
  4. Quali sono le alternative a REST e in che modo REST si confronta con esse.

Capisco che non sia possibile rispondere a questo in uno o due paragrafi, in tal caso i link pertinenti saranno molto apprezzati.

    
posta Gaurav 05.12.2010 - 11:38
fonte

3 risposte

10

What is REST (in simple English)

Plain English:

Rappresentativa: l'azione di parlare o agire per conto di qualcuno.
Trasferimento stato: stato trasferimento.

tecniche:

  • non trasferiamo un oggetto reale ma una sua rappresentazione in un modulo (ad esempio un xml / json / testo per rappresentare una tabella di database).
  • REST per l'esposizione di un'API pubblica su Internet per gestire le operazioni CRUD sui dati. REST si concentra sull'accesso alle risorse nominate attraverso un'unica interfaccia coerente.
  • REST è rappresenta tramite alcuni tipi di media. Alcuni esempi di tipi di media includono XML, JSON e RDF.
  • REST è uno stile architettonico per architettura orientata alle risorse (ROA) , non una specifica o uno standard.
  • Stile architettonico significa che è un concetto, una teoria (e come è implementata, dipende da te)
  • Tutto è identificato da un endpoint univoco. cioè c'è un endpoint per ogni risorsa (dati).
  • L'endpoint è costituito da un nome di dominio con indirizzo di risorsa.

REST vs SOAP

    
risposta data 02.07.2015 - 04:11
fonte
42

Che cos'è REST?

Trasferimento dello stato rappresentativo. Descrive come un sistema può comunicare lo stato con un altro. Un esempio potrebbe essere lo stato di un prodotto (nome, descrizione, ecc.) Rappresentato come XML, JSON o testo semplice. L'idea di stato generalizzata è definita una risorsa.

Quale posizione occupa in un ecosistema di architettura Web?

REST è comunemente associato all'interfaccia dei servizi Web poiché HTTP è di gran lunga il protocollo carrier più comune. Nel modello a 7 livelli esiste nel livello di applicazione . Tuttavia, vedi la prossima sezione.

Quanto è strettamente (o genericamente) associato al protocollo?

REST non è HTTP. Usa HTTP perché nella sua forma più generale REST esiste per aiutare una macchina a mappare il concetto di un verbo contro una raccolta arbitraria di nomi. HTTP contiene un utile insieme di verbi generici (GET, PUT, PATCH, ecc.) Che possono essere applicati a nomi arbitrari espressi come URI usando HTTP, ad es. OTTIENI link ).

Quali sono le alternative a REST e in che modo REST si confronta con loro

Questo è come chiedere "Quanto è RESTful il mio approccio?" Utilizza il seguente elenco (riepilogato dal Richardson Maturity Model come descritto da Martin Fowler ):

Livello 0 - La palude di POX

Usa il POST per tutto (legge, scrive, cancella). Questo è SOAP, POX, RPI ecc. Stai semplicemente usando HTTP come tunnel per il tuo protocollo. Scegli come target un singolo endpoint che fa tutto in base al contenuto del corpo della richiesta.

Livello 1 - Risorse

Usa il POST per tutto. Scegli come target più endpoint progettati per fornire informazioni su una particolare cosa. Hai appena scoperto le risorse.

Livello 2 - Verbi HTTP

Usa verbi HTTP contro le risorse. Ora lo stai recuperando. POST è quello di creare, PUT è quello di sovrascrivere, OPZIONI per le operazioni disponibili, DELETE per, bene, eliminare la risorsa. Come risultato dell'uso di questi verbi, i codici di stato HTTP diversi iniziano a diventare più pertinenti (202 ACCETTATI chiunque ?).

Livello 3 - Controllo Hypermedia ( HATEOAS )

A questo punto fai il salto definitivo e introduci hypermedia come meccanismo di controllo del flusso. Un cliente REST non ha bisogno di conoscenze preliminari su come interagire con una particolare applicazione o server al di là di una comprensione generica di hypermedia. Questo può essere comunicato in HTTP attraverso il campo di intestazione Content-Type. I formati di testo includono AtomPub e (più conciso) HAL , mentre HyperAudio funziona bene per i flussi audio (vedi SoundCloud et al)

    
risposta data 23.04.2012 - 17:26
fonte
11

Mentre REST è un'abbreviazione di Representational State Transfer, potrebbe essere più semplice considerare l'idea di eseguire varie azioni attraverso un'interfaccia alquanto intuitiva.

Ad esempio, un URL come link potrebbe essere interpretato come qualcuno che desidera informazioni sul prodotto con un ID di 125.

Mentre REST viene solitamente pensato in termini di HTTP, il concetto potrebbe essere applicato ad altri protocolli come indicato nel riferimento di Wikipedia.

Altri esempi di REST che potrebbero essere utili:

risposta data 17.04.2012 - 22:18
fonte

Leggi altre domande sui tag