Ein weiterer wichtiger Grund, warum diese API als nicht RESTful angesehen wird, ist, dass sie keinen "Hypertext" verwendet. Hypertext ist einfach die Verwendung von Links (und Link-Relationen), um Kunden in Ihren Anwendungen weiterzuleiten, anstatt von ihnen zu verlangen, einen URI programmatisch zu "konstruieren".
Dies ist nicht RESTful:
GET /Kollektion
200 OK
<collection>
<item>
<id>1</id>
</item>
</collection>
Dies ist RESTful:
GET /Kollektion
200 OK
<collection>
<item href="http://stackoverflow.com/collection/1" />
</collection>
Der Vorteil des letzteren, des RESTful-Ansatzes, ist, dass Ihr Server die Elementressource an einen beliebigen Ort verschieben kann - z. B. nach /item/1 -, den href-Wert ändern kann und weiß, dass alle Clients die Änderung übernehmen. Der erste Ansatz ist dazu nicht in der Lage, weil der Server nicht garantieren kann, dass alle Clients die Änderung anerkennen; dies ist Teil dessen, was als Client/Server-Kopplung bezeichnet wird, und in großen verteilten Systemen, in denen Ihre API viele Clients hat, möchten Sie dies auf ein Minimum beschränken - dies ist das Hauptziel von REST.
Roy Fielding bezeichnet diesen Teil von REST als "Hypertext Constraint" und schrieb den folgenden Blogbeitrag darüber:
http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven