REST is using current features of the Web and applying some principles on it to make it more efficient. It uses standard HTTP verbs for communication and take help of its st
As Darin already answered, HTTP is a TCP protocol with some overhead that is exactly what is used in the RESTful definition. So, no, you can't remove the HTTP overhead.
I believe that your question "Can I use TCP for a faster RESTful app?" is related with the question "Why so many websites are using REST if HTTP is slower than pure TCP?".
The truth is: HTTP is indeed slower than the pure binary TCP form, but in most applications, your users will not notice the difference because the overhead is really very small and usually the client will make just a few requests per minute.
For example: GET /posts?userId=5
If this request takes more than a few milliseconds to complete, then the problem is not in the HTTP protocol. The performance problem is related with the network latency, with your server-side code or how you are retrieving data from your database.