Discussion on GET and POST
2024-04-21 00:31:29

前些天学习了对Get,Post,URL,burp,hackbar,web前端查看元素的相关知识,它加强了我对Get,Post的理解,对burp,hackbar有了新的认识,对web前端查看元素(shift+ctrl+c)有了不同的感触。

URL

服务器+端口+路径,说白了,就是网址。。。

Get与Post的区别

图片.png
GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息(比如提交表单的内容)
GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接;
例 如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用url加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。

GET请求方式将请求信息放在URL后面,请求信息和URL之间以?隔开,请求信息的格式为键值对,例如 https://baike.baidu.com/item/Python/407313?fr=aladdin,这种请求方式将请求信息直接暴露在URL中,安全性较低。另外从报文结构上来看,由于请求信息放置在URL中,因此请求报文中不需要报文体。

POST请求方式将请求信息放置在报文体中,相获得请求信息必须解析报文,因此安全性较GET方式要高一些(事实上要获得报文体中的请求信息也是很容易的,因此安全性上两者并没有太多的区别,具体解决传输过程中的安全性问题还要靠HTTPS),此外在请求报文中含有报文体。

  由于GET中的请求信息放置在URL中,因此是有长度限制的,因为URL本身是有长度限制的。POST中的请求信息是放置在报文体中,因此对数据长度是没有限制的。

总结一下,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为”GET”,实质上,GET和POST只是发送机制不同,并不是一个取一个发!

Hackbar

乍一听比较高端,其实它就是个插件而已,火狐浏览器在插件中搜索它就会看到。虽然它是个插件,但是它为我们提供了不小的便利。
安装好后,F12查看图片.png
这就是我们的奇妙的Hackbar,图片.png第一个按钮会给我们将URL展示出来,我们可以肆意在URL加GET请求(以?分割)
第二个按钮,剪刀的样子,很明显,它起到分割换行的作用,
第三个则是运行相当于我们输入完网址按回车键一样。
图片.png

这些分别是POST,访客来路途径,使用者代理,终端数据

通过留言板对POST,GET认识

在写完留言板之后,回顾代码,我发现用到POST的地方别多,代表是传值,而通过传值可以把用户的数据传到数据库中,十分方便,这改变了我对POST抽象的认知,而GET ,通过发送请求可以把想要的数据显示出来,即完成了从数据库索取数据。

学习方法总结

在留言板之前,所写的内容全部都是理论,而在写完留言板之后,进行了对理论认知的更新,这便是理论与实践相结合,大大改变了我们对理论抽象的认识。对于学习新的知识我们可以先进行理论的大概学习,再通过进行项目实践,来感知这些新的事物,你会发现那些你曾经在学习中受到困扰的问题,都会在实践中迎刃而解。

Prev
2024-04-21 00:31:29
Next