Dove è implicito che REST non sia basato su HTTP [chiuso]

-2

Sono stato a conoscenza di Fielding su REST e su tutto il web, incluso StackOverflow che cercava di capire questo.

Dopo aver letto tutto quello che posso su REST, ho avuto l'impressione che Fielding abbia basato REST su HTTP, usandolo come un trampolino di lancio. Ma poi vado a leggere alcune persone che dicono che REST in realtà non dipende da HTTP e potrebbe essere implementato perfettamente su FTP (per fare un esempio).

C'è qualche documento ufficiale (principalmente da Fielding) che lo spiega esplicitamente?

    
posta Deleteman 26.10.2014 - 02:36
fonte

2 risposte

5

Questa risposta è basata su estratti da Stili architettonici e la progettazione di architetture software di rete , dottorato di Roy T. Fielding

Si legge la Introduzione alla tesi di Fielding, in parte:

Over the past six years, the REST architectural style has been used to guide the design and development of the architecture for the modern Web

Capitolo 5 Sezione 5.3.2 leggi , in parte:

REST does not restrict communication to a particular protocol, but it does constrain the interface between components, and hence the scope of interaction and implementation assumptions that might otherwise be made between components.

For example, the Web's primary transfer protocol is HTTP, but the architecture also includes seamless access to resources that originate on pre-existing network servers, including FTP, Gopher, and WAIS. Interaction with those services is restricted to the semantics of a REST connector.

This constraint sacrifices some of the advantages of other architectures, such as the stateful interaction of a relevance feedback protocol like WAIS, in order to retain the advantages of a single, generic interface for connector semantics. In return, the generic interface makes it possible to access a multitude of services through a single proxy. If an application needs the additional capabilities of another architecture, it can implement and invoke those capabilities as a separate system running in parallel, similar to how the Web architecture interfaces with "telnet" and "mailto" resources.

Altre informazioni in Capitolo 6 Fielding goes per dare esempi di come REST era l'unità dietro l'URI ( 5 ) e HTTP ( 6 , 7 )

Da questo possiamo vedere che i contributi di Fielding agli standard Web (incluso HTTP) sono stati guidati dai principi di definizione o dai vincoli dello stile architettonico REST.

    
risposta data 26.10.2014 - 05:55
fonte
1

Ho visto una buona citazione di recente (non riesco a trovare il collegamento ora) che ha capovolto l'equazione: che HTTP è un protocollo RESTful. In altre parole, se vuoi implementare un servizio RESTful, sfruttare l'HTTP è una buona scommessa perché incorpora i principi di REST.

Quindi piuttosto che dire che REST è costruito su HTTP - che è come l'ho sempre pensato - è meglio dire che REST è un insieme di principi di progettazione che sono realizzati nel protocollo HTTP. HTTP è un protocollo RESTful.

(Ora potrebbe effettivamente essere emerso che REST è emerso dall'osservazione di ciò che ha funzionato bene con HTTP, ma per ragioni argomentative possiamo fingere che REST racchiuda un certo insieme di principi eterni e che l'HTTP abbia appena preso forma attorno a loro;) )

    
risposta data 26.10.2014 - 07:16
fonte

Leggi altre domande sui tag