网络知识 娱乐 HTTP协议初见/Fiddler抓包工具使用(HTTP协议1)

HTTP协议初见/Fiddler抓包工具使用(HTTP协议1)

文章目录

  • 本章重点
  • HTTP协议
    • HTTP协议报格式
      • Fiddler抓包
    • 请求
    • 响应
    • HTTP方法

本章重点

  • 初步认识HTTP协议
  • 学习Fiddler抓包流程
  • 掌握GETPOT方法的异同!

HTTP协议

我们网络编程已经了解了很多协议类型了!
有传输层中的TCP/UDP,网络层中的IP协议.我们知道身为程序员的我们重点是反正应用层协议的设计上,其他网络层中的协议属于操作系统内核!
我们知道我们程序员主要在应用层设计应用层协议!
应用层协议由包括两部分,确定传输的数据和协议模板(xml/json/Protobuff)的选择!
我们知道,不同水平的程序员设计的应用层协议各有参差!
有大佬就设计出了业界比较好的协议,供大家使用!
HTTP协议是目前业界使用最多的协议!所以我们重点来学习HTTP协议,通过对HTTP协议的学习,从而自己可以借助HTTP协议在项目中设计应用层协议!

我们知道应用层协议在网络传输的关键作用就是,让通信双方可以理解双方的信息,就好比你买一个电子产品,卖家会提供一个使用说明书,这里的应用层协议也就相当于使用说明书!

HTTP协议报格式

我们通过之前网络协议的学习知道,学习一个协议就是学习这个协议的报头格式!
在这里插入图片描述
看到这个协议格式发现和我们之前学习的协议报头格式大为不同!

主要是因为之前学习的TCP/IP协议都是面向二进制设计的协议类型!
HTTP协议主要是由文本格式的协议,比之前的协议格式利于我们学习和理解!

Fiddler抓包

我们HTTP协议格式的学习先通过引入一个app来学习!

Fiddler抓包工具
什么是抓包工具呢?
我们知道数据在网络传输中,会经过很多设备,我们的信息虽然通过这些协议进行了分装!当时这些设备还是有这些信息的记录!
这里的抓包工具就相当于一个代理,就好比一个传话的,虽然Fiddler并不需要这个信息,当时信息经过了这个抓包工具,就可以将传输中的应用层协议报拿到,也就是拿到了HTTP协议包,这就是抓包!其实其他协议也能通过其他的的抓包工具,进行抓包!

我们先通过这个抓包工具的使用,获取几个HTTP数据协议,然后对HTTP协议有所了解,然后再进行协议格式的学习!

Fiddler安装
我们通过官网下载安装这个Fiddler Classic经典版本!
Fiddler下载地址
在这里插入图片描述
然后安装后就可以使用了!

在这里插入图片描述
打开界面后就是这个样子!
然后我们要先进行设置!
在这里插入图片描述我们将这里的HTTPS中的所有选项勾选上,然后就可以进行使用了!
啥是HTTPS呢?

我们暂且理解为HTTP的升级版,在HTTP的基础上进行了加密,保证了数据传输的安全!详细内容后面我们还会介绍到!

在这里插入图片描述
这个界面有两栏,左边这栏就是我们抓包抓取的数据!
当我们浏览器访问一个页面或者程序中,进行跳转都可能会有HTTP协议数据请求,然后Fiddler抓包工具就可以抓取到数据报!
还有就是浏览器中的一次网页请求可能,传输了多个HTTP协议数据包,所以这里的抓取的报一直在增加!

在这里插入图片描述当我们双击抓取到的一个HTTP协议数据报后,右边栏就会出现这个协议报的详细内容!
在这里插入图片描述
这里上方就是这个HTTPS协议数据报的请求信息,下方就是HTTPS的响应信息!
我们通过对这里的请求和响应的学习就可以大致了解到HTTPS协议格式!
请求:
在这里插入图片描述
我们选中Raw这一选项就可以查看最原始的HTTP协议请求!

然后我们发现这么小的字体咋看啊这是,我们可以通过下方的VIew in Notepad通过记事本查看这里的请求数据!
在这里插入图片描述

GET https://www.csdn.net/ HTTP/1.1
Host: www.csdn.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: uuid_tt_dd=10_30601611580-1653459529558-297725; log_Id_pv=602; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1655126066,1655128987,1655170391,1655182762; Hm_up_6bcd52f51e9b3dce32bec4a3997715ac=%7B%22islogin%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isonline%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isvip%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22uid_%22%3A%7B%22value%22%3A%22weixin_52345071%22%2C%22scope%22%3A1%7D%7D; Hm_ct_6bcd52f51e9b3dce32bec4a3997715ac=6525*1*10_30601611580-1653459529558-297725!5744*1*weixin_52345071; log_Id_view=1172; __51uvsct__JQTDiOVZ2pRjGa1K=41; __51vcke__JQTDiOVZ2pRjGa1K=1e84abb9-62df-5ecc-828b-e3052ffe5150; __51vuft__JQTDiOVZ2pRjGa1K=1653459532473; log_Id_click=801; __gads=ID=f159decf46255d5e-22bbe38364d300d7:T=1653459564:RT=1653459564:S=ALNI_Ma5D0b1QWC6YQ8t-on_R6zAurFD0g; __gpi=UID=000005b633162c48:T=1653459564:RT=1655010298:S=ALNI_Mbd0__O7WINiqjmFo0HJe78mx_xOA; ssxmod_itna=eqUxBDcDu0D=34Bake5DkF6diKbMk00fOexGXhIYDZDiqAPGhDC34UeDIYGCYRRrBe+C3jjBRoqH8m4WT4YKC4I0frQ4B3DEx0=PCjeKiinDCeDIDWeDiDGR7D=xGYDj0KGWD4qDOD3qGyS+=Di8t9DdvC7uQDmTNDGup6D7QDIw6g9frVAeDSW7UxKG=DjubD/4xWHeRWH=5DbgeuDeiDtqD9lw=Dbfd3x0pymkU7wGwIbt4US+NDxBtQExDf7kGC4t5D9h6IOfkD0wEY9xpxWiez8AYRgY5NBietW7ePBg+Ci0Dz4+Dd35DuxDG4ka75qiDD==; ssxmod_itna2=eqUxBDcDu0D=34Bake5DkF6diKbMk00f2DA=uxPtD/K3KDFODxDIg8qqFGFB+oQwiXsYI1EvQw7bKMRj1/+6eoNOKGbng2INO81fi6zL/uMizdaYIy8Dg0Z9bnV80FIZXBPsk1hIg=n=R0n=VW7Q5+IQ3RbsCx9C=gvG2m5bN/y=qFOwqKyQG8v4=B7AYSO+lPqpUC3bRn8IazEFbzT6GgctB3SfmO8GDUSh7RSf/OQhrPdAPk8fRzjITkCRxdKw+OHwVQYb/oIrCR+yC6KgAucT6oFi6ueM/6w10qzQbZHZ68tTRmVimrsWGL+aE/ri7Rh/FgIrLm2OQPhfmmDuuDqhW914PEnRcQnKuAEKeuzPnFpYxqg0ATFWQmwx82Ie+oD07cGPD7=DYF=eD===; UserName=weixin_52345071; UserInfo=26ede6cf39e94eab9c6265a032aa59fa; UserToken=26ede6cf39e94eab9c6265a032aa59fa; UserNick=bug+%E9%83%AD; AU=5FF; UN=weixin_52345071; BT=1653462761522; p_uid=U010000; c_dl_prid=1653464404138_679702; c_dl_rid=1654675272560_674132; c_dl_fref=https://blog.csdn.net/m0_59140023/article/details/125097573; c_dl_fpage=/download/phx320/10246827; c_dl_um=distribute.pc_search_result.none-task-blog-2%7Eall%7Esobaiduend%7Edefault-3-107703400-null-null.142%5Ev11%5Epc_search_result_control_group%2C157%5Ev13%5Econtrol; management_ques=1653738813836; c_hasSub=true; has-vote-msg=1; c_utm_source=yh-grzx; is_advert=1; historyList-new=%5B%22pv%E4%BF%A1%E5%8F%B7%E9%87%8F%20%E4%BA%92%E6%96%A5%E5%92%8C%E5%90%8C%E6%AD%A5%22%5D; dc_tos=rdgbqv; csrfToken=aUhBDEajAeAqoPzfwJMb1Ltp; c_pref=https%3A//www.csdn.net/; c_ref=https%3A//mp.csdn.net/; c_first_ref=default; c_first_page=https%3A//www.csdn.net/; c_segment=13; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1655183480; dc_sid=d52c56b02a4a765ee9dfb3c18ed3278a; __vtins__JQTDiOVZ2pRjGa1K=%7B%22sid%22%3A%20%228e835648-5d35-50bb-af41-f2e30674a4ac%22%2C%20%22vd%22%3A%203%2C%20%22stt%22%3A%20711754%2C%20%22dr%22%3A%20657883%2C%20%22expires%22%3A%201655185276045%2C%20%22ct%22%3A%201655183476045%7D; c_page_id=default; dc_session_id=10_1655185306768.999185
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1


这就是我们抓取的这个报的数据请求!

响应:
而下方就是对于这个请求,服务器所给出的响应信息!
在这里插入图片描述我们响应也是通过Raw选项查看原始的HTTP响应!然后通过记事本打开!
在这里插入图片描述

HTTP/1.1 200 OK
Server: openresty
Date: Tue, 14 Jun 2022 05:55:19 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Keep-Alive: timeout=20
Vary: Accept-Encoding
X-Response-Time: 356
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-download-options: noopen
x-readtime: 356
Strict-Transport-Security: max-age=31536000
Content-Length: 529163

<html lang="zh" data-server-rendered="true"><head><title>CSDN - 专业开发者社区</title> <meta name="keywords" content="CSDN博客,CSDN学院,CSDN论坛,CSDN直播"> <meta name="description" content="CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区."> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> <meta name="referrer" content="always">    
        <script src="https://g.csdnimg.cn/tingyun/tingyun.js"></script>
          <link rel="shortcut icon" href="https://g.csdnimg.cn/static/logo/favicon32.ico" type="image/x-icon"> <link rel="canonical" href="https://www.csdn.net">  
          
       
          
       <script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js,user-tooltip/2.2/user-tooltip.js,lib/qrcode/1.0.0/qrcode.min.js"></script> <script src='//g.csdnimg.cn/common/csdn-report/report.js' type='text/javascript'></script> 
         <script src="https://g.csdnimg.cn/user-ordercart/2.0.1/user-ordercart.js?ts=2.0.1"></script>
        
          <script src="https://g.csdnimg.cn/common/csdn-login-box/csdn-login-box.js"></script>
       
         <script src="https://g.csdnimg.cn/user-ordertip/3.0.2/user-ordertip.js?t=3.0.2"></script>
           
      <script>
        window.TINGYUN && window.TINGYUN.init && window.TINGYUN.init(function (ty_rum) {
          ty_rum.server = {   "event_timeout": 60000,   "dr_threshold": 4000,   "opt_custom_param_rule": [],   "cross_page_delay": 3000,   "router_enable": true,   "fp_threshold": 2000,   "token": "568934913a6343de840a781ca5eaba4b",   "beacon": "wkbrs1.tingyun.com",   "trace_threshold": 7000,   "x_server_switch": true,   "ignore_err": false,   "id": "hWg-u0rE5b8",   "key": "Z1Tu5hoKbGw",   "fs_threshold": 4000 };
        });
      </script>
        
         <script src="https://g.csdnimg.cn/common/csdn-toolbar/csdn-toolbar.js"></script>
      <link rel="stylesheet" href="https://csdnimg.cn/release/cmsfe/public/css/common.db505e6b.css"><link rel="stylesheet" href="https://csdnimg.cn/release/cmsfe/public/css/tpl/www-index-new/index.164507a0.css"></head> <body><div id="toolbarBox" style="min-height: 48px;"></div> <div id="app"><div><div class="main"><div class="page-container page-component"><div><div class="home_wrap"><div class="content_wrap"><div id="floor-nav_557" floor-index="0"><div comp-data="[object Object]" floor-data="[object Object]" class="blog-nav-tag" data-v-f8e9e086><div class="blog-nav " data-v-f8e9e086><img src="https://img-home.csdnimg.cn/images/20220107105619.png" alt class="blog-nav-down " data-v-f8e9e086> <div class="blog-nav-box" data-v-f8e9e086><ul class="def" data-v-f8e9e086>    <li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/back-end" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"back-end"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"back-end"}" data-v-f8e9e086>后端</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/web" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"web"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"web"}" data-v-f8e9e086>前端</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/mobile" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"mobile"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"mobile"}" data-v-f8e9e086>移动开发</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/lang" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"lang"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"lang"}" data-v-f8e9e086>编程语言</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/java" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"java"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"java"}" data-v-f8e9e086>Java</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/python" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"python"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"python"}" data-v-f8e9e086>Python</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/ai" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"ai"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"ai"}" data-v-f8e9e086>人工智能</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/big-data" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"big-data"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"big-data"}" data-v-f8e9e086>大数据</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/algo" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"algo"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"algo"}" data-v-f8e9e086>数据结构与算法</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/avi" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"avi"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"avi"}" data-v-f8e9e086>音视频</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/cloud-native" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"cloud-native"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"cloud-native"}" data-v-f8e9e086>云原生</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/cloud" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"cloud"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"cloud"}" data-v-f8e9e086>云平台</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/ops" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"ops"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"ops"}" data-v-f8e9e086>运维</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/server" data-report-click="{"spm":"1001.2100.3001.7366","extend1":"server"}" data-report-view="{"spm":"1001.2100.3001.7366","extend1":"server"}" data-v-f8e9e086>服务器