GET和POST请求方式的比较:
相同点:
1.GET和POST都可以创建数组,array,其包含了键值对(key = value),其中的键是表单控件的名称,值是用户输入的数据;
2.GET和POST视为$_GET和$_POST,是超全局变量;
不同点:
1.GET型方式将用户发送的数据拼接到URL中,发送的数据量较小,不安全;
2.POST型方式参数放在请求包中请求数据中,必须使用工具去查看,发送的数据量较大,安全性较高;
请求包里每个请求头中参数的含义:
状态码,由三位数字组成,第一位数字表示了响应的类型,共有五种类型:
1XX:表示服务器已经接收到请求,并且需要继续处理;
2XX:表示服务器已经成功接收到请求,并处理了该请求;
3XX:表示重定向,URL要跳转到其他页面去请求;
4XX:表示用户请求有问题;
5XX:表示服务器内部出错;
常见状态码:200 302 304 400 403 404 500
POST /index.php HTTP/1.1(请求行(请求方式+URL+协议以及版本))
Host: localhost:81(这种颜色的都是请求头)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 --服务器环境
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://localhost:81/test.html
Cookie: wordpress_logged_in_86a9106ae65537651a8e456835b316ab=1654531252%7C1570373621%7CI1BdSEIyqXHSTRKA2bmngFT51CdRyVGjiU73yJ457y8%7C9d86cb20f69840bea12ea692873dd8bc2e4f41b39f504ab39bb466ec81b63ee4
DNT: 1
Connection: close --连接状态
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded --返回响应数据的类型
Content-Length: 32 --返回数据包长度
user1=u1&pswd=pw1&denglu=Sublime(请求数据,此次是post请求,如果是get请求此处就为空)
请求包中 每个参数的含义:
Host: localhost:81 --表示请求的服务器的ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 --表示用户本地环境
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 --浏览器可解析的应用环境
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 --浏览器可解析的语言类型
Accept-Encoding: gzip, deflate ---浏览器可解析的编码方式
Referer: http://localhost:81/test.html ---表示请求页面从哪里来的
Cookie: ---表示服务器和浏览器之间的会话状态,该会话状态可以表示用户是否登录过,一般都是服务器给配置,具有时效性,一旦失效,就需要用户重新登录。只有登录成功之后浏览器就会保存cookie,每次去服务器请求都会带上cookie,并在该cookie是需要在服务器中验证。
wordpress_logged_in_86a9106ae65537651a8e456835b316ab=1654531252%7C1570373621%7CI1BdSEIyqXHSTRKA2bmngFT51CdRyVGjiU73yJ457y8%7C9d86cb20f69840bea12ea692873dd8bc2e4f41b39f504ab39bb466ec81b63ee4
X-forwarded-for:127.0.0.1 --表示用户真实的ip
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
HTTP的响应包:
用户发送的请求到达服务器之后,要去处理该请求,把处理之后的结果发送给用户的浏览器,我们将该结果称为响应包,reponse.
Response = 状态行 + 消息报头 +空行 + 响应正文
使用BP拦截响应包,在浏览器中设置代理,完成后到Bp中设置代理监听器,同时要注意勾选“Intercept responsers based on the follwing rules:”,在拦截到数据包之后,点击“Forward”,就能看到响应包
GET /success.txt HTTP/1.1 --状态行(协议及版本 + 状态码)
Host: detectportal.firefox.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Pragma: no-cache
DNT: 1 ---响应报头
Connection: close
相应文 ( = HTML + CSS + JS)