034_端口号的划分
端口号用于标识网络通信中的特定进程或服务,它们在 TCP/IP 协议中有特定的划分方式。以下是端口号的分类:
端口号的划分
1. 系统端口 (0-1023)
这些端口号是为系统进程或特权服务预留的,只有超级用户或具有特定权限的用户才能使用。例如:
- 80: HTTP
- 443: HTTPS
- 21: FTP
- 22: SSH
2. 用户端口 (1024-49151)
这些端口号通常用于用户进程或应用程序,普通用户可以使用。例如:
- 3306: MySQL 数据库
- 8080: 通常用于 HTTP 备用端口或 Web 服务器端口
3. 动态/私有端口 (49152-65535)
这些端口号通常用于临时或短期的通信,客户端在连接到服务器时常用这些端口。例如,临时打开的 Web 浏览器与服务器进行通信时使用的端口。
详细示例
假设你在浏览器中访问一个网站,过程可能涉及多个端口号:
- 浏览器(客户端)使用一个动态端口(如 49152)发送请求。
- 服务器接收到请求,监听端口 80(HTTP)或 443(HTTPS)。
- 服务器响应,发送数据回到客户端的动态端口(49152)。
通过这种端口号划分,可以有效地管理和分配网络资源,确保不同服务和应用程序之间的通信不会互相干扰。
访问一个网站要写上对应的端口号吗,什么时候用端口号
通常情况下,当你访问一个网站时,不需要手动写上端口号,因为浏览器会默认使用标准端口号:
- HTTP 默认使用端口号 80
- HTTPS 默认使用端口号 443
什么时候需要写上端口号
非标准端口:如果网站使用了非标准端口,你需要在域名后面手动指定端口号。例如,访问使用端口号 8080 的 HTTP 服务,地址可能是
http://www.example.com:8080
。调试和开发:在进行网站开发和调试时,常常使用非标准端口来运行开发服务器或测试环境。例如,许多开发框架默认使用端口号 3000 或 5000。
多服务部署:同一服务器上可能运行多个服务,每个服务使用不同的端口号。例如,一个服务器上运行多个 Web 应用程序,分别监听端口 8080 和 9090。
特殊服务:某些特定服务可能会使用自定义端口,如数据库管理界面、管理控制台等。例如,Jenkins 通常在端口 8080 上运行,phpMyAdmin 可能在端口 8000 上运行。
示例
- 标准 HTTP 访问:
http://www.example.com
- 标准 HTTPS 访问:
https://www.example.com
- 非标准端口的 HTTP 访问:
http://www.example.com:8080
- 非标准端口的 HTTPS 访问:
https://www.example.com:8443
总结
大多数情况下,你不需要手动写上端口号,但在使用非标准端口或访问特定服务时,需要明确指定端口号。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hymns!