目录
透视HTTP协议-01|HTTP协议简介
透视HTTP协议-02|HTTP协议基础
透视HTTP协议-03|HTTP协议进阶(一)
透视HTTP协议-04|HTTP协议进阶(二)
透视HTTP协议-05|HTTPS
一、HTTP协议基础
一.HTTP是什么
HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。HTTP 传输的是文字、图片、音频、视频等超文本数据。HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。二.与HTTP相关的各种协议
1、TCP/IP
TCP/IP 协议实际上是一系列网络通信协议的统称,其中最核心的两个协议是 TCP 和 IP,其他的还有 UDP、ICMP、ARP 等等,共同构成了一个复杂但有层次的协议栈。
TCP/IP 是网络世界最常用的协议,HTTP 通常运行在 TCP/IP 提供的可靠传输基础上;
1.IP(Internet Protocol,网际互连协议)
IP 协议的目的是解决寻址和路由问题,以及如何在两点间传送数据包。IP 协议使用“IP 地址”的概念来定位互联网上的每一台计算机。
2.TCP (Transmission Control Protocol,传输控制协议)
TCP 协议位于 IP 协议之上,基于 IP 协议提供可靠的、字节流形式的通信,是 HTTP 协议得以实现的基础。
2、DNS(Domain Name System,域名系统)
域名用“.”分隔成多个单词,级别从左到右逐级升高,最右边的被称为“顶级域名”。对于顶级域名,可能你随口就能说出几个,例如表示商业公司的“com”、表示教育机构的“edu”,表示国家的“cn”“uk”等。
但想要使用 TCP/IP 协议来通信仍然要使用 IP 地址,所以需要把域名做一个转换,“映射”到它的真实 IP,这就是所谓的“域名解析”。
3、URI/URL
1.URI(Uniform Resource Identifier,统一资源标识符)
能够唯一地标记互联网上资源
/en/download.html
URI 主要有三个基本的部分构成:
协议名:即访问该资源应当使用的协议,在这里是“http”;
主机名:即互联网上主机的标记,可以是域名或 IP 地址,在这里是“”;
路径:即资源在主机上的位置,使用“/”分隔多级目录,在这里是“/en/download.html”。
2.URL(Uniform Resource Locator,统一资源定位符)
是我们俗称的“网址”,它实际上是 URI 的一个子集,不过因为这两者几乎是相同的,差异不大,所以通常不会做严格的区分。
4、HTTPS(HTTP over SSL/TLS,超文本传输安全协议)
HTTPS是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。
5、Proxy(代理)
代理(Proxy)是 HTTP 协议中请求方和应答方中间的一个环节,作为“中转站”,既可以转发客户端的请求,也可以转发服务器的应答。
代理有很多的种类,常见的有:
匿名代理:完全“隐匿”了被代理的机器,外界看到的只是代理服务器;
透明代理:顾名思义,它在传输过程中是“透明开放”的,外界既知道代理,也知道客户端;
正向代理:靠近客户端,代表客户端向服务器发送请求;
反向代理:靠近服务器端,代表服务器响应客户端的请求;
二、搭建HTTP实验环境(WINDOWS环境下)
一、软件准备
1、Wireshark
Wireshark 是著名的网络抓包工具,能够截获在 TCP/IP 协议栈中传输的所有流量,并按协议类型、地址、端口等任意过滤,功能非常强大,是学习网络协议的必备工具。
2、Chrome/Firefox
Chrome 是 Google 开发的浏览器,是目前的主流浏览器之一。它不仅上网方便,也是一个很好的调试器,对 HTTP/1.1、HTTPS、HTTP/2、QUIC 等的协议都支持得非常好,用 F12 打开“开发者工具”还可以非常详细地观测 HTTP 传输全过程的各种数据。
3、Telnet
Telnet 是一个经典的虚拟终端,基于 TCP 协议远程登录主机,我们可以使用它来模拟浏览器的行为,连接服务器后手动发送 HTTP 请求,把浏览器的干扰也彻底排除,能够从最原始的层面去研究 HTTP 协议。
4、OpenResty
OpenResty是基于 Nginx 的一个“强化包”,里面除了 Nginx 还有一大堆有用的功能模块,不仅支持 HTTP/HTTPS,还特别集成了脚本语言 Lua 简化 Nginx 二次开发,方便快速地搭建动态网关,更能够当成应用容器来编写业务逻辑。
二、环境搭建
1、Telnet
2、配置文件
修改本机的 hosts 文件,“C:\WINDOWS\system32\drivers\etc”,在里面添加三行本机 IP 地址到测试域名的映射。
3、Wireshark安装
其他安装都比较简单,这里主要说Wireshark的安装
1.首先安装环回适配器。
安装完成之后
2.安装npcap-1.31
下载地址/download.html
3.Wireshark-win64-3.4.5
/download.html
如果觉得《透视HTTP协议-01|HTTP协议简介》对你有帮助,请点赞、收藏,并留下你的观点哦!