1、什么是http协议?
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
以上比较官方哈哈哈~
2、工作原理
http协议的工作原理通俗来讲,其实我们打开浏览器,在地址中输入URL,就是我们常说的网址,然后就看到了对应的网页。原理是怎样的呢?
实际上,当我们输入URL之后,浏览器就给web服务器一个请求,web服务器接收到了进行识别和处理,生成相应的http响应(HTTP response),然后再发送给浏览器,浏览器解析http响应中的HTML,这样我们就看到了网页,原理如下图所示。
简而言之就是,浏览器是老公、服务器是老婆。
老公说,老婆给我点零花钱,
老婆听见了,听声音的确是自己家的老公,
老婆听到了这个请求,想想是时候给了,
就把钱给了老公,老公拿到了钱就可以开始花了,
3、抓包工具fiddler介绍
fiddler应该是这个星球上最强大最好用的web调试工具了,可谓是旷古烁今。神器也!
他们记录所有客户端和服务器的http和https请求,允许你见识、设置断点、甚至修改输入输出数据
可以理解为老婆和老公的管家,还兼职干了点小三的活儿哈哈哈哈哈
4、fiddler的下载和安装
官网直接下载、傻瓜式安装
建议英文版、安装路径不要有中文
5、fiddler基本界面
最上面是主菜单、工具栏
左边:会话列表
右边分别是选项卡和功能面板
右下是命令栏
6、Inspectors选项卡
Inspectors选项卡下可以查看http请求和http响应的报文结构,其中raw选项卡可以产看完整的消息,
headers选项卡只能查看消息中的header
7、web sessions列表
会话列表,显示抓到的http数据包
#:fiddler自动生成的ID
Result:响应的状态码
Protocol:使用的协议http或者https
Host:服务器的主机名和端口号
URL:路径
Body:http响应的字节数
Cashing:跟缓存相关的字段的值
Content-type:响应Content-type的值
Process:对应本地windows的进程
8、fiddler如何设置开始捕获和停止抓包
开始:打开fiddler就已经开始诛抓包
结束:F12键结束
9、http协议报文结构
报文分为两个
http请求报文和http响应报文
http请求报文结构
起始行
首部
主体
http响应报文结构
起始行
首部
主体
总结:
response和request结构基本一样,同样分为三部分;
第一部分叫响应行,第二部分叫响应首部,第三部分是主体
起始行:状态码和状态码消息
首部:header
主体:body
注意:header和body之间有一个空行
不明白的可以在fiddler和www.baidu.com之间慢慢研究,码字累!
10、fiddler抓包原理
fiddler是以代理服务器的形式存在的,代理地址为127.0.0.1,端口:8888,就是本机
相当于在客户端和服务端设置了个收费站 (是不是很形象)
原文地址:https://www.cnblogs.com/Max-Hao/p/10808731.html