• Rikudou_Sage
    link
    fedilink
    English
    419 months ago

    It is kinda big, previously you had to send the host unencrypted to support SNI which in turn was needed to support https for multiple sites per one IP address, which was needed because we lack IP addresses. So there were basically two options: compromise privacy a tiny bit (by sending host unencrypted), or make it impossible for most websites to have any privacy at all (by making it impossible to have a https certificate).

    Now you can have the best of both worlds. Granted, you need to have DoH (which still isn’t the default on most systems AFAIK), but it’s still a step in the right direction.

    • Guillaume Rossolini
      link
      fedilink
      5
      edit-2
      9 months ago

      @rikudou @voxel
      ASFAIR it used to be even worse than that, because if you didn’t want SNI (for compatibility reasons or whatever), but you still wanted a certificate, you had to have one server for every hostname (because each had its own IP), assuming you could afford the additional IP space

      Granted you didn’t need a physical server, but that was still a bigger cost

      Some servers are more flexible on that front, but early SNI didn’t have those

      • Rikudou_Sage
        link
        fedilink
        English
        39 months ago

        Yeah, I thought I implied that, but that was the reason SNI started - IPv4 is a scarce resource and thus expensive and the only way to host multiple https websites was having multiple IPs (not necessarily multiple servers, you can easily have multiple IPs for one server, you just had to bind one IP per host), which was adding to the costs quite a bit and hobby projects couldn’t really afford it (well, they could, but not many people are spending hundreds of dollars for a hobby website).

      • Rikudou_Sage
        link
        fedilink
        English
        1
        edit-2
        9 months ago

        It’s happening as part of the handshake. Probably not completely what it’s about, but it was the first that came to my mind.

        Edit: It has to happen before the encryption is established, because otherwise the server doesn’t know which certificate to use, because it doesn’t know which host is the client requesting. There’s also ESNI (encrypted SNI) to solve this but I’m not sure on how many servers actually deploy it.