Java知识体系深度理解
1 post请求和get请求异同点
①无论是POST还是GET请求,都是基于超文本传输协议(HTTP)的,而HTTP协议是TCP/IP协议族的应用层协议。
HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body
给POST带 上url参数,技术上是完全行的通的
② POST和GET请求区别的常见误区 3.1 请求参数长度限制:GET请求长度最多1024kb,POST对请求数据没有限制
关于此点,在HTTP协议中没有对URL长度进行限制,这个限制是不同的浏览器及服务器由于有不同的规范而带来的限制。
③ POST比GET安全性要高
这里的安全是相对性,通过GET提交的数据都将显示到URL上,页面会被浏览器缓存,其他人查看历史记录会看到提交的数据,而POST不会。另外GET提交数据还可能会造成CSRF 攻击
④ GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和B/S (浏览器/服务器) 的限制,导致他们在应用过程中体现出一些不同;
GET产生一个TCP数据包;POST产生两个TCP数据包
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)
并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次;注意,尽管POST请求会分两次,但body 是紧随在 header 后面发送的,根本不存在『等待服务器响应』一 说。
2 Java对象的序列化和反序列化
Java 中对象的序列化就是将对象转换成二进制序列,反序列化则是将二进制序列转换成对象。采用Java序列化与反序列化技术:
- 一是可以实现数据的持久化,落地;
- 二是可以对象数据的远程通信
序列化:ObjectOutPutStream
反序列化:ObjectInPutStream 加载
注意:被静态关键字static和瞬态关键字transient修饰的成员变量不能被序列化
Java知识体系深度理解的更多相关文章
- Java知识体系
Java知识体系 java知识结构.jpg web框架.jpg 计算机课程体系.png 2016-08-19_090929.png 流行的哈希算法生存状况.jpg "JAVA之父" ...
- Java知识体系纲要
最近一段时间,把Java主要涉及到的大概念都大致学习了一遍,为了让自己能够更好地形成对Java知识体系的整体把握,先把学过的知识点添加到自己画的思维导图上. 整个Java知识体系的划分,我自己主要将它 ...
- Java知识体系思维导图
Java知识体系,为方便预览,将思维导图上传至印象笔记,博客园直接上传图片受限于图片大小,暂时接触这么多,待以后丰富 https://app.yinxiang.com/shard/s24/nl/272 ...
- Java知识体系框架
前言:自从出生,每个人都是一个学习者或探索者.永远保持一颗谦逊的心态,遵循一定的方法和规范,去学习和实践,永远记得走走停停,多回头看看自己走过的路,温故而知新,也能更好地指导未来的路怎么走(同样,本篇 ...
- java知识体系(自我学习中)
java自我学习知识体系
- java 知识体系
java分成J2ME(移动应用开发),J2SE(桌面应用开发),J2EE(Web企业级应用),所以java并不是单机版的,只是面向对象语言.建议如果学习java体系的话可以这样去学习: *第一阶段:J ...
- 【转】Java开发必须要知道的知识体系
Java Java是一门超高人气编程语言,拥有跨平台.面向对象.泛型编程等特性.在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:非Java莫属.今天只是梳 ...
- from: Java开发必须要知道的知识体系
from: https://zhuanlan.zhihu.com/p/21895647 作者:靳洪飞链接:https://zhuanlan.zhihu.com/p/21895647来源:知乎著作权归 ...
- Java深度理解——Java字节代码的操纵
导读:Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展.但是对于 Java语言的深度理解和运用,毕竟是很少会有人涉及的话 ...
- 【从刷面试题到构建知识体系】Java底层-synchronized锁-1
在技术论坛中,经常看到一种言论:面试造火箭,干活拧螺丝.我们平时写的大部分代码的确是CRDU,再提一个层次,也无非就是揉进去复杂一些的业务逻辑,把一堆的CRDU组合起来. 那么问题来了:我们提倡的研究 ...
随机推荐
- 【java】MVC模式和三层架构
MVC是一种分层开发的模式 M:Model,业务模型,处理业务,存储数据,获取数据.JavaBean对象 V: View , 视图,界面展示,展示数据.JSP或HTML C: Controller, ...
- dart的基本使用
1.windows上环境搭建 (1) 在dart官网上下载对应的sdk安装即可.归档 | Dart (2) 使用vscode开发,安装dart插件和Code Runner插件即可. 2.Dart ...
- Vue 双向绑定
devtools工具 使用devtools工具可以让你更加方便的查看到Vue实例中数据的变化. 在chorme商店搜索安装即可. 双向绑定 v-model 双向绑定一般都是与input家族进行绑定. ...
- linux kernel 常用函数记录
offsetof是用来判断结构体中成员的偏移位置 container_of宏用来根据成员的地址来获取结构体的地址 bitwise 是用来确保不同位方式类型不会被弄混 (小端模式,大端模式,cpu 尾模 ...
- supertv
Banben:1.3BanbenendGengxinnr:死宅1.2更新内容:[换行]- 增加视频分享[换行]- 支持浏览器打开观看视频GengxinnrendDownurl:http://bmob- ...
- C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转)
前言 多线程刷新界面主要用到多线程,委托,线程安全.事件等一系列高难度的C#操作. 1.使用timer控件对要刷新的控件进行定时刷新 对刷新频率要求不高的时候,可以使用该方法. 2.刷新UI控件 在开 ...
- spring boot2 jpa分页查询百万级数据内存泄漏
分页查询百万级数据,查询处理过程中发现内存一直飙升,最终处理程序会挂掉,通过jvisualvm可以发现频繁ygc 和fgc ,另外通过 jmap -histo:live ${pid} 命令可以看到jp ...
- WSL2安装了Ubuntu之后root不知道密码
更新了WSL2,安装完 Ubuntu 只要求新建账号和密码,不知道root密码,各种不方便Ubuntu 的默认 root 密码是随机的,即每次开机都有一个新的 root 密码在终端输入命令 sudo ...
- VUE前端请求跨域问题解决
解决方法: vue.config.js文件配置: module.exports = { devServer: { open: true, host: '192.168.1.193', port: 80 ...
- Win10家庭版安装docker desktop
1.开启Hyper-V在桌面新建hyperv.cmd文件,内容如下: pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*H ...