RFC 2818 - Quick Reference
Quick Reference
HTTPS vs HTTP
| Feature | HTTP | HTTPS |
|---|---|---|
| Protocol | http:// | https:// |
| Port | 80 | 443 |
| Encryption | ❌ Cleartext | ✅ TLS encrypted |
| Integrity | ❌ No protection | ✅ MAC protection |
| Authentication | ❌ No server auth | ✅ Certificate auth |
| Privacy | ❌ Can be eavesdropped | ✅ Encrypted transmission |
TLS Handshake Overview
Client Server
| |
|--- ClientHello --------------->|
| |
|<-- ServerHello, Certificate ---|
|<-- ServerHelloDone ------------|
| |
|--- ClientKeyExchange --------->|
|--- ChangeCipherSpec ---------->|
|--- Finished ------------------>|
| |
|<-- ChangeCipherSpec -----------|
|<-- Finished -------------------|
| |
|=== Encrypted Channel =========|
| |
|--- Encrypted HTTP Request ---->|
|<-- Encrypted HTTP Response ----|
Common Tools
# OpenSSL view certificate
openssl s_client -connect www.example.com:443 -showcerts
# Test TLS version
openssl s_client -connect www.example.com:443 -tls1_2
# View certificate details
echo | openssl s_client -connect www.example.com:443 2>/dev/null | \
openssl x509 -noout -text
# cURL use HTTPS
curl -v https://www.example.com