<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/feeds.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="https://chameth.com/">
    <title>Chameth.com - posts like http2-and-sni, surge-protectors-marketing-vs-reality, why-you-should-be-using-https</title>
    <subtitle>Personal homepage of Chris Smith</subtitle>
    <link href="https://chameth.com/feeds/posts/like/http2-and-sni,surge-protectors-marketing-vs-reality,why-you-should-be-using-https/" rel="self"/>
    <link href="https://chameth.com/"/>
    <icon>https://chameth.com/favicon.png</icon>
    <updated>2026-01-24T00:00:00Z</updated>
    <id>https://chameth.com/</id>
    <author>
        <name>Chris Smith</name>
    </author>
    <entry>
        <title>Surge protectors: marketing vs reality</title>
        <link href="https://chameth.com/surge-protectors-marketing-vs-reality/"/>
        <updated>2026-01-24T00:00:00Z</updated>
        <id>https://chameth.com/surge-protectors-marketing-vs-reality/</id>
        <content xml:lang="en" type="html">&lt;p&gt;A while back I went down a deep rabbit hole looking into surge protectors, and what all the different numbers mean, and how that affects things in case of a voltage spike. Then I didn’t really do anything with the information, other than bore a few friends, and look around in despair at all the shockingly bad products out there. Time to fix that!&lt;/p&gt;
&lt;p&gt;I’m coming at this from the angle of a computer user in a country with very good electrical regulations. If you’re protecting something else, or live somewhere that doesn’t believe in grounding things, your mileage may vary.&lt;/p&gt;
&lt;h3 id=&#34;building-a-better-mental-model&#34;&gt;Building a better mental model&lt;/h3&gt;
&lt;p&gt;I think when most of us think of surge protectors, we think of an extension lead with some magical property that stops surges and protects everything plugged into them. It’s a bit like the shield on the USS Enterprise. If we put the shields up in time, they’ll stop everything thrown at them, until at some point they’re overloaded and stop working. Only then will we have problems. There’s even a little LED that goes out when she cannae take it any more, cap’n.&lt;/p&gt;
&lt;p&gt;Of course, if that was actually the case, I wouldn’t be writing a blog post. Surge protectors are more like the crumple zone on a car. If you hit something, the crumple zone will absorb some of the impact, but you can quite easily still get injured. If the impact is big enough then the crumple zone will bleed some energy, but you’re still going to have a very bad time. My point here is that it’s not a perfect shield, can be overcome with a single excessive impact, and doesn’t magically recharge back to full strength.&lt;/p&gt;
&lt;h3 id=&#34;the-numbers-mason-what-do-they-mean&#34;&gt;The numbers, Mason! What do they mean?&lt;/h3&gt;
&lt;p&gt;To understand what protection these things really offer, we need to look at a couple of numbers. Unfortunately, they’re not the numbers that are displayed in the marketing. Sometimes they’re not even on the spec sheet. Most of the time they’re on the actual device, and if they’re not then it’s safe to just assume things are bad.&lt;/p&gt;
&lt;p&gt;The most important number is the let-through voltage, U&lt;sub&gt;p&lt;/sub&gt;. It may also be called the clamping voltage, the voltage protection rating, or the VPR. This is the voltage that will be let through, before the surge protector does &lt;em&gt;anything&lt;/em&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. We use 230V mains, with a +10%/-6% tolerance. So we shouldn’t be seeing anything above 253V. If you were designing a surge protector, you’d want it to engage a little above this, right? Maybe call it 300V so it doesn’t cut in prematurely? If you have a surge protector nearby, I invite you to try and find its U&lt;sub&gt;p&lt;/sub&gt; value. If you don’t have one, you can follow along with mine:&lt;/p&gt;
&lt;figure class=&#34;image full&#34;&gt;
  &lt;picture&gt;
      &lt;source srcset=&#34;https://chameth.com/surge-protectors-marketing-vs-reality/surge.avif&#34; type=&#34;image/avif&#34;/&gt;
      &lt;source srcset=&#34;https://chameth.com/surge-protectors-marketing-vs-reality/surge.webp&#34; type=&#34;image/webp&#34;/&gt;
      &lt;img src=&#34;https://chameth.com/surge-protectors-marketing-vs-reality/surge.jpg&#34; alt=&#34;The back of a surge protector, showing some specs. Uoc = 4kV, Uc = 250V, Up = 1.5kV&#34; loading=&#34;lazy&#34; width=&#34;1000&#34; height=&#34;750&#34;/&gt;
  &lt;/picture&gt;
  &lt;figcaption&gt;&lt;p&gt;A not-very-good surge protector. Please take a moment to consider how difficult it was to make this text readable.&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Yes, that’s 1,500 Volts. Up until that point the surge protector does nothing. Your computer’s power supply just has to deal with it. That’s not even the highest I’ve seen, either. It’s just the closest I had to hand.&lt;/p&gt;
&lt;p&gt;So what are the other numbers? U&lt;sub&gt;c&lt;/sub&gt; is the maximum continuous operating voltage. That’s probably &lt;em&gt;fine&lt;/em&gt; — in the worst case it’ll slowly degrade over time if the mains rides the 253V edge — but at the same time, would you not spec it for 275V or more given that? For the most part, we don’t really care about this, though. If the surge protector has the right kind of plug on it, then it’s probably got a U&lt;sub&gt;c&lt;/sub&gt; in the right ballpark.&lt;/p&gt;
&lt;p&gt;Then we have U&lt;sub&gt;oc&lt;/sub&gt;, which is the open circuit voltage. This is one of the numbers that might end up on the marketing, because it can be big! This is the surge voltage that the device can sustain without failing itself. So for this surge protector, it won’t do anything for surges up to 1.5kV, between 1.5kV and 4kV it will clamp the voltage, and above 4kV it might fail in some manner. That failure could be failing open and leaving your computer to deal with the rest of the surge (the little LED would go out, though!).&lt;/p&gt;
&lt;p&gt;The number not on the device that’s on all the marketing materials is the “Joule rating”. That’s how much energy the thing can absorb before it fails. That can be gradually drained by small surges over time, or by a big one. Something in the realm of 1kJ seems to be a “good” value, but what does it actually mean? Say we had a surge of 1.5kV, our 1kJ of protection would cover 0.66 Amp seconds. Surges are typically very short; let’s say one lasts 2µs. That energy budget would allow for 333kA of current to be handled! That’s an order of magnitude more than a lightning strike! Amazing! Except… There’s also a maximum surge current rating, and I guarantee it’s less than that. The actual number on the Joule rating is basically useless given all the other constraints, but the bigger the number the more hardy the protector will be, in general.&lt;/p&gt;
&lt;p&gt;Oh, one more thing on that Joule rating. Sometimes surge protectors will have multiple different protection devices inside, especially when they protect other connectors like coax or telephone cables. Sometimes the Joule rating will just be the sum of all the individual protectors, so is even more useless. Yay marketing.&lt;/p&gt;
&lt;h3 id=&#34;how-much-abuse-can-a-psu-take-anyway&#34;&gt;How much abuse can a PSU take, anyway?&lt;/h3&gt;
&lt;p&gt;OK, so it turns out surge protectors are… underwhelming, shall we say? If there’s a surge, your computer is going to be &lt;em&gt;involved&lt;/em&gt;. So what can PSUs actually deal with?&lt;/p&gt;
&lt;p&gt;Turns out modern PSUs have surge protection built-in, along with all sorts of other “why is the electricity not electricitying right?” safeguards. I can’t find a single manufacturer that actually puts any numbers to that, though.&lt;/p&gt;
&lt;p&gt;If you were to open one up and look inside, you’d see something like this:&lt;/p&gt;
&lt;figure class=&#34;image full&#34;&gt;
  &lt;picture&gt;
      &lt;source srcset=&#34;https://chameth.com/surge-protectors-marketing-vs-reality/mov.avif&#34; type=&#34;image/avif&#34;/&gt;
      &lt;source srcset=&#34;https://chameth.com/surge-protectors-marketing-vs-reality/mov.webp&#34; type=&#34;image/webp&#34;/&gt;
      &lt;img src=&#34;https://chameth.com/surge-protectors-marketing-vs-reality/mov.jpg&#34; alt=&#34;Inside of a computer PSU: a printed circuit board with various components on it. Highlighted is a component wrapped in heatshrink, with the label ZNR1 next to it.&#34; loading=&#34;lazy&#34; width=&#34;600&#34; height=&#34;421&#34;/&gt;
  &lt;/picture&gt;
  &lt;figcaption&gt;&lt;p&gt;I spy with my little eye… something beginning with MOV!&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;That little thing hidden in heatshrink is a MOV, or Metal Oxide Varistor. Also known as a Zinc-Oxide Non-liner Resistor, or ZNR, as it’s labelled in the picture. It’s basically a resistor that varies its resistance based on the voltage. So it can have a high resistance at low voltages, and then after, say, 300V it could start dropping off. Can you guess what component is inside basically all consumer surge protectors? Yeah, these things! So, as mentioned, I don’t have numbers to back this up but I’m going to go out on a limb and say that the MOV in a £130 PSU can probably handle &lt;em&gt;at least&lt;/em&gt; the same as the MOVs in a £7 surge protector.&lt;/p&gt;
&lt;p&gt;It’s hard to imagine a situation where there’s a surge that would have destroyed the PSU that would be mitigated by an external surge protector. It’s probably either going to take both of them out, or they’ll both survive. No Enterprise shields here, I’m afraid.&lt;/p&gt;
&lt;p&gt;So is it not worth having a surge protector at all? Not quite. MOVs degrade with use, so if a surge protector handles some smaller surges, or takes bites out of bigger ones, it might &lt;em&gt;prolong&lt;/em&gt; the life of the PSU. Maybe that’s worth it, especially if you find one of the (increasingly rare) ones with a decently low clamping voltage.&lt;/p&gt;
&lt;h3 id=&#34;addendum-covered-equipment-warranties-and-magic-smoke&#34;&gt;Addendum: covered equipment warranties and magic smoke&lt;/h3&gt;
&lt;p&gt;A bunch of surge protectors come with a warranty for downstream equipment. That sounds like a great deal, right? Even if there’s a huge surge that the protector can’t handle, at least you can replace the equipment? Alas, no. These warranties only cover if the surge protector doesn’t operate &lt;em&gt;within its specifications&lt;/em&gt;. If you go over the max voltage, or the max current, or the max energy and all your equipment blows up, then the surge protector is merely working as designed. It’s &lt;em&gt;meant&lt;/em&gt; to fail in those circumstances, and at that point all bets are off. No warranty money for you.&lt;/p&gt;
&lt;p&gt;The other thing to bear in mind is that — in the UK at least — significant power surges aren’t common at all. If you travel with your computer then you’re more likely to come across dodgy electrics that can fry your computer than you are to hit a power surge. I’ve been to a lot of LAN events and have never heard of a surge protector popping and saving a computer; on the other hand I &lt;em&gt;have&lt;/em&gt; seen an entire row of computers release their magic smoke because the electrician hadn’t connected the three-phase supply properly. There’s absolutely no protection to be had from that!&lt;/p&gt;
&lt;p&gt;Photo credit: thanks to &lt;a href=&#34;https://greboid.com/&#34;&gt;Greg&lt;/a&gt; for supplying the picture of the PSU so I didn’t have to take my computer apart.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Well, actually, it does a tiny bit before U&lt;sub&gt;p&lt;/sub&gt; because it’s not a binary switch, and life is messy. It won’t do &lt;em&gt;much&lt;/em&gt; of anything before U&lt;sub&gt;p&lt;/sub&gt;. &lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; role=&#34;doc-backlink&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
    </entry>
    <entry>
        <title>HTTP/2 and TLS Server Name Indication</title>
        <link href="https://chameth.com/http2-and-sni/"/>
        <updated>2024-05-25T00:00:00Z</updated>
        <id>https://chameth.com/http2-and-sni/</id>
        <content xml:lang="en" type="html">&lt;p&gt;I was recently alerted to a bug in &lt;a href=&#34;https://github.com/csmith/centauri&#34;&gt;Centauri&lt;/a&gt;,
a simple reverse proxy I wrote. The initial report was that it was
serving completely the wrong website, but only sometimes, and it behaved
differently in different browsers, and no-one else could reproduce it.&lt;/p&gt;
&lt;p&gt;I use Centauri for all of my web-facing services (including this site!) so
it’s a little surprising such a major bug would have escaped my notice.
&lt;a href=&#34;https://dataforce.org.uk&#34;&gt;Shane&lt;/a&gt;, who first noticed the bug, was persistent
though and eventually managed to figure out some exact reproduction steps.&lt;/p&gt;
&lt;!--more--&gt;
&lt;h3 id=&#34;a-brief-overview-of-centauri-and-sni&#34;&gt;A brief overview of Centauri and SNI&lt;/h3&gt;
&lt;p&gt;Centauri originally only proxied HTTPS requests&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. When it receives a HTTPS
request, it first looks at the Server Name Indication (or SNI) field in the
TLS &lt;code&gt;ClientHello&lt;/code&gt; message. It uses this field to determine which TLS certificate
to respond with (as one Centauri instance will typically serve many websites
across many domain names, each with their own certificate). That’s what the
field exists for: before SNI, if you wanted to host two HTTPS sites on the
same machine you’d need separate IP addresses for them!&lt;/p&gt;
&lt;p&gt;Once the TLS session was established Centauri would read in the HTTP request,
select which backend it was going to be sent to based on the SNI field, and then
proxy it on. The HTTP request itself contains a &lt;code&gt;Host&lt;/code&gt; header which identifies
which host the request is for, but that will always be the same as the SNI
field… or so I thought.&lt;/p&gt;
&lt;h3 id=&#34;http-connection-reuse&#34;&gt;HTTP connection reuse&lt;/h3&gt;
&lt;p&gt;When accessing a website, your browser will request dozens of resources in a
short space of time: the webpage itself, some stylesheets, maybe some scripts,
plus any images, fonts, videos, etc. It would be extremely inefficient to open
a new connection for each individual request, as setting up the connection
requires several round trips between the client and the server.&lt;/p&gt;
&lt;p&gt;To address this issue, HTTP/1.1 formalised the idea of “persistent connections”,
which allow the client to keep a connection open and send another request once
the first has completed. HTTP/2 takes this a step much further and allows full
multiplexing — sending multiple requests at once and allowing the server to
respond out-of-order.&lt;/p&gt;
&lt;p&gt;Obviously, you can only reuse the connection if you’re requesting further
resources from the same host: if your browser makes a request to &lt;code&gt;example.com&lt;/code&gt;
and that includes a script from &lt;code&gt;example.net&lt;/code&gt;, it has to open a new connection
for the other domain. However, HTTP/2 expands this slightly:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For “https” resources, connection reuse additionally depends on &lt;br/&gt;
having a certificate that is valid for the host in the URI.  The &lt;br/&gt;
certificate presented by the server MUST satisfy any checks that the &lt;br/&gt;
client would perform when forming a new TLS connection for the host &lt;br/&gt;
in the URI.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;putting-it-all-together&#34;&gt;Putting it all together&lt;/h3&gt;
&lt;p&gt;The reproduction steps that Shane figured out involved visiting sites hosted
on two subdomains. The first site to be visited got “stuck” and subsequent
requests to the other site were routed there instead. This only worked for
one specific domain, though, and it turns out because that domain was configured
in Centauri to use a wildcard TLS certificate (i.e., the certificate served
for the request to the first site was also valid for the second site).&lt;/p&gt;
&lt;p&gt;The certificate being valid for both sites allowed the browser to use the same
connection. This breaks my assumption that the SNI field would always match the
HTTP host, as all requests are sent over the same TLS connection that had the
SNI field set to the first site’s subdomain. While perfectly in spec, the
behaviour is quite surprising.&lt;/p&gt;
&lt;p&gt;The fix for this was trivial: Centauri now checks the HTTP Host header instead
of routing based on the SNI field. I found the bug itself interesting though,
as it has such an awkward set of conditions for it to occur:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;There must be multiple sites that share a certificate (the default behaviour
in Centauri is to obtain one certificate per site)&lt;/li&gt;
&lt;li&gt;A user must visit two of those sites&lt;/li&gt;
&lt;li&gt;The browser must still have a connection open to the first site when visiting
the second&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It’s also one of those rare bugs where everything is working as intended, it’s
just that the intention was slightly wrong for some reason. In this case it was
because I wasn’t aware of the fairly significant shift in behaviour introduced
in HTTP/2 for that one tiny part of the spec&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Thanks again to &lt;a href=&#34;https://dataforce.org.uk&#34;&gt;Shane&lt;/a&gt; for the debugging he did to
figure this all out!&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;It now also proxies HTTP requests but only if they come over a Tailscale
connection. Otherwise, plain HTTP requests are redirected to HTTPS. &lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; role=&#34;doc-backlink&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;I think it’s this kind of thing that drives software devs to become
carpenters or farmers. You don’t suddenly get a Door 2.0 specification that
invalidates all your assumptions about how hinges work when certain people try
to open it. &lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:2&#34; role=&#34;doc-backlink&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
    </entry>
    <entry>
        <title>Why you should be using HTTPS</title>
        <link href="https://chameth.com/why-you-should-be-using-https/"/>
        <updated>2016-06-17T00:00:00Z</updated>
        <id>https://chameth.com/why-you-should-be-using-https/</id>
        <content xml:lang="en" type="html">&lt;figure class=&#34;image left&#34;&gt;
  &lt;picture&gt;
      &lt;source srcset=&#34;https://chameth.com/why-you-should-be-using-https/https-everywhere.avif&#34; type=&#34;image/avif&#34;/&gt;
      &lt;source srcset=&#34;https://chameth.com/why-you-should-be-using-https/https-everywhere.webp&#34; type=&#34;image/webp&#34;/&gt;
      &lt;img src=&#34;https://chameth.com/why-you-should-be-using-https/https-everywhere.jpg&#34; alt=&#34;The EFF&amp;#39;s HTTPS Everywhere logo&#34; loading=&#34;lazy&#34; width=&#34;300&#34; height=&#34;260&#34;/&gt;
  &lt;/picture&gt;
  &lt;figcaption&gt;&lt;p&gt;The EFF’s HTTPS Everywhere logo&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;One of my favourite hobbyhorses recently has been the use of HTTPS, or lack thereof. HTTPS is the
thing that makes the little padlock appear in your browser, and has existed for over 20 years.
In the past, that little padlock was the exclusive preserve of banks and other ‘high security’
establishments; over time its use has gradually expanded to most (but not all) websites
that handle user information, and the time is now right for it to become ubiquitous.&lt;/p&gt;
&lt;h3 id=&#34;why-use-https&#34;&gt;Why use HTTPS?&lt;/h3&gt;
&lt;p&gt;There are numerous advantages to using HTTPS, both for the users of a website and for the
operator:&lt;/p&gt;
&lt;h4 id=&#34;privacy&#34;&gt;Privacy&lt;/h4&gt;
&lt;p&gt;The most obvious advantage is that HTTPS gives your users additional privacy. An insecure (HTTP)
request can potentially be read by anyone on the same network, or the network operators, or anyone
who happens to operate a network along the path between the user and the server.&lt;/p&gt;
&lt;p&gt;Users on shared WiFi networks (such as those in coffee shops, hotels, or offices) are particularly
vulnerable to passive sniffing by anyone else on that network. If the network is open (as is
frequently the case) then anyone in radio range can see exactly what the user is up to.&lt;/p&gt;
&lt;!--more--&gt;
&lt;h4 id=&#34;integrity&#34;&gt;Integrity&lt;/h4&gt;
&lt;p&gt;HTTPS also helps to maintain the integrity of your site. With a plain HTTP request, there’s nothing
to stop anyone in between the server and the user from modifying the content of the request or the
response. This is a frequent tactic used by annoying WiFi gateways (such as the ones &lt;a href=&#34;http://justinsomnia.org/2012/04/hotel-wifi-javascript-injection/&#34;&gt;you’d find in
a hotel&lt;/a&gt;), dubious ISPs who want
to serve you extra adverts, or just plain old nefarious attackers.&lt;/p&gt;
&lt;p&gt;If you’re trying to convey some kind of information to users (and if you aren’t, why exactly are
you running a website again?) it seems beneficial to both you and them if the information arrives
as you intended, rather than in a modified form due to someone or something tampering with it.&lt;/p&gt;
&lt;h4 id=&#34;security&#34;&gt;Security&lt;/h4&gt;
&lt;p&gt;If your website has any kind of authentication, or session identifiers, it becomes extremely
vulnerable to an attacker monitoring the traffic and stealing the credentials. This was
starkly demonstrated in 2010 when &lt;a href=&#34;https://en.wikipedia.org/wiki/Firesheep&#34;&gt;Firesheep&lt;/a&gt; was
released. This tool allowed anyone to quickly and automatically hijack social media accounts of
anyone on the same network who was using HTTP to access them.&lt;/p&gt;
&lt;p&gt;Even if your login pages are served over HTTPS, if you send a single session ID cookie over HTTP
(such as a page you decided wasn’t particularly ‘important’) then an attacker can probably spoof
the user’s session and gain full access to their account.  Again, in the case of open WiFi networks
that could be anyone in radio range.&lt;/p&gt;
&lt;h4 id=&#34;search-engine-rankings&#34;&gt;Search engine rankings&lt;/h4&gt;
&lt;p&gt;Some search engines use HTTPS as a signal in their ranking algorithms. &lt;a href=&#34;https://security.googleblog.com/2014/08/https-as-ranking-signal_6.html&#34;&gt;Google announced in
2004&lt;/a&gt; that it was using
the presence of HTTPS as a small positive signal, but that it may strengthen that signal over time
as more and more websites switch to using a secure transport. It’s not unthinkable that at some
point in the future there will be HTTPS-only search engines.&lt;/p&gt;
&lt;h3 id=&#34;but-but-but&#34;&gt;But… But… But…&lt;/h3&gt;
&lt;p&gt;There are lots of excuses for not implementing HTTPS. Most of them are either misguided or outdated.&lt;/p&gt;
&lt;h4 id=&#34;its-too-expensive-andor-complicated&#34;&gt;It’s too expensive and/or complicated&lt;/h4&gt;
&lt;p&gt;In the past, getting HTTPS certificates was a pain. A number of free suppliers have existed for
a while but the process for getting their certificates wasn’t particularly straight forward, and
many imposed arbitrary restrictions on the certificate parameters. Even once you had the
certificate, you had to fiddle about with your HTTP server configuration to make it work, remember
to manually get a new certificate when the old one expired, and lots of other annoying busywork.&lt;/p&gt;
&lt;p&gt;With the arrival of &lt;a href=&#34;https://letsencrypt.org/&#34;&gt;Let’s Encrypt&lt;/a&gt;, all that changed. You can retrieve
and deploy a free HTTPS certificate with two or three commands. Renewal can be handled completely
automatically with a single command executed by cron.&lt;/p&gt;
&lt;h4 id=&#34;theres-no-point-nothing-on-my-site-is-sensitive&#34;&gt;There’s no point; nothing on my site is sensitive&lt;/h4&gt;
&lt;p&gt;You might not think your content warrants privacy, but can you speak for everyone who accesses it?
Even content that seems mundane to you — such as travel advice, or technical writing — could be
used to build up a profile of a user. If an attacker is monitoring traffic in a coffee shop and
sees a user looking at travel advice and weather forecasts for a foreign country, he could use that
information to plan a burglary knowing that the user will be away. Similarly, some content which
is perfectly mundane to you may actually be very sensitive in other countries with repressive
governments. HTTPS makes it much harder for these people to snoop on traffic.&lt;/p&gt;
&lt;p&gt;From another angle, if you’re offering any kind of information, instructions, or especially file
downloads, there’s a severe risk to users if the content is modified on its way to them. An evil
sysadmin could rewrite your travel advice to suggest visiting the local drug dealer’s hangout, or
replace your download with a malware-infested version.&lt;/p&gt;
&lt;h4 id=&#34;https-is-slower-uses-more-resources-etc&#34;&gt;HTTPS is slower, uses more resources, etc&lt;/h4&gt;
&lt;p&gt;Back in 1995 this might have been a valid argument. Enabling HTTPS on a modern server will make
an almost negligible difference to performance. If you also enable HTTP/2 (which most
implementations only support over HTTPS), it’s likely to actually use fewer resources, and result
in a faster, smoother experience for your users. HTTP/2 was designed to work with HTTPS, and
designed with modern requirements and networking techniques in mind.&lt;/p&gt;
&lt;p&gt;CloudFlare have an &lt;a href=&#34;https://www.cloudflare.com/http2/&#34;&gt;excellent demonstration&lt;/a&gt; of the benefits of
HTTP/2, and it can show speed improvements of 2-3x in a typical environment. On top of being faster,
HTTP/2 uses fewer connections which results in less resource overhead on both the server and the
client.&lt;/p&gt;
&lt;h3 id=&#34;so-what-are-you-waiting-for&#34;&gt;So what are you waiting for?&lt;/h3&gt;
&lt;p&gt;If you run a website and aren’t using HTTPS, &lt;a href=&#34;https://certbot.eff.org/&#34;&gt;give it a try&lt;/a&gt;.&lt;/p&gt;
</content>
    </entry>
</feed>
