网络基础
这一篇教程将为大家介绍互联网的基础概念,希望能提高大家上网冲浪的技能水平。
服务器
你是否想过,我们上网的时候,电脑/手机究竟做了什么?
以购物网站为例,程序需要记录购物车计算账单收款更新库存通知发货记录并跟踪物流给用户发送收货提醒。
为了简化数据的存储和更新,一般以上过程均由一个中心的服务器进行,而手机的app或者电脑的网页只用于接收用户输入并显示结果。 服务器(server)是24小时开机的电脑,在互联网上待命;手机/电脑则是客户端(client),只有用户需要的时候才会向服务器发送请求。 服务/客户端模型是传统互联网的基础。
在目前的互联网架构中,一个服务器会以这样的形式提供服务:
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页面,就可以实现校外访问校内的网页。
图源:Wikipedia
从我们(客户端)到代理服务器(Proxy Server)的连接通常使用HTTP协议(http:
)或SOCKS协议(socks5:
),
这两种协议都是明文协议。
在上个小节的最后,我们提到,明文协议并不安全。因此代理通常需要我们在本地安装一个软件,这个软件会在本地和代理服务器之间建立一个加密通道,然后在本地另外建立一个代理服务。我们使用http:
或socks5:
连接到这个本地服务即可,因为本地的通信不可能被他人劫持,所以这样的代理服务是安全的。
Pulse Secure VPN就需要我们在本地安装软件,不过VPN的代理原理有所不同,我们不会在这里讨论。
如何配置代理
一般的软件会有两个代理选项我们需要关注:http_proxy
和https_proxy
。
它们在有些地方可能会被大写,或者拆开,但是含义基本相同。
假设我们使用的软件在本地的2333
端口开设了代理服务,我们使用127.0.0.1
表示本地地址。
则对于socks5:
协议的代理:
或者,如果代理是http:
协议:
请注意,右边地址中的http:
是我们和代理软件之间连接的协议,和左边无关,请不要误敲成https:
。
安全警告
通过可靠、安全的信道连接到目标服务器并不意味着目标服务器就是可靠、安全的。 在互联网上,我们很有可能获得大量虚假、伪造、危险的信息, 请大家擦亮眼睛,仔细甄别,谨防电信诈骗。
另外,本文仅从技术角度介绍概念,不构成任何建议或暗示。请遵守相关法律法规:
我国境内的计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。 任何单位和个人不得自行建立或者使用其他信道进行国际联网。
《中华人民共和国计算机信息网络国际联网管理暂行规定实施办法》第七条
下一项工作是?
-
通常被称作man-in-the-middle attack。 ↩