HTTP、HTTP2、HTTPS、SPDY等的理解及在spring-boot中的使用
一、缩写含义
Http:HyperText Transfer Protocol,超文本传输协议
Http2:HyperText Transfer Protocol 2.0,超文本传输协议2.0
Https:Hyper Text Transfer Protocol over Secure Socket Layer,基于SSL的超文本传输协议
SPDY:“speedy”的缩写(未考证),读作“SPeeDY”
二、起源及作用
Http是用于从WWW服务器传输超文本到本地浏览器的传输协议,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。其中RFC 2616定义了HTTP 1.1,即现在通常所说的http协议。
Https,安全套接字层超文本传输协议,在http协议基础上加入了SSL协议,在结构上底层是tcp协议,之上是SSL协议,再之上是http,由于http是明文传输,容易被劫持和篡改,比如正常打开某些网站时出现不应有的广告,https由于加密则可以做到传输信息保密性,完整性和真实性。
Http2是对http协议的升级,支持单一连接多路复用,头部压缩,服务端推送等。在建立一个连接的基础上可以处理多个请求,对请求头部进行压缩。
SPDY是谷歌研究的基于TCP的应用层协议,是对HTTP的增强,IETF推出了类似于SPDY协议的HTTP2.0后,谷歌就放弃了对SPDY协议的支持。
三、spring中应用
在spring-boot中使用https,可以先用Java自带的keytool生成一个证书,之后在application.properties中配置端口和密码就行,也可以在配置类中配置。
https://docs.spring.io/spring...
使用https后,即可使用http2协议,因为:Spring Boot does not support h2c, the cleartext version of the HTTP/2 protocol.
只要在配置文件中配置属性server.http2.enabled即可
后记:实践不够,只能先理清概念,后续有更深体会再续补充。
补充知识
互联网协议分层:
HTTP、HTTP2、HTTPS、SPDY等的理解及在spring-boot中的使用相关推荐
- Spring Boot中DAO层和Service层等理解
Spring Boot中DAO等层的理解 1 DAO层 2 Service层 3 Controller层 4 Entity层 5 View层 6 Utils层 总结 目前在公司实习python算法研究 ...
- SpringBoot精通系列-Spring Boot中如何配置Https
导语 Https作为一个比较安全的协议,现在已经越来越普及了,特别是在完成小程序或者是公众号开发的时候,https基本上都是刚需了.但是一个HTTPS的证书是比较费钱的事情,个人开发者可以通过云 ...
- springboot转发http请求_Spring Boot2 系列教程(八)Spring Boot 中配置 Https
https 现在已经越来越普及了,特别是做一些小程序或者公众号开发的时候,https 基本上都是刚需了. 不过一个 https 证书还是挺费钱的,个人开发者可以在各个云服务提供商那里申请一个免费的证书 ...
- 如何理解 Spring Boot 中的 Starters?
如何理解 Spring Boot 中的 Starters? Starters是什么: Starters命名: Starters分类: Starters是什么: Starters可以理解为启动器,它包含 ...
- 在Spring Boot中启用Http2.0
HTTP2.0特性 通俗易懂篇:https://www.cnblogs.com/yingsmirk/p/5248506.html 深入了解篇:https://www.jianshu.com/p/67c ...
- spring boot 中启用 https
为什么80%的码农都做不了架构师?>>> 获取证书 https 是加密链接. 是需要证书的. 那么证书从哪里取得呢? 在本地测试的时候, 可以自己生成一个 tomcat 的证书, 可 ...
- 如何理解 Spring Boot 中的 Starters
Starters是什么 Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring 及其他技术,而不需要到处找示例代码和依赖包.如你想使用Spring J ...
- Spring Boot中声明式数据库事务使用与理解
JDBC的数据库事务 传统JDBC的数据库事务的一个示例如下代码所示,该示例仅为一个insertUser方法的数据库事务过程.可以看到,如果还存在很多其他的数据库事务需要,则需要编写很多类似于如下的代 ...
- 对于spring boot的理解
转载自:https://blog.csdn.net/ricohzhanglong/article/details/80240715 Spring Boot在众多从事Java微服务开发的程序员群体中是一 ...
- Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS
本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...
最新文章
- 奶牛排序 cow sort 置换群
- Nature官方劝退读博:全球七成博士对前途迷茫,36%自认有过心理疾病
- Advanced Linq - Dynamic Linq query library: Add support for 'Contains' extension
- ES6中箭头函数解释
- python常用代码总结-python字典的常用方法总结
- mongo14-----group,aggregate,mapReduce
- vs2015 动态链接库问题
- Redis源码分析系列十一:createClient后面内容
- SPI TFT液晶屏与Arduino Uno 连接
- 在线客服功能介绍-了解常见在线客服系统的功能点
- JQuery-Snowfall降雪插件使用
- 《关于TCP SYN包的超时与重传》——那些你应该知道的知识(四)
- wqewqewqewq
- 青藏高原对印度意味着什么呢?
- Linux apr-util安装
- Glide加载部分图片不显示问题
- 魔塔小游戏Java版项目
- 大学四年到现在的阿里技术专家,我做了啥?
- c++中不区分大小写比较字符串大小
- 2022年全球市场ERP系统服务研究报告