Wat betekent REST precies? Wat is het en waarom wordt het nu groot?

Ik begrijp (denk ik) het basisidee achter RUST. Gebruik HTTP-methoden semantisch – GET-gets, PUT-puts, DELETE-verwijderingen, enz… Toch?dacht dat ik het idee achter REST begreep, maar ik denk dat ik dat verwar met de details van een HTTP-implementatie. Wat is de drijvende gedachte achter rust, waarom wordt dit belangrijk? Gebruiken mensen het eigenlijk al heel lang, in een hoekje van het internet waar mijn zaklamp nooit op scheen?


De Google talk vermeldt dat Atom Publishing Protocols veel synergie hebben met RESTful-implementaties. Heb je daar een idee over?


Antwoord 1, autoriteit 100%

Zo zou REST eruit kunnen zien:

POST /user
fname=John&lname=Doe&age=25

De server reageert:

201 Created
Location: /user/123

In de toekomst kunt u dan de gebruikersinformatie ophalen:

GET /user/123

De server antwoordt (uitgaande van een XML-antwoord):

200 OK
<user><fname>John</fname><lname>Doe</lname><age>25</age></user>

Bijwerken:

PUT /user/123
fname=Johnny

Antwoord 2, autoriteit 34%

Dit is mijn mening…

De aantrekkingskracht van het maken van RESTful-services is dat in plaats van webservices te maken met tientallen functionele methoden, we standaardiseren op vier methoden(Create,Retrieve, Update, Destroy):

  • POST
  • KRIJGEN
  • PUT
  • VERWIJDEREN

REST wordt steeds populairder omdat het ook een standaardisatie van berichtformaten op de applicatielaag vertegenwoordigt. Hoewel HTTP de vier basiswerkwoorden van REST gebruikt, is het algemene HTTP-berichtformaat van HTML geen contract voor het bouwen van applicaties.

De beste verklaring die ik heb gehoord is een vergelijking van TCP/IP met RSS.

Ethernet vertegenwoordigt een standaardisatie op het fysieke netwerk. Het Internet Protocol (IP) vertegenwoordigt een standaardisatie hoger op de stapel en heeft verschillende smaken (TCP, UDP, enz.). De introductie van het “Transmission Control Protocol” (gegarandeerde pakketbezorging) definieerde communicatiecontracten die ons openstelden voor een hele nieuwe reeks diensten (FTP, Gopher, Telnet, HTTP) voor de applicatielaag.

In de analogie hebben we XML als het “Protocol” aangenomen, we beginnen nu berichtformaten te standaardiseren. RSSwordt snel de basis voor veel RESTful-services. De GData API van Google is een RSS/ATOM-variant.

De “desktopgadget” is een geweldige realisatie van deze hype: een eenvoudige klant kan basiswebinhoud of complexe mashups gebruiken met behulp van een gemeenschappelijke API en berichtenstandaard.


Antwoord 3, autoriteit 21%

HTTP wordt momenteel te weinig en verkeerd gebruikt.

We gebruiken gewoonlijk slechts twee HTTP-methoden: GET en POST, maar er zijn er meer: ​​DELETE, PUT, enz. (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)

Dus als we bronnen hebben, gedefinieerd door RESTful URL’s (elk domeinobject in uw applicatie heeft een unieke URL in de vorm van http://yoursite.com/path/to/the/resource) en fatsoenlijke HTTP-implementatie, kunnen we objecten in uw domein manipuleren door zinnen te schrijven:

KRIJG http://yoursite.com/path/to/the/resource

VERWIJDER http://yoursite.com/path/to/the/resource

POST http://yoursite.com/path/to/the/resource

enz.

de architectuur is mooi en zo.

maar dit is slechts een theoretische weergave, scenario’s uit de echte wereld worden beschreven in alle links die in de antwoorden vóór de mijne zijn geplaatst.


Antwoord 4, autoriteit 18%

Laten we naar de geschiedenis gaan, Praten over Roy Fielding Research – “Architecturale stijlen en het ontwerp van netwerkgebaseerde software-architecturen“. Het is een grote krant en er wordt veel over verschillende dingen gesproken. Maar hoe zou je als standaardingenieur de duidelijke betekenis van REST (Representational State Transfer) willen uitleggen en wat is de Architectural Style.

Hier is mijn manier om uit te leggen: “Wat is RUST”.

Zie deze www(world wide web) die bovenop verschillende hardware draait, b.v. routers, servers, firewalls, cloudinfrastructuren, switches, LAN, WAN. Het algemene doel van deze www(world wide web) om hypermediate verspreiden. Dit world wide web is uitgerust met verschillende diensten, b.v. op informatie gebaseerde diensten, websites, youtube-kanalen, dynamische websites, statische websites. Dit world wide web gebruikt het HTTP-protocol om hypermedia over de hele wereld te distribueren met een client/server-mechanisme. Dit HTTP-protocol werkt bovenop TCP/IP of een andere geschikte netwerkstack.

Dit HTTP-protocolgebruikt acht methoden om het ‘distributieprotocol’ te beheren ‘ of ‘Architecturale stijl van distributie’. Die acht methoden zijn namelijk: OPTIES,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT.

Maar naast deze HTTP gebruiken webapplicaties hun eigen manier om hypermedia te distribueren, bijv. webapplicaties gebruiken webservices die sterk verbonden zijn met clients en servers ‘of’ webapplicaties gebruiken hun eigen manier van ontworpen client/server mechanisme om zo’n distributiekanaal bovenop HTTP te maken.

Wat Roy Fielding Researchzegt , dat deze acht methoden OPTIES, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT van HTTP zo succesvol zijn om HyperMedia over de hele wereld te leveren bovenop een verscheidenheid aan hardwarebronnen en netwerkstacks met client/server-mechanisme, waarom gebruiken we niet dezelfde strategie met onze webgebaseerde applicatie. Hierbij worden GET,POST,DELETE en PUT het meest gebruikt. dus vier methoden leveren HyperMedia over de hele wereld.

In REST API Architecture Style-toepassing heeft een webtoepassing nodig om de bedrijfslogica te ontwerpen (woont in een server, bijv. Tomcat, Apache HTTP) met alle objectentiteiten (bijv. Klant is een entiteit) en mogelijke bewerkingen (bijv. ‘Klantgegevens ophalen op basis van een klant-ID’) erop. Die mogelijke bewerkingen met deze entiteiten moeten worden ontworpen met vier hoofdbewerkingen of methoden, namelijk: maken, ophalen, bijwerken, verwijderen. Deze entiteiten worden bronnen genoemd en deze worden gepresenteerdof vertegenwoordigdin een vorm, b.v. JSON of XML of iets anders. We hebben Client(Browsers) die Create,Retrieve,Update,Delete (CRUD)-methoden aanroepen om de juiste functie uit te voeren op een dergelijke bron die zich op de server bevindt.

Maar zoals uitgelegd, betekent het concept van Representatiede manier waarop entiteiten van bedrijfslogica of objecten worden weergegeven. maar hoe zit het met ‘Staatsoverdracht’?.

De Statusoverdracht, het gaat over de “staat van communicatie” van Client naar Server. Er wordt gesproken over het ontwerp van ‘statusoverdrachten’ van client naar server, b.v. Klant noemde de operatie eerst ‘Klant maken’, nadat hij dit had genoemd wat de volgende klantstatus of klantstatus zou zijn die ‘klant’ kan bellen. De status kan zijn om ‘de aangemaakte klantgegevens op te halen’, ‘de klantgegevens bij te werken’ of wat


Antwoord 5, autoriteit 9%

REST is een architectuur waarin resources worden gedefinieerd en aangepakt.

Om REST het beste te begrijpen, moet je kijken naar de Resource Oriented Architecture (ROA)die een set richtlijnen voor het daadwerkelijk implementeren van de REST-architectuur.

REST hoeft niet via HTTP te zijn, maar is de meest voorkomende. REST is echter voor het eerst gemaakt door een van de makers van HTTP.

Other episodes