java控制面 apphangb1_Java每日一面(Part1:计算机网络)[19/11/25]
作者:晨钟暮鼓c
个人微信公众号:程序猿的月光宝盒
## 1. HTTP相关[2]
1.1Get请求和Post请求的区别
从三个层面来回答:
1.1.1 从HTTP报文层面:
Get请求将请求信息放在URL后面,请求信息和URL之间用问号(?)隔开,多个请求信息之间用&隔开,形式是键值对的形式,且有长度限制.
Post请求是放在报文体中,想获得请求信息必须请求报文,因此,安全性较Get要高一些,但是可以通过抓包工具获取信息,所以不是绝对安全,具体还要靠https,没有长度限制
1.1.2 从数据库层面:
Get符合幂等性和安全性,Post不符合
幂等性:
对数据库的一次操作和多次操作获得的结果是一致的
安全性:
对数据库的操作没有改变数据库中的数据
1.1.3 从其他层面上看
Get可以被缓存,被存储,会被保存在浏览器的浏览记录中,以Get方式发送的URL可以保存为浏览器书签,而post不行
1.2 Cookie和Session的区别:
两者产生的原因:HTTP的最大特点:无状态,每次登陆某网站都要不厌其烦输入帐号密码,对此,就产生的Cookie和Session.
1.2.1 Cookie简介:
是由服务器发送给客户端的特殊信息,以文本的形式存放在客户端
客户端再次请求的时候,会把Cookie回发
服务器接收到后,会解析Cookie生成 与客户端相对应的内容
1.2.1.1 Cookie的设置和发送过程
客户端发送http请求到服务端,
服务端发送http响应到客户端,其中包括了Set-Cookie头部
客户端发送http请求到服务端,包括了Cookie头部
服务器发送http相应到客户端
1.2.2 Session简介
服务端的机制,在服务端上保存信息
解析客户端请求并操作Session id,按需保存状态信息
1.2.2.1 Session的实现方式
1.使用Cookie实现
服务器给每个Session分配一个唯一的JSessionID,并通过Cookie发送给客户端,当客户端发送新的请求的时候,将在Cookie头中携带JSessionID,这样服务器就能找到相对应的Session
2.使用URL回写实现
指服务器在发送给浏览器的所有页面中都携带JSessionID的参数,这样客户端点击任何一个连接都会把JSessionID的值传给服务端
1.2.3 Cookie和Session的区别
1.Cookie数据存放在浏览器,Session存放在服务器
2.Session相对Cookie安全
3.若考虑服务器负担,应当使用Cookie
1.3 HTTP和HTTPS的区别
1.3.1 HTTPS简介
是一个以安全通行为目的的传输协议,是一个安全版的Http
1.3.2 SSL(Security Sockets Layer,安全套接层)
1.为网络通信提供安全及数据完整性的一种安全协议
2.是操作系统对外提供的API,SSL3.0后改名为TLS
那么它如何保护安全及数据完整性?
采用身份验证和数据加密保证网络通信的安全和数据的完整性
1.3.3加密方式
1.对称加密:
加密和解密都使用同一个秘钥,性能较高,安全性相对不强
2.非对称加密:
加密和解密使用的秘钥都是不同的,分别称为公钥和私钥,性能较低,安全性超强
3.哈希算法:
将任意长度的信息转换为固定长度的值,算法不可逆(常见的MD5算法)
4.数字签名:
证明某个消息或者文件是从某人发出/认同的
1.3.4Https数据传输流程
1.浏览器将支持的加密算法信息发送给服务器
2.服务器选择一套浏览器支持的加密算法,以证书的形式回发给浏览器
3.浏览器验证证书的合法性,并结合证书公钥加密信息发送给服务器
4.服务器使用私钥解密信息,验证哈希,加密响应信息回发浏览器
5.浏览器解密响应信息,并对信息进行验证,之后进行加密交互数据
1.3.5 HTTP和HTTPS的区别
1.HTTPS需要到CA申请证书,HTTP不需要
2.HTTPS密文传输,HTTP明文传输
3.连接方式不同,HTTPS默认使用443端口,http使用80端口
4.HTTPS=HTTP+加密+认证+完整性保护,较HTTP安全
1.3.6HTTPS真的安全吗
未必
1.浏览器默认填充http://,请求需要进行跳转,有被劫持的风险
2.可以使用HSTS(HTTP Strict Transport Security)优化
以上,计算机网络部分结束
java控制面 apphangb1_Java每日一面(Part1:计算机网络)[19/11/25]相关推荐
- java控制关键字continue,break,return
java控制关键字continue,break,return /*** break 可以停止循环继续执行 只能停止最内层的循环* 如果想停止外层for循环 需要给外层循环做标记* continue 停 ...
- java库函数-----Math库函数(每日一更)
java库函数-----Math库函数(每日一更) 目录区 Java中的数学函数的应用:Math.sin,Math.exp. 源码区 /** Copyright (c) 1994, 2013, Ora ...
- 【Java基础】(六-上)java控制流程——顺序结构和分支结构
控制流程写一篇太长,就像之前第三篇一样,我回过头都不想看,所以分成了两篇,小巧精致,挺好. java控制流程 1. 控制流程是个什么东西? 2. 控制流程的分类 (1)顺序结构 (2)分支结构 一.i ...
- Java基础知识面试题每日三道 追梦:第二天
Java基础知识面试题每日三道 追梦:第二天 1.什么是类和对象? 类和对象的区别? 类是对象的抽象,而对象是类的具体实例. 类是抽象的,不占用内存,而对象是具体的,占用存储空间. 类是用于 创建对象 ...
- java控制excel_利用Java控制EXCEL实例详解
利用Java控制EXCEL实例详解发布者:本站 时间:2020-05-06 15:05:43 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵 ...
- 计算机分组交换原理,计算机网络原理 X.25分组交换网(公共分组交换网)
计算机网络原理X.25分组交换网(公共分组交换网) 公共分组交换网是一个以数据通信为目标的公共数据网(PDN,Public Data Network),它是在一个国家或全世界范围内提供公共电信服务的数 ...
- 最大质因数 最大回文数乘积 字符串String类用法_Java每日练习题及题解(11月16日)
<Java每日练习题及题解>系列目录 1.有限条件求和_Java每日练习题及题解(11月15日) 2.最大质因数 最大回文数乘积 字符串String类用法_Java每日练习题及题解(11月 ...
- 电动力学每日一题 2021/10/11
电动力学每日一题 2021/10/11 日复一日,必有精进! (a) Integrating the DDD-field over the surface of the sphere of radiu ...
- Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类
Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...
最新文章
- Python 数据类型
- BZOJ2877 NOI2012魔幻棋盘(二维线段树)
- python太慢了-python 读取大文件越来越慢
- 全球增长最快域名解析商Top10:DNSPod新网上榜
- TikTok面临用户流失、苹果iOS14公测、无代码定义下一代软件等| Decode the Week
- Oracle连接字符串记录
- 【RabbitMQ】8、RabbitMQ之mandatory和immediate
- 前端学习(1727):前端系列javascript之需求分析
- beanutils.copyproperties属性值丢失_[ASP.NET Core 3.1]浏览器嗅探解决部分浏览器丢失Cookie问...
- 面试官:HashSet是如何保证元素不重复的?
- android wear ios表盘,秒杀 Apple Watch,Android Wear 又有 17 款新表盘可以玩啦!
- 解决nginx反向代理缓存不起作用的问题
- 关于哈希表,你该了解这些!
- 精彩案例:一碗牛肉面的思考
- ORL Character Recgnition
- html5实现对试题图片批改效果,类似盖章效果
- 泛泰 A870 4.1.2 刷第三方专用Recovery合集
- 无线路由器当成服务器,把无线路由器设置成服务器
- [BUUCTF] 洞拐洞拐洞洞拐
- 什么是 Web 应用防火墙(WAF)?