从零开始
目录

03 · 常用操作 · 网络

端口与代理

本篇你将学到

  • 端口是什么,常见的端口号
  • 网址里什么时候会出现端口
  • 代理服务器是什么,什么时候会用到
  • 在各系统里查看、设置和关闭代理

端口:同一栋楼里的房间号

IP 地址找到的是一台设备。可一台服务器上可能同时跑着网站、邮件等好几个程序,数据该交给谁?靠端口。

端口是一个通信的“端点”,用数字表示[1]。打个比方:IP 是楼的地址,端口是房间号。

常见的默认端口[1]:

端口 谁在用
80 HTTP(不加密的网页)
443 HTTPS(加密的网页)
25 SMTP(发邮件)
143 IMAP(收邮件)

端口号从 0 到 65535,分三段[2]:

  • 0–1023:系统端口(也叫“知名端口”),留给 HTTP 这类常用服务;
  • 1024–49151:用户端口(“注册端口”),给各种软件登记使用;
  • 49152–65535:动态端口,临时用,不分配给任何服务。

网址里的端口

端口写在域名后面,用冒号隔开,比如 https://www.example.com:443/[3]。网站用的是标准端口(http 用 80、https 用 443)时,通常省略不写;不是标准端口时就必须写[3]。

以后学写网站,你会常看到 http://localhost:4321 这样的地址:localhost 是你自己的电脑,4321 是开发工具临时开的端口。

代理:替你跑腿的中间人

代理服务器是你和网站之间的一个“中间人”:你的请求先交给它,由它转发出去,再把结果带回来[4]。像托同事帮你取快递:快递站看到的是同事,不是你。

  • 用了代理以后,你的网页流量会经过代理服务器,而不是直接从你的电脑发出去[5]。
  • 代理可以转发请求,也可以直接用自己缓存的内容回答,甚至修改请求[4]。
  • 公司、学校和一些公共 Wi-Fi 会用代理来控制能访问哪些网站、要求先登录,或者做安全检查[6]。
  • 代理和 VPN 有点像,但 VPN 的连接更安全[5]。

安全提醒:代理能看到经过它的流量。只用你信得过的代理(比如单位 IT 部门给的),别随便填网上来路不明的代理地址。用 https 的网站,内容仍是加密的。

突然所有网页都打不开? 看看是不是开了代理却没在用:有些软件会改代理设置,退出后没改回来。

查看和设置代理

不需要代理的话,保持“自动检测”或“无”即可。

Windows

设置 → 网络和 Internet → 代理[5]:

  • 自动设置代理:打开“自动检测设置”,Windows 会自己找到代理设置。
  • 使用设置脚本:填单位给的脚本地址。
  • 手动设置代理:点“使用代理服务器”旁的“设置”,填代理的地址和端口;“例外”里可以填不走代理的网站,比如 *.contoso.com,多个用分号隔开。建议勾选“请勿将代理服务器用于本地(Intranet)地址”。

要关掉手动代理,把“使用代理服务器”关闭即可。VPN 连接的代理要在 VPN 设置里单独设[5]。

macOS

苹果菜单 → 系统设置 → 网络,点一个网络服务(比如 Wi-Fi),点“详细信息”,再点“代理”[7]。可选项包括:

  • 自动发现代理;自动代理配置(填 PAC 文件的地址);
  • 网页代理 (HTTP)、安全网页代理 (HTTPS)、SOCKS 代理:填服务器地址和端口,需要的话填用户名密码;
  • 最下面可以填不走代理的主机和域名,用逗号分隔[7]。

不用代理时,把上面这些开关都关掉。

Linux

GNOME:打开“设置” → 网络,在左边选“网络代理”,在三种方式里选一种[6]:

  • 无:直接连接;
  • 手动:分别给 HTTP、HTTPS、FTP、SOCKS 填代理地址和端口;
  • 自动:填一个配置文件的网址。

不用代理就选“无”。

小结

  • IP 找设备,端口找设备上的程序;http 默认 80,https 默认 443,标准端口在网址里可以省略。
  • 代理是替你转发请求的中间人,常见于公司、学校;它能看到经过的流量,只用可信的。
  • 网页突然全打不开时,记得检查代理设置。

参考资料

  1. [1]Port(Glossary) · MDN Web Docs
    https://developer.mozilla.org/en-US/docs/Glossary/Port
  2. [2]RFC 6335: IANA Procedures for the Management of the Service Name and Transport Protocol Port Number Registry(§6) · IETF
    https://www.rfc-editor.org/rfc/rfc6335.html
  3. [3]What is a URL?(Authority) · MDN Web Docs
    https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_URL
  4. [4]Proxy server(Glossary) · MDN Web Docs
    https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server
  5. [5]Use a proxy server in Windows · Microsoft Support
    https://support.microsoft.com/en-us/windows/use-a-proxy-server-in-windows-03096c53-0554-4ffe-b6ab-8b1deee8dae1
  6. [6]Define proxy settings · GNOME Help
    https://help.gnome.org/users/gnome-help/stable/net-proxy.html.en
  7. [7]Change proxy settings on Mac · Apple Support · Mac User Guide
    https://support.apple.com/guide/mac-help/change-proxy-settings-on-mac-mchlp2591/mac