本文是关于get,post等几种请求方式的资料搜集和学习,HTTP,HTTP2协议的涉及点,
然后提到了socket协议,RPC
先是和朋友的一些交流对话,问着问着就到了我的知识盲区。需要恶补一下这方面的知识了。
朋友问:get 的请求方式 ,是不是只是单方面接受服务器发送的数据?
我答:前半句和后半句,没关联吧?请求方式,所有的请求方式,都是能够接受数据的,就是格式啊,类型啊,方式啊 不一样
朋友问:get 发送的都是啥玩意,服务器怎么知道我需要给传回什么东西呢
我答:,,,你要发啥,对于Web来说,get 请求的参数有: 服务器端的请求地址和请求参数
朋友问:那不成了 post 了? 我网络通信非常浆糊
我答:get和post 都是请求方式啊, get会把参数信息展现在URL里面,post是隐藏起来的相对安全
朋友问:那为啥有人用get,都用post不行吗
我答:我说的是HTTP的 8种请求方式,还有另外一种 restful风格的 请求,就是 get post put 和 delete,这四个分别代表增删改查 四种请求
朋友问:语境不同?不是一个东西对吧
我答:嗯,得看你服务器用的什么框架,或者规则。 现在流行的是 restful风格,你项目中涉及到了还是?
朋友问:完犊子,这下更懵逼了。 在学一个网络框架。https://square.github.io/okhttp/
我答: (有一个图,里面的构造方式和protobuffers的Builder方式很像)这种Builder的构建方式,和我学netty时候用到的两个RPC框架的构建方式好像。
朋友问:这里get和post 和http里的get和post 是不是一个东西?
我答:功能都是 为了 接收和发送,但是具体实现的,就看他们底层了呀,可能这个 框架对请求方式加强了吧
朋友问:我觉得是一一对应。
我答:嗯,HTTP的8种请求方式,我明白了。 这个框架吧,他对请求方式加强了,比如你用这个框架的post方法,能实现HTTP默认post的功能,然后呢又避开了默认弊端,之前我们学的javaweb 还有安卓里面的调度,什么SpringMVC啊,默认的请求方式就是使用 HTTP协议。我现在学习的netty,他们的传输协议就用的是比较流行的RPC框架,况且现在的以前只有HTTP1.0版本和1.1版本,现在HTTP2 都开始已经普及了,基于你最开始问的问题,你学的话,把整体的HTTP的协议给学习一遍会好一点。
朋友问:RPC 脱离了 http?RPC框架传输现在一般都是socket协议吧, socket长连接。socket 就是为了弥补HTTP不能实现长连接的缺陷诞生的。这是我的理解。
和朋友沟通完之后,我觉得我对这些东西也都是一知半解,我还是老老实实的恶补一下吧,交流完之后我也心虚了。毕竟我也没有坐那里专心的学习过。哈哈。
GET和POST有什么区别?
转载引用:
https://www.cnblogs.com/nankezhishi/archive/2012/06/09/getandpost.html
https://www.w3school.com.cn/tags/html_ref_httpmethods.asp
https://www.runoob.com/http/http-tutorial.html
等等等等 ------- 还在学习ing