Welcome to MSDN Blogs Sign in | Join | Help

Transaction Header Magic

Simplicity is elusive. A few weeks ago I learned that part of transaction flow, propagating information about the source machine between the client and server, is more complicated than I thought. It's not that the details were inherently complicated but rather that they were inconsistent. The information was passed in a certain header of the message, except when using a particular transaction protocol and transport protocol together. Someone noticed that a few bytes could be saved by optimizing this particular combination and in that case put the information in a different header in a different format. Efficiency was achieved at the cost of forcing everyone trying to understand the protocol to think harder about it.

Most of the protocols that have stood the test of time on the web have sacrificed efficiency to achieve simplicity. Consider all of the protocols out there that are large, bloated, and redundant but easy to think about and tolerant to misunderstandings. What keeps them alive against their slimmer and more advanced competition other than that they were able to attract many people to speak them?

Next time: Naming Contracts for Versioning

Published Thursday, July 10, 2008 5:00 AM by Nicholas Allen
Filed under: ,

Comments

Monday, July 14, 2008 4:12 AM by Nicholas Allen's Indigo Blog

# Configuring SSL Host Headers

Host headers in IIS are a way to associate multiple names with a single address. The typical use of host

New Comments to this post are disabled
 
Page view tracker