作者:晨钟暮鼓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]相关推荐

  1. java控制关键字continue,break,return

    java控制关键字continue,break,return /*** break 可以停止循环继续执行 只能停止最内层的循环* 如果想停止外层for循环 需要给外层循环做标记* continue 停 ...

  2. java库函数-----Math库函数(每日一更)

    java库函数-----Math库函数(每日一更) 目录区 Java中的数学函数的应用:Math.sin,Math.exp. 源码区 /** Copyright (c) 1994, 2013, Ora ...

  3. 【Java基础】(六-上)java控制流程——顺序结构和分支结构

    控制流程写一篇太长,就像之前第三篇一样,我回过头都不想看,所以分成了两篇,小巧精致,挺好. java控制流程 1. 控制流程是个什么东西? 2. 控制流程的分类 (1)顺序结构 (2)分支结构 一.i ...

  4. Java基础知识面试题每日三道 追梦:第二天

    Java基础知识面试题每日三道 追梦:第二天 1.什么是类和对象? 类和对象的区别? 类是对象的抽象,而对象是类的具体实例. 类是抽象的,不占用内存,而对象是具体的,占用存储空间. 类是用于 创建对象 ...

  5. java控制excel_利用Java控制EXCEL实例详解

    利用Java控制EXCEL实例详解发布者:本站     时间:2020-05-06 15:05:43 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵 ...

  6. 计算机分组交换原理,计算机网络原理 X.25分组交换网(公共分组交换网)

    计算机网络原理X.25分组交换网(公共分组交换网) 公共分组交换网是一个以数据通信为目标的公共数据网(PDN,Public Data Network),它是在一个国家或全世界范围内提供公共电信服务的数 ...

  7. 最大质因数 最大回文数乘积 字符串String类用法_Java每日练习题及题解(11月16日)

    <Java每日练习题及题解>系列目录 1.有限条件求和_Java每日练习题及题解(11月15日) 2.最大质因数 最大回文数乘积 字符串String类用法_Java每日练习题及题解(11月 ...

  8. 电动力学每日一题 2021/10/11

    电动力学每日一题 2021/10/11 日复一日,必有精进! (a) Integrating the DDD-field over the surface of the sphere of radiu ...

  9. Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类

    Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...

最新文章

  1. Python 数据类型
  2. BZOJ2877 NOI2012魔幻棋盘(二维线段树)
  3. python太慢了-python 读取大文件越来越慢
  4. 全球增长最快域名解析商Top10:DNSPod新网上榜
  5. TikTok面临用户流失、苹果iOS14公测、无代码定义下一代软件等| Decode the Week
  6. Oracle连接字符串记录
  7. 【RabbitMQ】8、RabbitMQ之mandatory和immediate
  8. 前端学习(1727):前端系列javascript之需求分析
  9. beanutils.copyproperties属性值丢失_[ASP.NET Core 3.1]浏览器嗅探解决部分浏览器丢失Cookie问...
  10. 面试官:HashSet是如何保证元素不重复的?
  11. android wear ios表盘,秒杀 Apple Watch,Android Wear 又有 17 款新表盘可以玩啦!
  12. 解决nginx反向代理缓存不起作用的问题
  13. 关于哈希表,你该了解这些!
  14. 精彩案例:一碗牛肉面的思考
  15. ORL Character Recgnition
  16. html5实现对试题图片批改效果,类似盖章效果
  17. 泛泰 A870 4.1.2 刷第三方专用Recovery合集
  18. 无线路由器当成服务器,把无线路由器设置成服务器
  19. [BUUCTF] 洞拐洞拐洞洞拐
  20. 什么是 Web 应用防火墙(WAF)?

热门文章

  1. 全连接层解决MNIST
  2. 黑马程序员--一段给后者的面试总结
  3. halcon字符识别快速入门
  4. unity性能优化小技巧【一】
  5. flv.js无法播放http-flv视频流(带音频)
  6. Tarjan算法——边双和点双
  7. JVM第六讲:线上环境 FGC 频繁,如何解决?
  8. 20N60-ASEMI高压N沟道MOS管20N60
  9. java使用证书双向认证
  10. 转腾讯产品总监的一篇博文