【网络】HTTP协议及fiddler抓包工具(1)
【网络】HTTP协议及fiddler抓包工具(1)
一. fiddler抓包工具
安装与配置
在fiddler官网下载,一路next,然后进行简单的设置即可:
fiddler本身是一个代理程序,使用时需要关闭别的代理程序,避免冲突。
选择一个包,选择RAW选项,就可以看到其发送的HTTP请求和响应。
二.HTTP协议
HTTP协议的交互过程,为非常典型的”一问一答“,对于网站开发,基本是够用的。当我们在浏览器中输⼊⼀个 “⽹址”, 此时浏览器就会给对应的服务器发送⼀个 HTTP 请求。 对⽅服务器收到这个请求之后, 经过计算处理, 就会返回⼀个 HTTP 响应。
2.1 HTTP请求
HTTP请求分为4个部分,即首行,请求头,空行,正文部分。
2.1.1首行
首行包含三个部分,方法(GET)、url(https://www.sogou.com/)、版本号(HTTP/1.1)。
2.1.2 请求头
描述了一些属性信息,类似于TCP报头/IP报头,但是是以文本形式组织的。每个键值对占1行,键和值之间用(:空格)分割。
2.1.3 空行
HTTP底层是基于TCP协议实现的,也要解决面向字节流的粘包问题,因此此处有一个空行,作为结束标记。
2.1.4 正文(body)
http的载荷部分,不是每个http都有。如果Body存在, 则在Header中会有⼀个Content-Length属性来标识Body的⻓度。
2.2 HTTP响应
HTTP响应同样也是4个部分组成,即首行,响应头,空行,正文。
其中只有首行格式不同:
这里首行由三个部分组成,版本号(HTTP/1.1)、状态码(200)、状态码描述(OK)。
2.3 认识URL
2.3.1 URL基本格式
互联⽹上的每个⽂件都有⼀个唯⼀的URL,它包含的信息指出⽂件的位置以及浏览器应该怎么处理它.
https
: 协议⽅案名. 常⻅的有http
和https
, 也有其他的类型. (例如访问 mysql 时⽤的jdbc:mysql
)user:pass
: 登陆信息. 现在的⽹站进⾏⾝份认证⼀般不再通过 URL 进⾏了. ⼀般都会省略 .www.example.jp
:服务器地址. 此处是⼀个 “域名”, 域名会通过 DNS 系统解析成⼀个具体的 IP 地址.(可以通过ping
命令来查看域名对应的IP地址)- 端⼝号: 当端⼝号省略的时候, 浏览器会根据协议类型⾃动决定使⽤哪个端⼝. 例如 http 协议默认使⽤ 80 端⼝, https 协议默认使⽤ 443 端⼝.
/dir/index.htm
:带层次的文件路径.- 查询字符串(query string):本质是⼀个键值对结构. 键值对之间使⽤
&
分隔. 键和值之间使⽤=
分隔. - 片段标识:主要用于页面内跳转(例如Vue官方文档:Vue)
2.3.2 URL encode
像 / ? : 等这样的字符, 已经被url当做特殊意义理解了. 因此这些字符不能随意出现.比如,某个参数中需要带有这些特殊字符,就必须对特殊字符进行转义。对于中文,也需要进行转义。
转义的规则如下:将需要转码的字符转为16进制,每2位做⼀位,前⾯加上%,编码成%XY格式 ,比如此处的”+“被转义成了”%2B“。
原文地址:https://blog.csdn.net/telasi2004/article/details/143023157
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!