百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

端口 443 与 80:它们有何不同?

off999 2025-01-14 16:25 15 浏览 0 评论

您是否知道超过 90% 的互联网流量通过端口 443 传输?如果您对网络安全或 Web 开发感兴趣,那么您可能遇到过不同编号的端口,尤其是端口 80 和 443。

但它们之间有什么区别?简而言之,端口 80 用于 HTTP 流量,端口 443 用于 HTTPS。我们将重点介绍端口 80 与 443、如何打开它们以及何时可能需要将流量从端口 80 重定向到 443。

什么是端口 80?

端口 80是计算机网络上用于网络流量的通信端点。它是超文本传输?协议 (HTTP)的默认端口,该协议用于在互联网上传输和接收网页。当您使用网络浏览器访问网站时,浏览器和网络服务器之间的通信通常通过端口 80 进行。

端口 80 在 Internet 协议套件的应用层上运行,该层直接与软件应用程序交互。当通过端口 80 发出 HTTP 请求时,托管您要访问的网站的服务器将接收该请求,并作为响应发回相关的网站数据。

但是您的浏览器如何知道要使用端口 80?这就是统一资源定位符 (URL) 的作用所在。当您在浏览器中输入 URL 时,它通常包含一个隐式端口 80 引用。例如,当您输入 http://www.example.com 时,http:// 部分会告诉您的浏览器使用 HTTP 协议,除非另有说明,否则它将通过端口 80 进行连接。

然而,端口 80 的缺点是它没有加密,这意味着通过此端口发送的数据可能会被外部人员看到。出于这个原因,在过去十年中,大多数网站都已迁移到 HTTPS 和端口 443,它们提供了安全的加密连接。

什么是端口 443?

端口 443是默认的HTTPS 端口,是与安全网络通信关联的端口号。它使用HTTPS 协议,这是 HTTP 的安全版本。该协议采用了强大的安全措施,即传输层安全性 (TLS) 技术。

端口 443 使用 TLS 协议在客户端和服务器之间提供安全连接。这样,通过此端口传输的任何数据都经过加密,从而确保安全连接并保护信息免遭潜在窃听者的攻击。

此端口对于电子商务和网上银行网站至关重要,因为这些网站会传输信用卡号和银行详细信息等敏感数据。

端口 443 还用于其他需要安全连接的服务,包括电子邮件服务器和 VPN。如此广泛的应用使端口 443 成为安全网络不可或缺的一部分。

端口 80 和 443 有什么区别?

虽然端口 80 和 443 在网络通信中都发挥着重要作用,但它们的主要区别在于它们为您在不同服务上的数据传输提供的在线安全级别。让我们看看端口 80 和 443 的用途。

协议和安全

端口 80 与超文本传输??协议相关,用于 Web 浏览器和服务器之间的未加密通信。

另一方面,端口 443 与超文本传输??协议安全相关,这是 HTTP 的扩展,它通过 TLS 加密来保护在 Web 浏览器和服务器之间传输的数据。

端口 80 以明文形式传输数据,因此容易被拦截和窃取。通过 HTTP 发送的信息未加密。端口 443 加密数据,提供安全的通信通道。HTTPS 有助于保护敏感信息不被恶意实体拦截。

用例和 URL 方案

从历史上看,端口 80 用于一般的 Web 浏览和通信,适用于非敏感信息或公共内容。然而,在当代 Web 实践中,端口 80 正逐渐被淘汰,取而代之的是端口 443。这种转变是由于 HTTPS 的广泛采用,使安全 Web 浏览成为所有在线交互的标准:

使用 HTTP 的 URL 以http://作为前缀。例如, http://www.example.com。

使用 HTTPS 的 URL 以https://作为前缀。例如,https://www.example.com。

证书要求

端口 80无需SSL/TLS 证书。传输以纯文本形式进行,并且不会检查服务器的身份。由于缺乏身份验证,HTTP 容易受到中间人攻击。

相反,HTTPS 要求在服务器上安装 SSL/TLS 证书。此证书用于向客户端验证服务器的真实性并启用数据加密。它确保客户端与目标服务器而不是冒名顶替者进行通信。

如何开放80端口和443端口?

打开端口 80 和 443 的过程很简单,但具体过程取决于您的操作系统。无论是 Windows、Mac、Linux、Ubuntu 还是 CentOS,每个操作系统都有自己的命令和程序。

让我们看看如何在每个平台上执行此操作,重点关注所涉及的技术步骤。

视窗

在 Windows 上打开端口 80 或 443 需要配置内置的 Windows 防火墙。首先,您需要通过在“开始”菜单的搜索栏中输入 Windows 防火墙来访问 Windows 防火墙设置。

现在,要打开端口,请执行以下步骤:

1、打开 Windows 防火墙设置:按 Win + S 打开搜索栏。输入防火墙并选择高级安全 Windows Defender 防火墙。

2、导航到入站规则:在左侧窗格中,单击入站规则。

3、创建新的入站规则:在右侧窗格中,单击“新建规则...”以打开“新建入站规则向导”。

4、选择规则类型:选择端口并单击下一步。

5、指定端口号:选择TCP,输入80或443作为具体的本地端口,点击下一步。

6、选择操作:选择“允许连接”,然后单击“下一步”。

7、选择配置文件:选择适合您情况的配置文件(例如,域、私人、公共)。单击下一步。

8、指定规则名称:输入规则名称(例如,打开端口 443)并提供可选描述。单击完成。

Mac 操作系统

要在运行 macOS 的 Mac 上打开端口 80 和 443,可以使用内置防火墙工具pf(数据包过滤器)。步骤如下:

1、在 Mac 上打开终端。你可以在“应用程序”>“实用程序”>“终端”中找到它。

2、通过运行以下pfctl命令检查防火墙的状态:

sudo pfctl -s all

3、为防火墙规则创建一个新文件。您可以使用任何您熟悉的文本编辑器。在这里,我们将使用 nano 文本编辑器打开配置文件:

sudo nano /etc/pf.conf

4、将以下行添加到pf.conf文件以打开端口 80 和 443:

rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080

rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 8443

5、这会将流量从端口 80 和 443 分别重定向到端口 8080 和 8443。您可以根据需要调整端口号。

6、保存更改并退出文本编辑器。

7、将新规则加载到pf中:

sudo pfctl -f /etc/pf.conf

8、启用防火墙:

sudo pfctl -e

替代方法

1、打开系统偏好设置:单击屏幕左上角的 Apple 菜单,然后选择系统偏好设置。

2、点击“安全和隐私”。这将打开“安全和隐私”偏好设置。

3、点击防火墙。在防火墙选项卡中,点击窗口左下角的锁图标来解锁。

4、输入您的管理员密码来解锁设置。

5、单击防火墙选项1:这将打开一个新菜单,您可以在其中添加或删除端口。

6、单击+按钮:这将添加一条新规则。

7、输入以下详细信息,然后单击“确定”:

端口号:输入80或443。

名称:输入新规则的名称。

协议:从下拉菜单中选择 TCP。

8、关闭防火墙首选项窗口:您的更改将自动保存。

9、重新启动计算机:此步骤对于使您所做的更改生效是必要的。

Linux(Ubuntu、Debian、CentOS、Fedora)

在 Linux 操作系统上打开端口 80 和 443 需要配置系统上的防火墙。具体步骤可能因您使用的发行版、防火墙选项和所用的管理工具而异。

我们将提供两种常见防火墙工具的说明:ufw(Ubuntu 和一些基于 Debian 的系统使用)和firewalld(Fedora 和一些基于 Red Hat 的系统使用)。

使用 ufw(简单防火墙):

1、检查 ufw 是否已安装:

sudo apt-get update sudo apt-get install ufw

2、如果尚未启用,请启用 ufw:

sudo ufw enable

3、打开端口80和443:

sudo ufw allow 80/tcp sudo ufw allow 443/tcp

4、检查状态:

sudo ufw status

使用firewalld:

1、检查是否安装了firewalld:

对于Feodora

sudo dnf install firewalld

For CentOS::

sudo yum install firewalld

2、启动并启用firewalld:

sudo systemctl start firewalld sudo systemctl enable firewalld

3、打开端口80和443:

sudo firewall-cmd --add-port=80/tcp --permanent

sudo firewall-cmd --add-port=443/tcp --permanent

4、重新加载firewalld以应用更改:

sudo firewall-cmd --reload

5、检查状态:

sudo firewall-cmd --list-all

请记住,这些说明是通用的,可能需要根据您的特定 Linux 发行版进行调整。此外,如果您有不同的防火墙管理工具(例如 iptables),命令会有所不同。请务必参考您的发行版的文档以获取准确且最新的信息。

如何将端口 80 重定向至 443?

您需要修改服务器的配置,将流量从端口 80 重定向到 443。这样做是因为端口 80 用于未加密的 HTTP 流量,而端口 443 用于安全的 HTTPS 流量。通过将端口 80 重定向到 443,您实际上是在强制所有到您服务器的流量使用安全的 HTTPS 协议。

首先,您必须确保您的服务器已设置为处理 HTTPS 流量。这通常涉及获取和安装 SSL(安全套接字层)证书。一旦 SSL 证书到位,您就可以开始重定向流量。

如果您使用的是Apache服务器,则需要修改“.htaccess”文件。将以下几行添加到该文件中:

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

将 yourdomain.com 替换为您的实际域名。此代码告诉服务器将端口 80 上的所有传入流量重定向到端口 443 上的相同 URL。

对于Nginx服务器,您需要修改 nginx.conf 文件。将以下行添加到服务器块:

server {

listen 80;

server_name yourdomain.com;

return 301 https://$host$request_uri;

再次,用您的实际域名替换yourdomain.com 。

常问问题

端口 443 是否易受攻击?

端口 443 本身并不存在漏洞;它用于安全 HTTPS 通信。但是,任何端口的安全性都取决于其上运行的特定配置和服务。

端口 443 会被黑客入侵吗?

是的,443 端口确实可以被黑客入侵。例如,一种常见的方法是利用在此端口上运行的 Web 服务器中的漏洞,例如OpenSSL中的 Heartbleed 漏洞。

端口 443 比端口 80 更安全吗?

是的,端口 443 比端口 80 更安全,因为它与加密的 HTTPS 流量相关联,与端口 80 上的未加密通信相比提供更高级别的安全性。

为何 80 端口易受攻击?

端口 80 容易受到攻击,因为它通常处理未加密的 HTTP 流量,从而使数据面临潜在的拦截和安全风险。

打开端口 80 和 443 是否安全?

如果配置正确,打开端口 80 和 443 是安全的,尤其是对于 Web 服务。但是,请谨慎,因为这些端口上的设置不当或未使用的服务可能会带来安全风险。

端口 80 始终开放吗?

端口 80 并非始终默认打开;其状态取决于系统或网络的配置。在许多情况下,它打开是为了方便 HTTP 流量,但管理员可以根据安全需求选择关闭或修改访问权限。

SSL 是否始终在端口 443 上?

否,SSL 并不总是在端口 443 上,但使用 SSL 或其后继 TLS 的 HTTPS 通常在端口 443 上运行,以实现安全的网络通信。

HTTP 可以在端口 443 上运行吗?

否,HTTP 在端口 80 上运行,而端口 443 通常用于安全加密的 HTTP 连接(HTTPS)。

端口 80 可以用于 HTTPS 吗?

否,端口 80 用于未加密的连接。HTTPS 是 HTTP 的安全版本,通常使用端口 443 进行加密通信。

总结

端口 80 和 443 就像是万维网流量的两条不同高速公路。端口 80 是老式的、不安全的路线,而端口 443 则是现代的安全高速公路。了解端口 80 和 443 之间的区别并知道如何使用它们将有助于您安全地浏览网络。

大多数服务器默认开放端口 443,允许加密传入连接。如果没有,请使用我们的快速说明来了解如何开放端口 80 或将端口 80 重定向到 443。

相关推荐

30s带你使用Python打包exe文件,并修改其图标

在Python中,我们可以使用PyInstaller或cx_Freeze等工具将Python脚本打包成可执行文件(.exe),并且能够修改生成的.exe文件的图标。使用PyInstaller...

Python一键打包为windows的exe文件,无需安装python环境即可执行

一、为什么要将Python打包为exe?在实际应用中,我们希望Python程序能在没有安装Python环境的电脑上直接运行。将Python代码打包为exe可执行文件,不仅能解决环境依赖问题,还便于程...

py2exe实现python文件打包为.exe可执行程序(上篇)

今天分享的内容为:python程序实现发送、读取邮件来控制电脑的关机与重启(作为py2exe打包成.exe可执行程序的基础文件)一、说明:本文介绍的是使用新浪邮箱作为例子进行讲解,代码实现如下:#c...

如何将python程序文件打包生成一个可执行文件(exe文件)

在开发Python程序后,有时我们希望将其打包成一个可执行的exe文件,方便在没有Python环境的计算机上运行。下面将详细介绍使用常见工具实现这一目标的方法。安装PyInstaller...

Python程序打包为EXE的全面指南:从入门到精通

引言在Python开发中,将程序打包成可执行文件(EXE)是分发应用程序的重要环节。通过打包,我们可以创建独立的可执行文件,让没有安装Python环境的用户也能运行我们的程序。本篇文章将详细介绍如何使...

10个你没有充分利用的令人惊叹的 Python 特性

Python的简单性和多功能性使其成为全球开发人员的最爱。每天有超过1000万开发者使用Python进行从网络开发、机器学习到网络脚本等各种开发,Python的功能非常强大。然而,我们中的...

编程语言可以用来做什么

1.web前端你每天浏览的网页,所看到的页面特效,均是由web前端工程师来实现的2.Java大型购物网站有关通信及网络企业大型企业级应用管理系统大型网游后台数据3.C++嵌入式三维游戏领域人工智能领域...

用Python进行机器学习(16)-内容总结

对于用Python进行机器学习的内容,到这里就要做一个阶段性总结啦,后续再写的文章就是关于深度学习的了,算是对该部分内容的进阶版。对于机器学习,我们主要介绍了五个方面的内容:第一个就是分类算法,主要包...

普通人如何利用python做自媒体赚收益

普通人利用Python做自媒体赚收益,最简单的方式是下载某些网站的视频,并利用剪影编辑视频,最后导出发布,每天可以制作个10几条,并设置好定时发布,每天如此坚持下去,一定会有所收获的...

AI能写什么做什么?这些技能已经颠覆你的认知!

在ChatGPT、文心一言等AI工具爆火的今天,人工智能早已不再是科幻电影里的概念,而是实实在在地渗透进我们的生活。**AI到底能写什么?能做什么?它的边界在哪里?**让我们一探究竟!---**1....

Python 3.14 新特性盘点,更新了些什么?

Python3.14.0稳定版将于2025年10月正式发布,目前已进入beta测试阶段。这意味着在往后的几个月里,3.14的新功能已冻结,不再合入新功能(除了修复问题和完善文档)。3...

每天一个Python库:sys模块的5个高频用法(建议收藏)

很多人学Python,一直卡在“写不了实用脚本”。其实,会用标准库,效率直接翻倍。今天分享的是:sys模块。这个模块虽然基础,但非常实用,下面是我亲测常用的5个功能1.获取命令行参数(自动化脚...

Python除了做爬虫抓数据还能做什么?其实还能监视和衡量网站性能

  借助这份对初学者友好的指南,您可以构建自己的自定义Python脚本来自动测量网站的关键速度和性能指标。  在过去的一个月中,Google宣布了许多通过关键速度和性能指标来衡量用户体验的方法。  巧...

python究竟可以用来做些什么

这里就不撰述python的一些像什么“高级语言”之类的比较常规的介绍了,还是老样子,说说一些比较常用的东西吧。python是什么python,一款可编程的开源软件,很多第三方库、框架也是开源的,比如强...

Python 实现 dubbo 协议接口自动化测试

前言python语言也可以实现对dubbo协议的接口进行调用与测试,可以使用python+hessian结合的方式,也可以使用python+telnet结合的方式模拟命令行的模式来实现对...

取消回复欢迎 发表评论: