百度网站推广怎么做,中国做外贸网站有哪些问题,无锡网络公司平台,长沙网站设计制作这一讲是“破冰篇”的最后一讲#xff0c;我会先简单地回顾一下之前的内容#xff0c;然后在 Windows 系统上实际操作#xff0c;用几个应用软件搭建出一个“最小化”的 HTTP 实验环境#xff0c;方便后续的“基础篇”“进阶篇”“安全篇”的学习。
“破冰篇”回顾
HTTP …这一讲是“破冰篇”的最后一讲我会先简单地回顾一下之前的内容然后在 Windows 系统上实际操作用几个应用软件搭建出一个“最小化”的 HTTP 实验环境方便后续的“基础篇”“进阶篇”“安全篇”的学习。
“破冰篇”回顾
HTTP 协议诞生于 30 年前设计之初的目的是用来传输纯文本数据。但由于形式灵活搭配 URI、HTML 等技术能够把互联网上的资源都联系起来构成一个复杂的超文本系统让人们自由地获取信息所以得到了迅猛发展。
HTTP 有多个版本目前应用的最广泛的是 HTTP/1.1它几乎可以说是整个互联网的基石。但 HTTP/1.1 的性能难以满足如今的高流量网站于是又出现了 HTTP/2 和 HTTP/3。不过这两个新版本的协议还没有完全推广开。在可预见的将来HTTP/1.1 还会继续存在下去。
HTTP 翻译成中文是“超文本传输协议”是一个应用层的协议通常基于 TCP/IP能够在网络的任意两点之间传输文字、图片、音频、视频等数据。
HTTP 协议中的两个端点称为请求方和应答方。请求方通常就是 Web 浏览器也叫 user agent应答方是 Web 服务器存储着网络上的大部分静态或动态的资源。
在浏览器和服务器之间还有一些“中间人”的角色如 CDN、网关、代理等它们也同样遵守 HTTP 协议可以帮助用户更快速、更安全地获取资源。
HTTP 协议不是一个孤立的协议需要下层很多其他协议的配合。最基本的是 TCP/IP实现寻址、路由和可靠的数据传输还有 DNS 协议实现对互联网上主机的定位查找。
对 HTTP 更准确的称呼是“HTTP over TCP/IP”而另一个“HTTP over SSL/TLS”就是增加了安全功能的 HTTPS。
软件介绍
常言道“实践出真知”又有俗语“光说不练是假把式”。要研究 HTTP 协议最好有一个实际可操作、可验证的环境通过实际的数据、现象来学习肯定要比单纯的“动嘴皮子”效果要好的多。
现成的环境当然有只要能用浏览器上网就会有 HTTP 协议就可以进行实验。但现实的网络环境又太复杂了有很多无关的干扰因素这些“噪音”会“淹没”真正有用的信息。
所以我给你的建议是搭建一个“最小化”的环境在这个环境里仅有 HTTP 协议的两个端点请求方和应答方去除一切多余的环节从而可以抓住重点快速掌握 HTTP 的本质。
简单说一下这个“最小化”环境用到的应用软件
Wireshark
Chrome/Firefox
Telnet
OpenResty
Wireshark 是著名的网络抓包工具能够截获在 TCP/IP 协议栈中传输的所有流量并按协议类型、地址、端口等任意过滤功能非常强大是学习网络协议的必备工具。
它就像是网络世界里的一台“高速摄像机”把只在一瞬间发生的网络传输过程如实地“拍摄”下来事后再“慢速回放”让我们能够静下心来仔细地分析那一瞬到底发生了什么。
Chrome 是 Google 开发的浏览器是目前的主流浏览器之一。它不仅上网方便也是一个很好的调试器对 HTTP/1.1、HTTPS、HTTP/2、QUIC 等的协议都支持得非常好用 F12 打开“开发者工具”还可以非常详细地观测 HTTP 传输全过程的各种数据。
如果你更习惯使用 Firefox那也没问题其实它和 Chrome 功能上都差不太多选择自己喜欢的就好。
与 Wireshark 不同Chrome 和 Firefox 属于“事后诸葛亮”不能观测 HTTP 传输的过程只能看到结果。
Telnet 是一个经典的虚拟终端基于 TCP 协议远程登录主机我们可以使用它来模拟浏览器的行为连接服务器后手动发送 HTTP 请求把浏览器的干扰也彻底排除能够从最原始的层面去研究 HTTP 协议。
OpenResty 你可能比较陌生它是基于 Nginx 的一个“强化包”里面除了 Nginx 还有一大堆有用的功能模块不仅支持 HTTP/HTTPS还特别集成了脚本语言 Lua 简化 Nginx 二次开发方便快速地搭建动态网关更能够当成应用容器来编写业务逻辑。
选择 OpenResty 而不直接用 Nginx 的原因是它相当于 Nginx 的“超集”功能更丰富安装部署更方便。我也会用 Lua 编写一些服务端脚本实现简单的 Web 服务器响应逻辑方便实验。
安装过程
这个“最小化”环境的安装过程也比较简单大约只需要你半个小时不到的时间就能搭建完成。
我在 GitHub 上为本专栏开了一个项目http_study可以直接用“git clone”下载或者去 Release 页面下载打好的压缩包。
我使用的操作环境是 Windows 10如果你用的是 Mac 或者 Linux可以用 VirtualBox 等虚拟机软件安装一个 Windows 虚拟机再在里面操作或者可以到“答疑篇”的Linux/Mac 实验环境搭建中查看搭建方法。
首先你要获取最新的 http_study 项目源码假设 clone 或解压的目录是“D:\http_study”。
Chrome 和 WireShark 的安装比较简单一路按“下一步”就可以了。版本方面使用最新的就好我的版本可能不是最新的Chrome 是 73WireShark 是 3.0.0。
Windows 10 自带 Telnet不需要安装但默认是不启用的需要你稍微设置一下。
打开 Windows 的设置窗口搜索“Telnet”就会找到“启用或关闭 Windows 功能”在这个窗口里找到“Telnet 客户端”打上对钩就可以了