Skip to content

网络基础

这一篇教程将为大家介绍互联网的基础概念,希望能提高大家上网冲浪的技能水平。

服务器

你是否想过,我们上网的时候,电脑/手机究竟做了什么?

以购物网站为例,程序需要记录购物车➡计算账单➡收款➡更新库存➡通知发货➡记录并跟踪物流➡给用户发送收货提醒。

为了简化数据的存储和更新,一般以上过程均由一个中心的服务器进行,而手机的app或者电脑的网页只用于接收用户输入并显示结果。 服务器(server)是24小时开机的电脑,在互联网上待命;手机/电脑则是客户端(client),只有用户需要的时候才会向服务器发送请求。 服务/客户端模型是传统互联网的基础。

在目前的互联网架构中,一个服务器会以这样的形式提供服务:

protocol://domain:port

domain表示服务器在互联网上的地址,一个地址对应一台(组)服务器; 因为一台服务器可以同时提供多个服务,我们用port端口号进行区分,表示具体哪一个服务; protocol表示提供服务时使用的协议。

以常见视频网站https://www.bilibili.com/为例:https是一种服务协议;www.bilibili.com表示哔哩哔哩的服务器地址;这里缺少端口号,https协议在缺少端口号的情况下默认为443端口,因此可以顺利连接上。

在本小节的最后,我们简单介绍一下HTTP和HTTPS协议。 我们日常生活中接触到的绝大多数网络传输都是HTTP协议,这种协议通常由用户发起一次请求,服务器返回一次结果,然后就结束了。我们浏览网页正是通过HTTP协议。

HTTP协议最大的缺陷是,所有传输的内容都是明文。如果你连接了一个陌生的WiFi并通过HTTP协议传输,WiFi的管理者有办法获取到你传输的任何信息,包括密码。1HTTPS协议便是基于HTTP协议的加密版本,安全性更高。请尽可能使用HTTPS协议,尤其是在网页上进行转账操作的时候,请确认浏览器地址栏为https://开头,而不是http://

代理技术

我们应当认识到,由于诸多现实因素,互联网并不总是完全互联的。 举个不太严谨的例子,由于成本问题,我国电信和移动这两大运营商之间的网络信道数量有限。 这造成的结果是,电信和移动的用户之间传输数据比两位电信用户之间传输数据要慢。 另一个例子是,我们学校的info页面出于安全考虑,不开放校外访问,只有在校园网内的时候才能直接访问。 不过,学校提供了WebVPN、SSL VPN、Pulse Secure VPN等方式供我们校外访问info页面,这里的VPN就是代理技术的一种。

在可连接性不满足传递性的时候,我们可以使用代理技术进行连接。代理技术的大体思想是,我们不直接向服务器询问我们需要的信息,而是请一位代理人帮助我们获取信息。 我们只需要一台在校内的服务器(Proxy Server),然后通过VPN连接到这台服务器,再通过这台服务器访问info页面,就可以实现校外访问校内的网页。

proxy
图源:Wikipedia

从我们(客户端)到代理服务器(Proxy Server)的连接通常使用HTTP协议(http:)或SOCKS协议(socks5:), 这两种协议都是明文协议。 在上个小节的最后,我们提到,明文协议并不安全。因此代理通常需要我们在本地安装一个软件,这个软件会在本地和代理服务器之间建立一个加密通道,然后在本地另外建立一个代理服务。我们使用http:socks5:连接到这个本地服务即可,因为本地的通信不可能被他人劫持,所以这样的代理服务是安全的。

Pulse Secure VPN就需要我们在本地安装软件,不过VPN的代理原理有所不同,我们不会在这里讨论。

如何配置代理

一般的软件会有两个代理选项我们需要关注:http_proxyhttps_proxy。 它们在有些地方可能会被大写,或者拆开,但是含义基本相同。

假设我们使用的软件在本地的2333端口开设了代理服务,我们使用127.0.0.1表示本地地址。 则对于socks5:协议的代理:

http_proxy=socks5://127.0.0.1:2333/
https_proxy=socks5://127.0.0.1:2333/

或者,如果代理是http:协议:

http_proxy=http://127.0.0.1:2333/
https_proxy=http://127.0.0.1:2333/

请注意,右边地址中的http:我们和代理软件之间连接的协议,和左边无关,请不要误敲成https:

安全警告

通过可靠、安全的信道连接到目标服务器并不意味着目标服务器就是可靠、安全的。 在互联网上,我们很有可能获得大量虚假、伪造、危险的信息, 请大家擦亮眼睛,仔细甄别,谨防电信诈骗。

另外,本文仅从技术角度介绍概念,不构成任何建议或暗示。请遵守相关法律法规:

我国境内的计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。 任何单位和个人不得自行建立或者使用其他信道进行国际联网。
《中华人民共和国计算机信息网络国际联网管理暂行规定实施办法》第七条

下一项工作是?


  1. 通常被称作man-in-the-middle attack。