XHR: My favorite programming acronym

Often it is easy to ignore the underlying words for acronyms that are used technical applications because often they are pretty boring. Knowing what blob, HTML, JSON, GUID/UUID are used for and what you can do with them tends to be the more important thing than learning what they stand for when starting software development due to the shear breadth of scope in software development.

Several years ago learning XHR was one of these acrynoms that didn't initially need to learn, but just needed to know to click on XHR to filter down the requests in the network panel of Chrome Dev Tools for an Angular project I was working on. Curiosity eventually got the better of me to learn what XHR actually stood for.

In the XHR the first two letters are actually acronyms themselves standing for XML and HTTP, respectively. The final letter is luckily just simple stands for "Request". So the first layer widens out to "XMLHttpRequest". XML then stands for "eXtensible Markup Language" which is a bit irregular in that it doesn't use the first letters like proper initialism might. HTTP stands for "Hyper Text Transfer Protocol" which brings our short little three letter acrynom of XHR to a grand total of "Extensible Markup Language Hyper Text Transfer Protocol Request" or 63 characters. That's some pretty good compression.

The other great thing about XHR is that despite the name explicitly mentioning XML and HTTP it doens't have to only be XML as JSON is also commonly sent as XHR and the request doesn't techinically need to be HTTP and could be done on other protocols. Atleast the R is straightforward.

When writing this article I felt remiss to not mention another great tech acronym of GNU which is recursive in that it stands for "GNU's Not Unix!".

Overall this article is far too much writing for just a three letter acryonym but thanks for reading.

© Mark Peterson 2019 - 2021