【发布时间】:2017-09-13 20:01:57
【问题描述】:
服务器能否使用单个端口号同时处理常规 TCP 连接和 TLS 安全连接?还是必须分别制作?
我一直使用每个端口。 并在需要时将 http 重定向到 https。
由于缺乏基础,我无法回答上述问题。 帮帮我。
【问题讨论】:
服务器能否使用单个端口号同时处理常规 TCP 连接和 TLS 安全连接?还是必须分别制作?
我一直使用每个端口。 并在需要时将 http 重定向到 https。
由于缺乏基础,我无法回答上述问题。 帮帮我。
【问题讨论】:
我不确定你的问题是什么。但是,如果服务器可以一次调用处理 http 和 https,那似乎不太可能。您正在拨打一个电话,该电话必须针对特定地址和协议。
您可以使用参数发送该请求,然后您可以在服务器端向辅助协议发送请求。例如,如果您通过 http 发送请求;您可以传递一些服务器端代码可以使用的参数,然后对 https 进行二次调用。但是,话虽如此,您为什么要使用多个协议?我认为最好先了解您的实际需求和用例,然后再继续。
干杯。
【讨论】:
我对这个问题的理解是:HTTP和HTTPS可以共用同一个端口吗?
答案是:不,他们不能。
原因是:HTTP 和 HTTPS 是不同的应用层协议。在底层,HTTP 和 HTTPS 请求只是一个字节流,服务器需要端口信息才能知道如何解析这些字节。
例如,如果服务器发现 1 个请求来自端口 80,那么它知道字节是 HTTP 格式,并解析这些字节以获取合理的数据。如果服务器发现另一个请求来自端口 443,则它知道字节是 HTTPS 格式,并使用相应的方法解析它们。如果服务器发现第三个请求来自端口 21,它知道字节遵循 FTP 协议,然后解析...
如果 2 个应用层协议(例如 HTTP 和 HTTPS)共享同一个端口,这对 Web 服务器来说将是一场灾难:对于来自该端口的任何请求,都无法知道它遵循哪个协议,并且服务器将无法准确解析字节流。
【讨论】: