最近项目不是很忙,看起了别人写到java代码。后端返回数据都是用一个叫payload的类,然后就就引出了http相关的疑问。
一、get和post
1.什么是get
之前浅浅的学到get方法不安全,post方法安全。所以要用post。后来百度了发现好像不是这么回事。
get,就是向某个地方获取一些数据,这个获取的过程可以理解为一个简单的查询,没有造成什么影响,专业名词叫做“幂等”,意思是:在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。
所以这种类型的请求可以被缓存,下次有同样的请求就直接从缓存读取,不用浏览器再次发送请求。
get请求一般是通过url,url里面拼接上参数
2.什么是post
post是希望服务器做某项操作,也就是不幂等。因为是设计成有影响的操作,所以它不能被缓存。
post请求一般都是表单提交,可以在body里面携带数据。
所以网上说的安不安全只是因为get请求是可以在url看到,post请求是需要看一下开发者工具而已。
以上是再来浏览器的环境下的规则,如果是在两个服务之间或者是postman之类的工具,就没有那么多限制。只要是符合HTTP格式的就可以发。
参考:/question/28586791
二、http请求是什么样子的,怎么弄出、发送一个http请求
http请求简单格式,这里在浏览器中http请求的样子
post 某某路径 http1.1
Content-type:application/json // 这里定义的是body的格式
{
data:{} //这里是请求内容,上面定义的是json所以这里也要是json的请求参数
}
如果是Ajax或者其他HTTP Client发出去的POST请求,其body格式就非常*了,常用的有json,xml,文本,csv……甚至是你自己发明的格式。只要前后端能约定好即可。
参考:/ailunlee/article/details/90600174
实现postman发送一个请求,利用java原生处理请求,并返回
-- 待处理
三、数据在网络的传输