HTTP transmits all data between browser and server in plaintext. HTTPS encrypts that data using TLS (Transport Layer Security). On an HTTP connection, every piece of data your visitors send or receive — login credentials, session cookies, form submissions, personal information — can be read or silently modified by anyone who can observe the network path between browser and server. In 2026, running any functionality over HTTP is an unacceptable security risk, and the difference between HTTP and HTTPS is not cosmetic.
What Attackers Can Do on HTTP Connections
An attacker who can observe network traffic — through a compromised public Wi-Fi router, an ISP-level intercept, or a rogue access point — can perform two categories of attack against HTTP connections:
- Passive interception (eavesdropping): Reading login credentials, session tokens, search queries, form submissions, and API keys exactly as transmitted. HTTP carries everything in plaintext requiring no decryption. Observing HTTP traffic requires no special capability beyond network access.
- Active modification (man-in-the-middle): Injecting malicious JavaScript into page responses, replacing download links with malware, redirecting form submissions to attacker-controlled endpoints, stripping security headers from responses, or silently replacing page content entirely.
These are not theoretical risks. The Firesheep tool, released in 2010, demonstrated automated session hijacking over HTTP on public Wi-Fi to a mainstream audience. The exact same attack remains trivially executable today against any HTTP connection. SSL stripping attacks — where an attacker transparently converts an HTTPS connection to HTTP — were documented as far back as 2009 and remain effective against sites without HSTS.
How TLS Encrypts the Connection
TLS uses asymmetric cryptography to establish a shared secret during a handshake, then switches to fast symmetric encryption for all subsequent data. The practical outcomes are twofold: confidentiality (a network observer sees only ciphertext, not the content of requests and responses) and authenticity (the browser has cryptographically verified it is talking to the legitimate server, not an impersonator).
The TLS handshake completes in milliseconds and is invisible to the user. From the user's perspective, the only visible change is the padlock icon in the browser address bar. From the attacker's perspective, intercepted traffic becomes unreadable ciphertext with no practical path to decryption under current cryptographic assumptions.
Certificate Validation: Identity Proof, Not Just Encryption
A TLS certificate serves two functions: enabling encryption and proving the server's identity. Certificates are issued by Certificate Authorities (CAs) that verify domain ownership before signing. A valid certificate tells the browser: "This is genuinely the server for example.com — not an impersonator presenting a self-signed certificate." The key aspects of certificate validity are:
- Expiry date: Certificates expire after 90 to 398 days depending on the CA and certificate type. An expired certificate produces browser warning pages that stop most visitors from proceeding and breaks all HTTPS functionality.
- Domain match: The certificate must cover the exact domain being accessed. A certificate for
example.comdoes not automatically coverwww.example.comunless it is a wildcard (*.example.com) or includes both in the Subject Alternative Names list. - Chain completeness: The certificate must chain up to a root CA trusted by the browser. An incomplete chain — where intermediate certificates are missing from the server's configuration — causes validation errors in some clients even when the leaf certificate itself is valid.
Why HTTPS Alone Is Not Enough: The Role of HSTS
A critical attack surface exists even on sites that correctly serve HTTPS: the initial request. When a user types yoursite.com without specifying a protocol, the browser sends an HTTP request first, then follows any redirect to HTTPS. An attacker using an SSL stripping tool can intercept that initial HTTP request and present the user with a downgraded HTTP version of your site — transparently stripping HTTPS before the browser ever sees a redirect.
HTTP Strict Transport Security (HSTS) closes this gap. The Strict-Transport-Security response header tells browsers to always use HTTPS for your domain — upgrading requests to HTTPS internally before they leave the browser — for the duration of the specified max-age. A max-age of 31536000 (one year) means the browser enforces HTTPS-only for your domain for a full year after receiving the header.
Submitting your domain to the HSTS preload list extends this protection to first-time visitors who have never seen your HSTS header, because modern browsers ship with a hardcoded list of HSTS-preloaded domains. Preloading is the strongest HSTS protection available.
TLS Versions: Not All Are Equally Secure
Which TLS version your server accepts is as important as whether HTTPS is enabled at all. Older versions contain known cryptographic weaknesses that render the encryption partial or breakable under specific conditions:
- SSL 2.0 and SSL 3.0: Completely broken. Vulnerable to DROWN and POODLE attacks respectively. Must be disabled on any server still running them.
- TLS 1.0: Deprecated by RFC 8996 in 2020. Vulnerable to BEAST and other padding-related attacks. All major browsers removed support. A server accepting TLS 1.0 connections fails PCI DSS 3.2.1 compliance.
- TLS 1.1: Also deprecated by RFC 8996 in 2020. No longer supported by modern browsers. Should not be enabled.
- TLS 1.2: Still considered secure with modern cipher suites. Widely supported and acceptable for compatibility with older legitimate clients. Prefer for maximum compatibility while maintaining security.
- TLS 1.3: The current recommended standard, released in 2018. Faster handshake, eliminates obsolete cipher suites entirely, and mandates forward secrecy. Use TLS 1.3 as the preferred version with TLS 1.2 as a fallback.
How Shieldome Checks This
Shieldome's A02 — Cryptographic Failures check performs a complete HTTPS and TLS audit on every scan. Specifically, when you run a Shieldome scan, it:
- Tests HTTPS enforcement: Requests the HTTP version of your site and checks whether the server returns a 301 or 302 redirect to HTTPS. A 200 response on HTTP with page content is reported as a Critical finding — your site is actively serving unencrypted traffic.
- Validates the HSTS header: Checks for the
Strict-Transport-Securityheader on HTTPS responses, verifies themax-agevalue (flagging values under six months as insufficient), and checks whetherincludeSubDomainsis set for complete subdomain coverage. - Tests deprecated TLS versions: Attempts connections using TLS 1.0 and TLS 1.1 protocols. If the server accepts connections on these deprecated versions, the finding is reported as High severity with a remediation guide for Apache, Nginx, and IIS.
- Validates the SSL certificate: Checks the certificate's expiry date (flagging certificates expiring within 30 days as High, within 7 days as Critical), verifies the certificate covers the scanned domain, and validates the chain against known trusted root CAs.
All HTTPS and TLS findings are grouped under OWASP A02 in the Shieldome report, with separate remediation instructions per finding type and server platform.
Frequently Asked Questions
Does HTTPS make my website immune to hacking?
No. HTTPS protects data in transit between browser and server. It has no effect on SQL injection, XSS, broken access control, server misconfigurations, or any vulnerability in your application code. A fully HTTPS site can still have Critical vulnerabilities in its application layer. HTTPS is one layer of a security stack — it protects the channel, not the application running on it.
Will switching from HTTP to HTTPS hurt my search rankings?
No — a properly executed migration with 301 redirects preserves all search rankings. Google has used HTTPS as a positive ranking signal since 2014. Temporary ranking fluctuations can occur if redirects are misconfigured or if Google recrawls pages at different rates, but a correct HTTPS migration does not result in ranking loss. Verify your 301 redirects with a scanner after deployment.
Is a free Let's Encrypt certificate as trustworthy as a paid certificate?
Yes, for encryption and browser trust purposes. Let's Encrypt certificates are trusted by all major browsers and operating systems. The difference between a free DV (Domain Validated) certificate and a paid OV (Organization Validated) or EV (Extended Validation) certificate is the level of identity verification the CA performed — not the encryption strength. For the vast majority of websites, a Let's Encrypt DV certificate provides equivalent protection to paid alternatives at no cost.
What is mixed content and how do I fix it?
Mixed content occurs when an HTTPS page loads some resources — images, scripts, or stylesheets — over HTTP. Modern browsers block active mixed content (scripts and iframes) entirely and warn on passive mixed content (images). Fix it by updating all resource URLs in your HTML, CSS, and JavaScript to use HTTPS, including third-party embeds, analytics scripts, and font providers. The browser developer console shows exactly which resources are loading over HTTP.
How can I test which TLS versions my server supports?
Run a Shieldome scan — TLS version support is tested automatically as part of the A02 check. You can also use the free SSL Labs Server Test at ssllabs.com/ssltest, which provides a detailed breakdown of supported TLS versions, cipher suites, certificate details, HSTS status, and an overall letter grade. Both test from outside your network, reflecting exactly what browsers and attackers see.
What is certificate pinning and do I need it for my website?
Certificate pinning is a technique where a client is hardcoded to accept only specific certificates or public keys, rejecting connections from certificates signed by any other CA. It is used in native mobile applications, not in websites, and introduces significant operational risk — a botched certificate rotation can take down your application entirely. Standard HTTPS with a valid certificate from a trusted CA is the correct approach for websites.
Shieldome tests HTTPS enforcement, HSTS validity, TLS version support, and certificate health on every scan, with specific remediation steps for Apache, Nginx, and IIS. Create a free account and get your complete TLS and HTTPS audit in under two minutes.