在做题目的时候,经常见到POST和GET请求
他是http协议的常见请求方式:那该如何区分呢?
字面上理解

GET是从服务器上面获取数据,POST是向服务器传送数据


具体是有以下区别:
1
2
3
4
5
:GET请求方式是把参数放在url里边的,Post请求的参数,是在请求体里的
:GET请求是可以被浏览器缓存的,而post缓存不能被缓存
:GET请求的参数是在url里边,因此url会受限制,而post长度并没有限制。
:GET请求的参数放到url里边,安全性比较差,而post请求参数是在body当中,安全相对来说较好一点。
:GET请求可以直接通过浏览器访问,支持刷新和后退,而post请求不能直接使用浏览器访问,刷新后数据要重新发送

举个web的题型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

highlight_file('index.php');

include("flag.php");

$id=$_POST['id'];

$json=json_decode($_GET['json'],true);

if ($id=="wllmNB"&&$json['x']=="wllm")

{echo $flag;}

?>

这个里面包括get也有post,使用php当中的json_decode参数, get传入的json进行json解码
因此post传递id=wllmNB

get: json={“x”:”wllm”} post:id=wllmNB 输入之后就有flag了