HTTP协议基础-6-HTTP请求(实战)

前面把HTTP 消息和HTTP请求和HTTP响应理论的知识点都学完了,很多概念记不住没关系,我们在实战里面会复习前面学习过的知识点,然后结合实战中的图片来加深对前面知识点的巩固。在实战之前,我们需要搭建一套本地环境,这套环境其实重点是后面cookies和session的学习会用到。还需要安装一个抓包工具,这里就采用fiddler这个免费的工具。

 

1.本地搭建XAMPP+Phpwind环境

XAMPP是Apache一个开源软件,里面集成了apache server和mysql,也有tomcat服务器,这些软件的集成,都是采用默认配置,例如mysql端口3306,如果你本机安装过mysql,务必先卸载干净。不要学我,一开始折腾给XAMPP换一个mysql端口,当然最后还是折腾出来,但是踩了很多坑,浪费了时间。

下载XAMPP 5.6.39版本,注意不要用最新版本,后面Phpwind会不兼容,打开出现空白页。

下载地址:https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.6.39/

下载后直接exe文件安装,默认安装到C:\xampp

 

Phpwind下载和安装

这是php写的一个论坛系统,国产系统,杭州一家公司开发,后来被淘宝给收购,现在阿里把最新phpwind的版本放在了github,所以千万不要去百度搜phpwind下载,直接和我一样去github下载。

下载地址:https://github.com/alibaba/phpwind
下载zip到本地,解压,然后把整个upload文件夹复制到
C:\xampp\htdocs
我这边把upload文件夹改一个名称,例如phpwind,然后再XAMPP上重启mysql和appache服务。

只需要启动上面两个服务,其他不用管,用不到。然后浏览器打开 http://localhost/phpwind/

回车会自动跳转到http://localhost/phpwind/install.php

安装提示,默认安装就是,提醒以下,这套环境mysql安装完 用户是root,密码是空,不需要填写密码,phpwind的管理员我们给admin用户设置密码为123456,这个后面登录需要用到。

安装完,如果跳转phpwind登录页面,可以登录成功,说明我们的环境准备好了。

 

2.Get请求实战例子

先来一个get的请求,phpwind系统登录就是一个get请求,打开fiddler,浏览器操作打开http://localhost/phpwind 点击登录按钮,输入用户名和密码,勾选记住登录,点击提交。整个过程fiddler都会纪录下来

就来看点击 /phpwind 没登录之前这个url的访问请求(上图背景颜色是蓝色这条数据)。

从上图,我们可以看到这些请求消息。

1.请求起始行

我红圈第一行“Get /phpwind/ HTTP/1.1” 这个就是我们前面说的起始行,这里是请求消息的起始行。这个起始行,说明了请求方法是GET,请求URI是 /phpwind 协议版本是HTTP/1.1,后面就是换行结束了。

2.请求头字段

看上图第二个红圈,可以看到以下头字段。

Accept:
告诉服务器,客户端能接收以下媒体类型
text/html(网页),xml文件,xhtml文件,png图片

Accept-Encoding:
告诉服务器,客户端支持编码格式有 gzip 和deflate,br

Accept-Language:
告诉服务器,客户端支持语言,英文(美国) 英文 和中文(简体)
User-Agent:
告诉服务器,客户端是通过什么来发送请求的,这里Mozilla这个是固定写法,可以看到windows NT 10,我系统是win10, 我用chrome浏览器发送的请求,后面那个safari不用管。

其实,你也可以点击raw tab查看这些头字段。

这张图就多出了一个头字段,Host, cookies我们暂时没学习到,不去管。注意到上面这个图下面区域的空白没,其实这块就是请求的正文,一般请求都是没有正文的,所以这块地方是空白。

以上就是一个Get请求的分析全部过程,主要复习了请求中的请求起始行和请求头字段这部分知识点,这些出现的字段都一一解释什么用途。如果这里不理解什么是请求起始行和请求头字段,请回到前面请求理论这篇文章去复习相关概念。

 

3.POST请求实战例子

继续用phpwind这个应用来找一个POST的请求,前面理论知识说了,GET请求就是从服务器上获取数据,POST请求就是往服务器里提交数据。所以我们得在phpwind这个上找一个创建内容的操作,这应该是POST请求。

我找到了这个操作:

1)登录phpwind应用

2)在admin这个用户名旁边点击倒三角,点击系统后台,会新tab打开系统后台登录

3)用admin/123456登录系统后台

4) 后台登录后,点击 页头菜单点击 论坛,展开页面点击 板块管理

5)点击 添加新板块,输入 一个板块名称,点击提交按钮。(下图)

6)回到fiddler上来看数据。

我在上面这几个请求链接中,找到一个POST请求(深蓝色的这条数据),下面来看看这个POST请求消息中的请求起始行和请求头字段内容。

得到以下内容

1.请求起始行是: POST /phpwind/admin.php?m=bbs&c=setforum&a=dorun HTTP/1.1

请求方法是POST,URI也给出了,虽然具体参数和值看不是很明白。

2.来解释几个新出现的头字段含义

X-Requested-With: XMLHttpRequest

这个XMLHttpRequest对象表示是一个异步请求,了解过Ajax的就知道。不知道,没关系,不影响我们学习HTTP协议。

Content-Length:264
就是内容长度,我们知道有些服务器是对请求内容长度大小有限制的。

Refer:
这是一个应用和下面的Origin起始来源不一样。

 

接下来看看POST请求的正文部分,如果是POST请求,一般参数都是放在正文中,GET请求正文是空白的,POST请求是有正文的。

上面红圈是转码过的内容,有些看不大懂,我们可以切换到下图去看得懂这些参数。切换到webForms,表单提交方式去看。

这个接口自动化测试就是,我在后台配置的板块的名称。

关于HTTP请求的实战就到这里,下一篇做HTTP响应的实战。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值