HTTP与Fiddler使用
- HTTP与Fiddler使用
- Fidder
- HTTP的报文结构:
- 其他请求头
- User-agent
- Referer和Origin
- cookie
- HTTP状态码
HTTP与Fiddler使用
HTTP协议是使用十分广泛的应用层协议,也是一个可以由程序员进行设置的一个协议。该协议的结构规定了浏览器与万维网服务器之间的互相通信的规则。
Fidder
是一个抓包工具,接下来我们将依托这个工具来深入理解HTTP协议。
首先打开软件。
打开浏览器,然后点击一个包,在右侧就会显示该包中的信息。
使用记事本查看详情:
映射到http
的报文结构
HTTP的报文结构:
分析http
的首行所包含的内容。
http
主要使用GET和POST两种方法来进行请求和响应操作。
- GET方法:
通常用于从服务器上获取数据或者资源。使用GET方法,浏览器会将请求信息封装在HTTP请求头中,然后向服务器发送请求,服务器根据请求的内容返回相应的响应结果。GET方法的请求信息是以明文的形式传输的,可以在URL地址中看到,因此不太适合用于传输敏感数据。
- POST:
它通常用于向服务器提交数据,比如用户在网站上填写表单信息后提交。使用POST方法,浏览器会将请求信息封装在HTTP请求体中,然后向服务器发送请求,服务器根据请求的内容进行相应的处理,并将响应结果返回给浏览器。相比于GET方法,POST方法的请求信息以密文形式传输的,因此适合用于传输敏感数据。
GET和POST请求无长度限制。GET方法和POST方法虽然都可以用于传输数据,但是它们的使用场景是不同的,需要根据不同的业务需求选择合适的方法。同时,数据的传输过程中,还需要注意对数据进行加密和安全验证等措施,以保证数据的安全性和完整性
其他请求头
观察报文中有一个分割行是用于分割请求头部和请求正文的。
在请求头中还有两个头部字段名需要注意(与正文有关):
content - type : 数据格式
content-length :正文数据长度(单位:字节)
content-type
是可以表示许多种不同的语言
前面的字段表示传输的是什么语言格式,后面是传输的语言所使用的字符集。
可以非常方便的用于自定义协议,程序员可以决定传输什么数据,以什么数据格式进行传输。
User-agent
用户代理
这字段可以让服务器了解客户端此刻是什么系统,此时我所使用的系统是Window 10
,服务器也可以根据这个字段修改自己展示的页面。
Referer和Origin
host
描述当前页面。
origin
起源以哪个页面。
referer
是表示从哪个浏览器所进行跳转的。
cookie
本地浏览器的缓存机制,cookie
中的所有键值对都可以由程序员自定义,是HTTP协议中留给程序员的一块为自家服务器识别的一块“圣地”。
cookie中的值也是按照键值对的形式存在的,可以说cookie是由许许多多键值对组成的集合。
打开浏览器也可以看到正在运行的cookie。
cookie是从何处而来?cookie是要去往何处?cookie的作用是什么呢?
当客户端(浏览器)需要跟服务器请求连接的时候,服务器就会生成一个cookie传递给客户端,让客户端以这个cookie为凭证连接服务器并进行通信,在之后的信息传递过程中,cookie就相对于服务器识别这个客户端是否产生过连接,提高两者通信效率。
HTTP状态码
常见状态码及状态码含义
状态码 | 状态码含义 |
---|---|
2XX | 请求成功 |
404 | (NOT FOUND)资源不存在 |
403 | 访问被拒绝 |
500 | 服务器内部错误 |
504 | 服务器访问超时 |
301 | 永久重定向 |
302 | 临时重定向 |