每一个应用协议都有其特定的端口,通过端口实现服务器同时能够服务于很多不同的客户端,服务器进程通过监听端口来捕获客户端连接。一个服务器允许在同个端口接受多个客户,一个服务器也能开启多个端口接受客户请求。能够接受并管理多个客户连接的服务器进程必须是支持多线程的(或者采用同步输入/输出处理多路复用技术的其他方法)。
每一个端口都有特定的端口号,TCP/IP系统中的端口号是一个16位的数字,它的范围是0~65535。同时该号一般对应一些特定协议,TCP/IP为特定协议保留了低端的1024个端口,其中,端口80是HTTP协议的,21是FTP协议的,23是Telnet协议的等等,客户和服务器必须事先约定所使用的端口。如果系统两部分所使用的端口不一致,那就不能进行通信。
HTTP是网络浏览器及服务器用来传输超文本网页和图像的协议,一般的Web服务器也提供了HTTP服务器的功能,当客户端向HTTP服务器请求一个资源时,HTTP协议会将相关数据以特定格式传给其缺省端口80,服务器在该端口接受请求并将处理结果返回给客户。可以这样理解,端口是基于某种特定协议的一个点(一般是服务器)与另一个点之间的对话窗口,在通话的过程中两点必须在同一窗口才能实现数据对话。