HTTPS केवल TLS-encrypted channel भित्र चलिरहेको HTTP मात्र हो। TLS (Transport Layer Security) ले तपाईंलाई तीन ग्यारेन्टी दिन्छ: confidentiality (traffic encrypt हुन्छ), integrity (यसलाई पत्ता नलागी छेडछाड गर्न सकिँदैन), र authentication (तपाईं साँच्चै certificate मा नामित server सँग कुरा गर्दै हुनुहुन्छ)। यो कुनै पनि HTTP पठाउनुअघि एउटा handshake मा negotiate हुन्छ:
Client Server
│──── ClientHello ──────────────────────▶│ (TLS versions, cipher suites, random)
│◀─── ServerHello + Certificate ─────────│ (chosen cipher + cert with public key)
│ │
│ verify cert against a trusted CA │
│ agree on keys (e.g. ECDHE key exchange)│
│ │
│──── Finished (encrypted) ──────────────▶│
│◀─── Finished (encrypted) ───────────────│
│========= encrypted application data ====│ (now HTTP flows, encrypted)
