As a software developer today it is pretty difficult to avoid working with HTTP in some capacity. There also seems to be a growing desire among developers to get a deeper understanding of the protocol. Recently Glenn Block and I decided it might be interesting to do a online Q&A about HTTP and try and answer developer questions.
You Don't Know If You Don't Try
The first episode is available on Crowdcast.io along with the questions we attempted to answer indexed into the video. If you would rather not log into Crowdcast to watch, the video is also available on YouTube.
Some of the questions we addressed in the show include:
- Are there fundamental differences to consider when it comes to internal HTTP requests between microservices vs. a public API?
- Where should I put my API Key?
- What are your suggestions for HTTP API discoverability?
- Pro and Cons of Custom Headers
- What should we return in the body from POST or PUT?
- Browser client (JavaScript calling hypermedia api) versus code-on-demand ajax calls?
Links from the show include:
- HTTP Working group Github repo
- SEARCH method specification
- API Search site
- API Discovery Format
- Service Discovery The Easy Way
- Service Discovery Redux
- API Description format transformer
- Deprecating x- header prefix
- Where does the API key go
- Seaport DevOps Discoverability
Was It A Fluke?
We didn't manage to make it through all the questions in the first episode, and people seemed to like the conversation, so we decided to have another go. The video and questions for episode 2 are also on crowdcast.io and on YouTube.
Some of the questions we answered include:
- Is it common practice to use Media Types for supplying different type of data (and not just versioning) when posting using the Content-Type header, e.g. /payment could take a vnd.company.cc and vnd.company.paypal?
- What actually is HTTP caching? Is it caching the payload?
- SPDY and HTTP/2
- Can you recommend an API gateway, open-source or otherwise?
- What are your thoughts on using tools like AutoRest for client generation?
Links from the show include:
Coming up next
There have been a number of Swagger and other API description language related questions that we have only indirectly touched on. So, we are going to start the next episode with a full on discussion on API description languages, their strengths and their pitfalls.