Port 80 (HTTP) vs. Port 443 (HTTPS) – Do you know what is the difference? Lets find out together.
HTTP and HTTPS are protocols that refer to plain and encrypted communication individually. As per Google’s transparency report, 95% of web traffic is served over HTTPS (Encrypted protocol) instead of HTTP (insecure protocol). All web traffic, either encrypted or unencrypted, is handled via Port. Generally, port 80 is used for HTTP, and port 443 is used for HTTPS protocol.
This article will discuss about the difference between Port 80 (HTTP) and Port 443 (HTTPS) and the steps to enable them on different operating systems.
What is a Port?
Port is a number assigned to a specific protocol. It is a virtual communication endpoint used for network connection. Ports live in software designed to operate on devices and connects over the web. Computers received a vast amount of data, and port helps them distinguish different types of traffic and make a computer understand what it should do with the received or sent data over the same network connection. There are different numbers assigned to different ports like port 80,443,21,22,53, 123,179, etc.
Different Ports and Functions:
There are more than 65000 ports used for different functions. Below are few ports used frequently based on different network protocols.
Ports 20 and 21: Port 20 and 21 uses for FTP (File Transfer Protocol). FTP is intended for two connections, out of which one is used to controlling information, and the other connection is used to send the data file between the client and the server.
Port 22: Port 22 is assigned to SSH (Secure Shell). SSH is a tunneling protocol used to create secure connections. It is a network protocol that handles network services securely over an insecure network.
Port 25: Port 25 is designated for SMTP (Simple Mail Transfer Protocol), and it is used to send emails. An Internet Service Provider (ISP) blocks port 25 to avert spamming activities. SMTP relies on transmitting emails between two email servers. Therefore, port 25 is used to send email via network and to its recipient.
Port 53: Port 53 is designated to DNS (Domain Name System). DNS converts a human-readable domain name into an IP address that a machine can read. So, a user does not need to remember a long IP address, and the website or application can be loaded easily.
Port 80: Port 80 is used for HTTP (Hypertext Transfer Protocol) connection. It is a popular port that helps users to connect to web pages across the globe. Port 80 allows passing the data between the server and the browser in plain text but not in an encrypted format.
Port 123: Port 123 is used for Network Time Protocol (NTP). NTP is applied to match computer clocks between computers and network systems.
Port 179: Port 179 is allocated for Border Gateway Protocol (BGP). BGP always looks for the best path for data traveling and chooses the best route. In short, it enables data routing and makes the internet work out. In addition, it enables efficient routes between large networks (Autonomous Systems).
Port 443: Port 443 is assigned for HTTPS- a secure protocol that enables encrypted communication between the server and the browser. All secured traffic goes to port 443. Most browsers have switched to HTTPS instead of HTTP protocol for security reasons.
Port 500: Port 500 is for Internet Security Association and Key Management Protocol (ISAKMP) is for negotiation, establishment, modification, or deletion of a security association (SA) and its parameters.
Port 3389: Port 3389 is designated for Remote Desktop Protocol (RDP), enabling users to connect their computers from another device in a remote environment. Users can access their desktop, files, and applications even from a different location.
About Port 80:
Port 80 is assigned to HTTP, which is for connecting different users to an insecure network. The web traffic that passes through the port remains in plain text. However, with the introduction of HTTPS, most browsers, search engines now prefer port 443- a default port for HTTPS protocol. Port 80 uses to send and receive page requests from an HTTP server. When you open any webpage, it simply sends a request as examplesite.com:80 to which browser is connecting to. Port 80 usually connects to WWW (world wide web). Cyber thieves always target HTTP enabled webpages as they have no security, and the information passes remain in plain text.
About Port 443:
Port 443 refers to HTTPS, a secure protocol that enables encrypted communication between the server and the browser. Due to rising cybercrime, security is a paramount requirement for any website. Port 443 directs the traffic to the right path and helps the device to identify the type of service that is being requested. When a browser makes a secured connection, a TCP request is sent via port 443. Before the connection is made, the browser and the server agree on cipher suite and connection parameters. HTTPS works on the public and private key to prove that the information passing between two ends remains encrypted.
A user can share online information without worrying about data sniffing. Once HTTPS enabled on the browser, there will be security indicators like a padlock, HTTPS before the domain name. Moreover, the server’s identity will be authenticated on which the domain is running. In the absence of port 443, the site loads over port 80 with a secure connection.
How to Enable Port 80 and 443 on Windows?
You can enable port 80 and 443 in Windows Firewall found in Control Panel.
Step #1. Click on Start button and open Run box (Win + R) where you can type “firewall.cpl”.
Step #2. Now, on the left side, click on “Inbound Rules” and click on ‘New Rules’ showing on the right side of the box under ‘Action’ title.
Step #3. You will see a new window where you need to select ‘Port’ and click on ‘Next’ button.
Step #4. Select TCP in a new window and checkmark against ‘Specific Local Ports’ and enter desired port 80 or 443. Click on ‘Next’ button.
Step #5. Now, select ‘Allow the connection’. Click ‘Next’ button.
Step #6. In next window, select ‘Domain’ and ‘Private’ and click ‘Next’ button.
Step #7. Here, type a rule name and click ‘Finish’ button.
NOTE: For the outbound rules process, you need to follow steps #2 to #7.
How to Enable Port 80 and 443 on Mac?
Ports can be opened on Mac OS X with the request received by an individual application or service. The ports cannot be managed individually. To accept an Incoming connection on the newly installed application, you need to follow the below steps on Firewall.
- Browse ‘System Preference’ and go to ‘Security and Privacy.
- Click the ‘Firewall’ tab and click on the ‘Turn on Firewall’ button. Then click on ‘Firewall Options’.
- Click on ‘Add’
- Select an application from the Application folder and click ‘Add’.
- Enable ‘Allow Incoming Connections’ showing beside the selected application.
Now, you can open a specific port on the OS X firewall with the below steps.
You need to open the Terminal.app using pfctl command for OS X 10.10. If you are using an older version then, you need to use ipfw.
Step #1. Open Terminal by following: Go > Utilities.
Step #2. Enter sudo pfctl -d command to stop packet filter if it is active.
Step #3. Use a nano text editor to open configuration file for packet filter.
sudo nano /etc/pf.conf
Step #4. You will see the content of the default config. You can set custom rule below any existing configuration.
Step #5. Here, you can enter desired port 80 or 443, and it means you are allowing incoming TCP traffic from any machines to other machine with no state inspection.
pass in inet proto tcp from any to any port 12044 no state
Step #6. Now, press Control+X and exit from nano. Press Y and Enter to save the file with the same name.
sudo pfctl -f /etc/pf.conf
Step #8. Finally restart the firewall using sudo pfctl -E
How to Enable Port 80 and 443 on Linux?
First, check the opened port using netstat or ss command.
netstat -lntu OR
To allow TCP connections, use the below command for any port.
netstat -na | grep :443
ss -na | grep :443
How to Enable Port 80 and 443 on Ubuntu?
To enable port on ubuntu firewall, use below command.
sudo ufw allow 80
How to Enable Port 80 and 443 on CentOS?
You can enable port 80 or 443 or any port using the below command.
firewall-cmd –add-port=80/tcp –permanent
Port 80 (HTTP) vs. Port 443 (HTTPS): What’s the Difference?
- Port 80 is assigned to HTTP while Port 443 is assigned to HTTPS
- Port 80 allows HTTP protocol means the information remains in plain text between the browser and the server, while Port 443 allows HTTPS protocol means all the information travels between the server and the browser remains encrypted.
- HTTP is now becoming obsolete as almost all browsers have moved to HTTPS due to security reasons. Google has started “HTTPS Everywhere” to boost online security over the web.
- Attackers can easily sniff ongoing communication on port 80 while it is hard to sniff the information on port 443.
- Port 80 came into force in 1991 and published in the HTTP 0.9 document while HTTPS was published in 1994 RFC 1700.
- Users will face browser warning if they access the HTTP webpage, while HTTPS enabled webpage will not give any warning to users.
Port 80 refers to HTTP under TCP protocol, while Port 443 refers to HTTPS- a secure protocol. A secure protocol provides strong online security for online communication. HTTP refers to the world wide web to connect web pages across the globe. If you are still using the HTTP version then, it is time to switch to HTTPS. It is necessary to buy an SSL certificate to enable HTTPS on the website, which is available easily from SSL providers at a cheap price. Once you have HTTPS running on port 443, your customers will enjoy shopping over the website without worrying about data spying.