http(第七周):
fiddler(导航栏的‘请求编辑’):
1.请求方法:
1.1请求方法:
a.get:
1.用途:请求一个指定的资源。
2.特点:只应用于检索数据,不应产生任何副作用。请求是幂等的(多次执行效果相同)且可被缓存。
b.post:
1.用途:向指定资源提交数据。
2.特点:通常用于创建新资源或执行一个会改变服务器状态的操作(如提交表单)。不是幂等的,通常不被缓存。
c.put:
1.用途:用请求负载完整替换目标资源的所有当前显示。
2.特点:如果资源不存在,可以创建它,是幂等的。
d.head:
1.用途:与get相同,但服务器不返回响应体。
2.特点:用于检查资源是否存在、获取其元数据(如内容类型、大小、修改时间)而无需传输整个内容。
e.trace:
1.用途:执行一个消息环回测试,返回服务器收到的请求。
2.特点:主要用于诊断,因安全风险通常被禁用。
f.delete:
1.用途:删除指定的资源。
2.特点:操作是幂等的。
g.search:
1.用途:一种实验性的方法,用于在远程目录中执行搜索查询
2.
h.connect:
1.用途:建立一个到目标资源的隧道,通常用于通过代理加密通讯(SSL/TLS)
2.
i.propfind:
1.用途:检索与资源关联的属性(如创建者、修改日期)
2.
j.proppatch:
1.用途:原子性的设置和删除多个资源属性
2.
k.patch:
1.用途:用于对资源应用部分修改。与put(整体替换)不同,patch只发送需要更改的部分。
2.
l.mkcol:
1.用途:创建一个集合(类似于目录)。
2.
m.copy:
1.用途:将资源从源url复制到目标url。
2.
n.move:
1.用途:将资源从源url移动到目标url。
2.
o.lock:
1.用途:在资源上设置一个锁,以防止并发修改。
2.
p.unlock:
1.用途:解除由lock方法设置的锁。
2.
q.options:
1.用途:查询目标资源支持的通讯选项(如支持http的方法)。
2.特点:常用于cors预检请求。
1.2区别:
2.cookie机制
2.1主要功能:是在无状态的http协议中用于保持会话状态的一种机制,是服务器发送给浏览器的并存储用户信息,cookie是网站为识别用户身份而存储在本地。
a.会话管理:保持用户登陆状态,记录购物车内容、游戏分数等。
b.个性化:保存用户的偏好设置,如语言、主题、布局等。
c.追踪与分析:记录和分析用户在一个网站或跨网站的行为,用于广告投放和数据分析。
2.2使用流程:(分为3个阶段:设置、发送、管理)
a.第一阶段:
设置cookie(服务器->浏览器)当用户首次访问一个网站或执行特定动作(如登录)时,流程开始。
1.浏览器发出请求:用户访问网址。
2.服务器创建cookie:服务器为了识别这个用户,会生成一个唯一的标识符(类似html的id),并可能附带其它信息。
3.服务器发送cookie:服务器在它的http响应中,通过一个叫做set-cookie的响应头,将cookie的信息发送给浏览器。
(下面几个值使用英文分号;隔开)
a.设置cookie的名称和值(用‘=’赋值)。
b.max-age:设置cookie的有效期(用‘=’赋值)。
c.path:指定cookie在哪个路径下有效(用‘=’赋值)。
d.secure:要求只有通过https连接时才能发送此cookie。
4.浏览器储存cookie:浏览器收到这个响应后,会解析set-cookie头,并将cookie的内容(名称值、有效期等)存储在本地。通常,浏览器会为每个网站创建一个独立的‘cookie jar(cookie库)’
b.第二阶段:发送cookie(浏览器->服务器)
从此以后,在该cookie有效且符合路径、域等规则的情况下:
1.浏览器发起后续请求:当用户访问同一网站的任何一个页面时。
2.浏览器自动附加cookie:浏览器会检查自己的cookie存储,找到所有与该网站域名和路径匹配的、未过期的cookie
3.浏览器发送cookie:浏览器自动将这些cookie通过cookie请求头,包含在http请求中发送给服务器。
(注意:这里所有的相关的cookie都会被一并发送,用分号和空格隔开)
c.第三阶段:管理与会话保持:
1.服务器识别用户:服务器收到请求后,读取cookie头中的信息(即上述所有发送后被接收的cookie,eg:用户的id)
2.恢复会话状态:服务器通过这个(eg:id)在它的数据库或内存中找到之前为该用户保存的会话数据(如用户名、用户id、登陆状态等)。
3.返回个性化内容:服务器根据识别出的用户信息,返回对应的个性化页面。
4.更新与销毁cookie:
a.更新:服务器可以在任何响应中再次使用set-cookie来更新已有的cookie或者设置新的cookie。
b.销毁:要让cookie失效,服务器可以发送一个同名的、但设置了max-age=0或者过期日期为过去时间的cookie。
3.数据cookies的重发并编辑(右键fiddler详情页)-验证cookie是否有效,能成功保存用户信息:
3.1打开需要用户验证才可使用的网页
3.2在fiddler中找到相应的详情(类似加断点)
3.3然后右键,找到重做,并点击重发并编辑。
3.4此时该详情被加上断点,然后找到请求request的导航栏上的‘数据’
3.5打开数据,找到下面的cookies然后,找到相应要删除的代码,删掉然后运行。(此时如果觉得cookies不好看,可以自己调整。或者点击导航栏上的cookies进行查看。)
3.6如果此时该详情运行出现302,则验证成功,否则则重复上面操作。
4.1在fiddlerscript中,若需阻止某个请求发送可使用:oSession.Abort(),此方法用于终止对话,也就是阻止某个请求的发送。
4.2fiddlerscript的onBeforeresponse是在服务器响应返回之后、fiddler将响应呈现给用户端之前触发的。
4.3fiddler的AutoResponder功能无需编写代码即可实现简单的请求转发。
4.4在AutoResponder中规则的执行顺序是从上到下,可通过拖拽调整顺序(这样能灵活控制请求的响应匹配逻辑)。
4.5在fiddler中,AutoResponder面板是用于创建自动转发规则等相关操作的地方,点击‘add rule’可以创建一条自动转发规则。
4.6在fiddler中,‘save’是保存会话。
4.7在fiddler中,fiddlerobject.log(),用于日志记录。
4.8fiddler自动转发主要用于请求的重定向等操作(eg:线上请求转发到本地测试环境、模拟接口返回固定数据、屏蔽特定广告请求等。)
4.9在fiddler 的autoResponder中,规则是按顺序检查的,当某条规则的‘match’条件不满足时,fiddler会自动跳过该规则,继续执行下一条规则,直到找到所有的规则或者遍历完所有规则。
4.10 在fiddler中的autoresponder中,‘enable rules’选项的作用是启用所有已创建的自动转发规则,这样这些操作才会生效。
4.11fiddlerscript的核心脚本文件是customrules.js,在这个文件中可以编写各种脚本规则来控制fiddler的行为,
4.12fiddler.exe是fiddler的可执行程序。
4.13fiddler.dll是相关的动态链接库。
4.14config.ini是配置文件。
4.15

浙公网安备 33010602011771号