title: Are RPC frameworks such as Apache Thrift or GRPC or any other RPC framework RESTful?
body: <p>Just to clarify what I mean by <strong>RESTful</strong>, it should satisfy the following constraints, taken from <a href="http://www.restapitutorial.com/lessons/whatisrest.html" rel="nofollow noreferrer">here</a>:</p>
  
  <ul>
  <li><p>Uniform Interface</p></li>
  <li><p>Stateless</p></li>
  <li><p>Cacheable</p></li>
  <li><p>Client-Server</p></li>
  <li><p>Layered System</p></li>
  <li><p>Code on Demand </p></li>
  </ul>
  
  <p>From my research, I believe that they aren't RESTful, primarily because :</p>
  
  <ol>
  <li><p>They do not use HTTP verbs. </p></li>
  <li><p>They do not use HTTP Response Codes.</p></li>
  <li><p>They does not follow principles of REST connectedness which is based on <strong>HATEOAS</strong>. </p></li>
  </ol>
  
  <p>Refer <a href="http://www.restapitutorial.com/lessons/restquicktips.html" rel="nofollow noreferrer">this</a> resource for more information about data above conclusions are based on.</p>
  
  <p>Some resources like <a href="https://www.quora.com/When-should-I-use-thrift-instead-of-plain-restful-API" rel="nofollow noreferrer">these</a> seem to suggest these frameworks can be used/implemented as RESTful.</p>
  
  <p>Please refer to resources you're basing your answer on. This question is intended to clear the misconception about the topic strongly citing official resources.</p>