07_自己动手,搭建HTTP实验环境

内容

回顾之前的内容,在windows系统上实际操作,用几个应用软件搭建出一个“最小化”的HTTP实验环境,方便后续的“基础篇”“进阶篇”“安全篇”。

前期回顾

HTTP协议诞生于30年前,设计之初的目的是用来传输从文本数据,但由于形势灵活,搭配URI、HTML等技术能够把互联网上的资源都联系起来,构成一个复杂的超文本系统,让人们能自由的获取信息,所以得到了迅猛的发展。

HTTP有多个版本,目前应用最广泛的是HTTP 1.1.他几乎可以说是整个互联网的基石,但是他的性能难以满足如今的高流量网站,于是又出现了HTTP2、 HTTP3,不过这两个新版本的协议还没有完全推广开,所以在可见的将来HTTP1.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的本质。


图例_请求方+应答方

可能会运用到的软件:

  1. WireShark
  2. Chrome/Firefox
  3. Telnet
  4. OpenResty

Wireshark:是著名的网络抓包工具,能够截获在TCP IP协议战中传输的所有流量,并按协议、类型、地址端口等任意过滤,功能非常强大,是学习网络协议的必备工具。
我们来打个比方,他就像是网络世界里的一台高速摄像机,他只在一瞬间发生的网络传输过程中,如实地拍摄下来所有的慢速回报,让我们能够静下心来分析,那一瞬间到底发生了什么事情。

Chrome:是是谷歌开发的浏览器,是目前主就目前的主流浏览器之一,它不仅上网方面也是很好的调试器,对HTTP1.1、HTTPs、HTTP2,QUIC等协议都支持的特别好,用f12打开开发者工具,可以非常详细的工作到HTTP传输过程中的各种数据。
但是,和WireShark相比,浏览器更像是事后诸葛亮,不能观测到HTTP传输的全过程,只能观测到结果。

Telnet:是一个经典的虚拟终端,基于TCP协议远程登录主机,我们可以使用它来模拟浏览器的行为,连接服务器后主动发送HTTP请求,把浏览器的干扰也彻底清除,能够从最原始的层面上去研究HTTP协议。

OpenResty:是基于Nginx的一个强化包,里面除了Nginx还有一大堆有用的功能模块,不仅支持HTTP/HTTPs,还能特别集成脚本语言Lua,简化Nginx二次开发,方便快速地搭建动态网关,更能够当成应用容器来编写业务逻辑。

选择OpenResty而不直接用Nginx的原因是他相当于Nginx的超集,功能更丰富,安装部署更方便。之后也会用Lua编写一些服务端脚本,实现简单的web服务器相应逻辑,方便实验。

安装过程

  1. Telnet
    win10自带Telnet,不需要安装,但默认是不启用的,需要稍微设置一下。打开windows的设置窗口,搜索telnet,就会找到启用或关闭windows功能,在这个窗口里找到Telnet客户端,打上对勾就可以了。


    Telnet
  2. OpenResty
    把OpenResty的压缩包解压到文件夹中,改名为openresty


    Openresty

测试验证

  1. 启动web服务器,OpenResty,在文件夹里,有四个批处理文件:
    1)start:启动OpenResty服务器
    2)stop:停止OpenResty服务器
    3)reload:重启OpenResty服务器
    4)list:列出已经启动的OpenResty服务器


    批处理文件

先打开Start批处理文件,就会启动OpenResty服务器。然后打开List,查看是否已经政策启动。


打开内容如图
  1. 打开WireShark,开始抓包
    因为我们的实验环境是本机的127.0.0.1上,也就是Loopback 环回地址,所以在wireshark里要选择“NPcap Loopback Adapter”,过滤器选择 TCP port Http,只抓取HTTP相关的数据包,然后双击NPcap Loopback Adapter,就可以开始抓取本机上的网络数据了。
抓取界面

然后,打开chrome,输入 http://localhost/,访问刚才启动的OpenResty服务器,就会看到一个简单的欢迎界面。

欢迎界面

再回头看WireShark,应该就会显示已经抓到的数据了。

wireSharp抓取内容

至于这些数据内容是什么,会在之后慢慢做介绍。之后,记得停止OpenResty服务器。

小结

  1. 现实的网络环境太复杂,有很多干扰因素,搭建最小化的环境可以快速抓住重点,掌握HTTP的本质。
  2. 选择wireShark作为抓包工具,捕获在TCP/IP协议栈中传输的所有流量
  3. 选择Chrome浏览器,作为HTTP协议中的user agent
  4. 选择OpenResty 作为web服务器,他是一个Nginx的强化包,功能非常丰富
  5. Telnet是一个命令行工具,可以用来登录主机模拟浏览器操作
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351

推荐阅读更多精彩内容

  • 后期整理字体以及排版问题,修订不适合的翻译 “A wealth of information. Smart, ye...
    iamzzz阅读 737评论 0 0
  • 1.TCP报头格式 UDP报头格式 TCP报头格式 UDP报头格式 具体的各部分解释看 TCP报文格式详解 - ...
    杰伦哎呦哎呦阅读 2,446评论 0 5
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 1,218评论 0 7
  • 文| 童初 我真正拥有健康意识,是2015年。见多了周围人群经历生病的痛苦,但我还不能深切体会其中。或许只有自己的...
    童初2017阅读 274评论 0 3
  • 桌上,除了烟酒肉菜糖果 还有几摞厚厚的,拴着红绳的现金 这是一个即将出嫁的 农村姑娘的全部彩礼 上不了桌的 是她后...
    兰州郭郭阅读 331评论 2 2