Sobes.tech
Intern

What is the difference between HTTP and HTTPS?

sobes.tech AI

Answer from AI

HTTP is a hypertext transfer protocol. It is used for data transfer between a web server and a client browser. Data is transmitted in plain text.

HTTPS is a secure version of HTTP. It uses the TLS/SSL protocol to encrypt data, ensuring confidentiality and integrity of the transmitted information. This is critical for transmitting sensitive data such as passwords or credit card information.

Key differences:

  • Security: HTTP is unsecured, HTTPS uses encryption.
  • Default port: HTTP uses port 80, HTTPS uses port 443.
  • Certificates: HTTPS requires an SSL/TLS certificate to establish a secure connection.
  • URL identifier: HTTP addresses start with http://, HTTPS addresses start with https://.
Feature HTTP HTTPS
Security No encryption Encryption (TLS/SSL)
Port 80 443
Certificate Not required Required (SSL/TLS)
Example URL http://example.com https://example.com
Application Simple content Sensitive data, online payments

Example of setting up Nginx to redirect HTTP to HTTPS:

// server block for handling HTTP
server {
    listen 80; // Listening on port 80
    server_name example.com; // Your domain name

    // Redirect all HTTP traffic to HTTPS
    return 301 https://$host$request_uri;
}

// server block for handling HTTPS
server {
    listen 443 ssl; // Listening on port 443 with SSL enabled
    server_name example.com; // Your domain name

    // Paths to SSL certificate and key files
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

    // SSL/TLS settings (example)
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers HIGH:!aNULL:!MD5;

    // Your website's root directory
    root /var/www/example.com;
    index index.html index.htm;

    // Other server settings...
}