HTTP compression and incremental rendering

TL;DR: HTTP compression can delay rendering of web resources HTTP permits content to be served with different encodings, some of which can be used to compress [1] the data volume transferred over the network, which has become a frequent suggestion [2] towards optimising websites for performance. It turns out that the deflation phase of the … Continue reading HTTP compression and incremental rendering

Spring MVC REST controller says 406 when emails are part URL path

You've got this Spring @RestController and mapped a URL that contains an email as part of the URL path. You cunningly worked around the dot truncation issue [1] and you are ready to roll. And suddenly, on some URLs, Spring will return a 406 [2] which says that the browser requested a certain content type … Continue reading Spring MVC REST controller says 406 when emails are part URL path

Integration testing Spring controllers

Time-constrained projects sometimes mandate crude realism as to the type and extent of test coverage in a software project. You'll find arguments for and against testing in the entire spectrum of opinions from "tests are luxury we can't afford" to "regressions are luxury we can't afford". Constrained or not, there is rarely a good excuse … Continue reading Integration testing Spring controllers

HTTP: The importance of declaring non-cachable resources as such

It works fine with Chrome and it fails on an Android 2.3 browser - the page is performing an XmlHttpRequest to the server for a resource that just changed for sure and yet it gets back an older version. That's the result of a. the browser assuming a resource is cachable even if no Etag … Continue reading HTTP: The importance of declaring non-cachable resources as such

The impact of network packet loss on HTTP latency

Over the course of my involvement [1] in my Indonesian company's website, the question of how to design a website to deal with slow and bad network links presented itself over several occasions as most of our users surf either over a mobile connection or a similarly dimensioned fixed line. While optimizing design and resources … Continue reading The impact of network packet loss on HTTP latency

HTTP pipelining, Tomcat 7 and Firefox 4

During an optimisation cycle for Bazarooma aimed at further reducing latencies I started experimenting with Firefox' HTTP pipelining [1] feature, which is disabled by default. This can be enabled by typing about:config in the URL bar, locating the network.http.pipelining entry and setting it to true. While Firebug did not report any measurable improvement, it turned … Continue reading HTTP pipelining, Tomcat 7 and Firefox 4