工具:
- PHP、Apache服务器,端口号这里设置为8000,如果本机没有安装php环境,可以选择wamp或者xampp集成的php环境开发器
- fiddler是比较好用的抓包工具,它是免费的,具体使用我们不单独介绍。
1.模拟form表单提交数据
html表单写法
<form action="http://127.0.0.1:8000/test.php" method="post" >
<input type="text" name="name">
<input type="submit" value="提交">
</form>
method改为post
,get
去体会它们的区别
- 最大的区别是get
方式,提交的话会将提交的数据放在url中,如http://127.0.0.1:8000/test.php?name=hello
post
请求提交的name=hello会放在header请求体内,具体位置在【报文主体】
- get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB
- 其实,两种方式都可以向服务器传送数据,向服务器上获取数据。
test.php
<?php
$name1 = $_POST['name'];
$name2 = $_GET['name'];
echo "$name1";
echo "$name2";
?>
完整的请求头是
POST http://127.0.0.1:8000/test.php HTTP/1.1
Host: 127.0.0.1:8000
Connection: keep-alive
Content-Length: 10
Cache-Control: max-age=0
Origin: null
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
<