

Know Your HTTP Well - obilgic
https://github.com/andreineculau/know-your-http-well

======
bpedro
Great stuff! Makes it really easy to offer human readable messages instead of
HTTP codes in your app.

If you're just looking for HTTP codes, here's the link to the JSON file:
[https://github.com/andreineculau/know-your-http-
well/blob/ma...](https://github.com/andreineculau/know-your-http-
well/blob/master/js/status-codes.json)

------
pestaa
Great work! Are there similar initiatives trying to collect common knowledge
in structured data? (I know this is a broad topic, but can't stop thinking
about a more semantic web.)

------
andreineculau
Based on this structured data, another service is nifty:
[http://bin.hyperrest.com](http://bin.hyperrest.com)

which coupled with a browser search plugin [http://mycroftproject.com/search-
engines.html?name=bin.hyper...](http://mycroftproject.com/search-
engines.html?name=bin.hyperrest.com) can brings specifications to the tip of
your... "bin+tab" :)

Opensourced at
[https://github.com/hyperrest/bin](https://github.com/hyperrest/bin)

------
zeckalpha
When job applications are asking for significant knowledge of HTTP, is this
what they mean?

~~~
ericgoldberg
Personally, I like using HTTP principles when interviewing web developer
candidates. I'm not expecting people to know every detail of every RFC, or
trivia type stuff in general. I more am interested in how much they know / can
figure out about how HTTP-based communication works. I will ask stuff like
"Explain how a redirect works, and how clients/browsers and servers interact
with each other during a redirect." Also, REST is built on the concept of
using HTTP verbs and resources properly, so it is nice to ask them to design a
rough draft of an API to edit, add, delete, and list users via HTTP. Without
asking them to do it RESTfully. It's telling if their first instinct is to
have a "createUser" endpoint versus a POST to /users/

~~~
nandemo
> _It 's telling if their first instinct is to have a "createUser" endpoint
> versus a POST to /users/_

It's telling of what exactly?

RESTful is just one style of creating application interfaces over HTTP. And as
far as I know, web apps with true RESTful interfaces are somewhat rare. [1] If
you don't ask the candidate to do it RESTfully, it seems like you're doing the
common interview anti-pattern of asking a question that is open-ended but
expecting a particular answer.

[1] [http://www.intridea.com/blog/2010/4/29/rest-isnt-what-you-
th...](http://www.intridea.com/blog/2010/4/29/rest-isnt-what-you-think-it-is#)

~~~
twerquie
> It's telling of what exactly?

That the candidate favors transport-agnostic APIs or has limited familiarity
with HTTP. One easy follow-up: "I notice you decided to call the method
createUser..." and you've learned something concrete. They'll either stare
blankly or discuss their preference for JSON-RPC or SOAP or whatever.

> And as far as I know, web apps with true RESTful interfaces are somewhat
> rare.

It's common to take advantage of HTTP's verb syntax.

