In my first deep dive into a HTTP header on the user-agent header I said that I would try and produce a series of posts going under the covers on certain HTTP headers. This post is about the Vary header. The Vary header both wonderful and sad at the same time. I’ll discuss how to make it work […]
Several years ago when I was beginning to work on a large hyper media driven client, I recognized frequently recurring patterns and decided that I could raise the level of abstraction from an HTTP client to a hypermedia client. It took about a year to realize that it was not as good an idea as […]
In Web API 2.1 a new mechanism was introduced for returning HTTP messages that appeared to be a cross between HttpResponseMessage and the ActionResult mechanism from ASP.NET MVC. At first I wasn’t a fan of it at all. It appeared to add little new value and just provide yet another alternative that would a be a source of confusion. […]
Unfortunately, I still regularly run into articles on the web that misunderstand the concept of an HTTP resource. Considering it is a core piece of web architecture, having a clear understanding of what it means can make many other pieces of web architectural guidance considerably easier to understand. To try and keep this post as […]
With the recent surge of interest in hypermedia APIs I am beginning to see the term “self-descriptive” thrown around quite frequently. Unfortunately, the meaning of self-descriptive is not exactly self-descriptive, leading to misuse of the term. Consider the following HTTP requests, Example 1 Example 2: I suspect a fair number of people will be surprised […]
In a previous post I talked about how to send raw JSON to a web API and consume it easily. This is a non-obvious process because ASP.NET Web API is optimized for sending and receiving arbitrary CLR object that then get serialized by the formatters in the request/response pipeline. However, sometimes you just want to have more […]
Fiddler is an excellent tool that I have been using for many years to debug HTTP requests in local applications. However, one of the things that Fiddler can’t do easily, out of the box, is allow you to share requests with other team members. Sometimes it is nice to be able to show someone a HTTP […]
In the previous post in this series, we talked about how to create a Windows Service that would use an OWIN compatible host, to host an OWIN HTTP application and package that up into an easy to manage executable. This post describes an approach to deploying that executable using simple command line tooling. Push vs Pull Deployments […]
ASP.Net Web API made it fairly easy to create a self-hosted HTTP server. However, the process of taking that self-hosted server and deploying it was an exercise that was left to the reader. This series of blog posts documents the refinements that I have made to my process of creating and deploying self-hosted web servers. […]