IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Http 随笔 1.0~1.1~2.0 -> 正文阅读

[网络协议]Http 随笔 1.0~1.1~2.0

0. 其实Http的水很深,一开始我当然是不相信的…

Http 1.1 新增~流支持 by segmentfault-henat9
springmvc demo Http 1.1 返回流 by oschina-文文1
HTTP1.0、HTTP1.1 和 HTTP2.0 的区别 by cnblog- _浪潮之巅.☆
HTTP/2 相比 1.0 有哪些重大改进?by 来自逼乎一众大佬的补充
Http研究的一个完整专题 by cnblog-月下小魔王

Http抓包工具wireshark使用教程(用到再说了) by Jack_孟


Java端的具体实现

okhttp&httpClient对比 by 360doc-liang1234_

HttpClient的两种负载数据demo:UrlEncodedFormEntity 和 StringEntity by oschina-LeoXu
MultipartEntityBuilder文件类型数据负载demo by 纯净天空

深入理解OkHttp源码 by CSDN-xingfeng_coder
OkHttp中响应的toString()只能有一次 by 开发者知识库-m_xiaoer


HTTP 协议入门 by 阮总(还就那个虽迟但到)

1.http 1.0

因为连接是无状态的,每次请求/应答都需要创建一顿"握手"操作

2. http 1.1

keep-alive
	默认连接模式为keep-alive(新增的)
	基于网络层TCP协议实现的
		每隔一段时间ACK以等待客户端应答(有点“心跳”的意思)
	长连接下传输多个内容如何辨识各自的偏移不会紊乱?
		方式一:请求头属性Content-Length=>提前告知每个内容的长度
		方式二:请求头属性:Transfer-Encoding:chunk=>此时传输内容被划分成若干个chunk(包、块的意思)=>读取到内容中的标识位即为不同的内容了

3. http 2.0(基于 google SPDY协议,顺带一提,SPDY不是首字母缩写,仅是’speedy’缩写)

Http 2.0 消息格式(抽象版):
请添加图片描述

Http 2.0 消息格式(美图版):
请添加图片描述

多路复用
	允许多个请求/应答并行的共享一个TCP连接
	每个TCP连接是一个session,每个请求拥有一个stream id
		stream id允许配置之间的优先级、依赖关系
	实现方式:二进制分帧	
		在应用层(Http)和传输层(TCP)中加入分帧层
		将消息切分做一个一个“帧”(frame)单位来传输
		

服务端推送
	对于客户端的一个请求,响应多个应答
	支持缓存,即便是不同的页面之间
	需要手动开启
	同为长连接方案与websocket协议的关系?
		websocket提供了一套API,并且有自己的帧协议 
		websocket建立/释放连接借助了Http,数据传输却没有关系
		SPDY的长连接方案原意是优化web页面加载,websocket则强调双工通信的API

支持头部压缩	

Http 2.0 多路复用的一次连接过程:请添加图片描述

4. Https

请添加图片描述

成本
	需要CA证书,基本靠一手交费
传输
	Http明文、Https基于SSL/TLS加密后
端口
	Http 80,Https 443
防劫持
	Https支持防止运营商的劫持	

5. 不同版本迭代中的优化思路

不同于进程间的IO的性能因素,限制socketIO的性能因素:
	带宽
		可以理解做"网速",主要受通信设施的建设水平
			=>那么程序需要做的就是保证客户端(浏览器)的接收不要受到队列阻塞,最大程序利用好带宽
	延迟(从内到外,一步一步说)
		Http基于TCP,那么Http也将收到重复多余的“握手”、大请求时的慢启动的影响
			=>Http 2.0 支持的多路复用,可以减少重复的"握手"
			=>Http 2.0 支持的多路复用,可以减少连接数,进而缩短TCP的慢启动时间
		只要想请求服务,那么必将先过DNS查询,才能得知服务端IP(影响不大,可缓存DNS以优化)
		浏览器等客户端环境带来的、著名的 Head-of-line blocking
			=>绕过同源限制,搭建多个CDN
			=>Http 2.0 支持的多路复用,可以减少占用的连接数

其他需要解决的问题:
	向下兼容旧版本
		SPDY协议 处于Http之下,TCP、SSL/TLS之上(这部分语义保留)
		只是对Http 1.x的消息做了一次封装(frame)

HOL-blocking:
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 11:46:20  更:2021-10-13 11:47:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:23:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码