当我学习互联网协议时,有一个问题突然浮现在我的脑海中。通常,我们可以为没有典型用途的端口(例如HTTP的80端口,HTTPS的443端口)分配给我们的应用程序。例如,当我使用Node.jsExpress构建一个简单的服务器时,我可以像下面这样为这个进程分配5000端口。
const express = require('express')
const app = express()
const port = 5000
// some code to configure server
app.listen(port, () => {
console.log(`Server is now running on port ${port}`)
})
我的 Node.js 应用程序将监听端口5000。如果我的IP地址是例如10.10.10.10,则只要有人访问10.10.10.10:5000,我的应用程序就会收到请求。然而,如果这是一个HTTP/HTTPS请求,那么数据包不应该来自端口80 / 443吗?有没有人能告诉我为什么不是这种情况,或者解释一下为什么监听不同端口的应用程序可以接收来自80 / 443的数据包。
谢谢。