HTTP协议HTTP请求方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议HTTP请求方法相关的知识,希望对你有一定的参考价值。

对于HTTP请求报文,下面介绍一些需要重点了解的内容。
首先,在请求行中比较重要的是请求方法。请求方法用于客户端向服务端传送数据,主要有Get和Post两种方法。
Get方法通过URL向服务器发送数据,所以使用Get方法传递的数据会显示在浏览器地址栏中。由于浏览器对URL的长度会有限制,所以Get方法通常用于向服务器发送少量数据。比如请求头“GET index.php?id=1 HTTP/1.1”,表示客户端请求访问服务器的index.php页面,并用Get方法向服务器传递数据“id=1”,id是在服务器端事先定义好的一个参数,数值1就是客户端所传送的数据。如果要同时传递多个参数,参数之间以&分隔,如id=1&name=admin。
Post方法将要发送的数据放在HTTP请求报文的正文中,所以传递的数据不会显示在浏览器地址栏中。可以用于向服务器发送大量数据,如用户登录、上传文件、提交留言等都会使用Post方法。典型的Post请求报文如下图所示。
技术分享图片

例题1 BugKu web基础$_GET
链接:http://123.206.87.240:8002/get/
点开链接之后,直接给出了代码,用get方法接收what参数的值,只要what的值为flag,那么就可以得到flag。

$what=$_GET[‘what‘];
 echo $what;
 if($what==‘flag‘)
 echo ‘flag{****}‘;

直接通过地址栏向服务端发送数据即可。
技术分享图片

例题2 BugKu Web基础$_POST
链接:http://123.206.87.240:8002/post/
与上一题类似,用post方法接收what参数的值。

$what=$_POST[‘what‘];
echo $what;
if($what==‘flag‘)
echo ‘flag{****}‘;

这里就涉及到如何通过post方法向服务端发送数据。推荐在firefox浏览器中安装hackbar插件,通过设置项中的“附加组件”搜索并安装即可。
安装完成后,通过查看元素或F12都可以调出hackbar。然后载入链接,并发送post数据即可。
技术分享图片

以上是关于HTTP协议HTTP请求方法的主要内容,如果未能解决你的问题,请参考以下文章

怎么用http协议实现安卓数据

Linux--网络2(应用层)

Linux--网络2(应用层)

HTTP协议以及HTTP请求中8种请求方法

Flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform(代码片段

Http协议总结