http
是什么
是超文本传输协议
首先是一个协议,协议是计算机之间通信的规范
传输就代表http是两台计算机之间传输数据的协议
超文本就是值http传输的内容,是混合了文字、图片、音频、超链接等内容的结构文本,html就是一种超文本数据格式
---http是一个在计算机世界里在亮点之间传输文字、图片等超文本数据的约定和规范
HOW实现
相关的协议(理论)TCP/IP(有层次的协议栈) DNS URI HTTPS
有什么特点,优点,缺点
-
灵活可扩展,之规定了报文的基本格式,发展很快
-
可靠传输,因为TCP是一个可靠的传输协议
-
是应用层协议,几乎可以传一切东西
-
请求-应答的通信模型,契合传统的C/S系统家翁吧,发展处了B/S架构
-
无状态,状态需要内部维持一些数据
优点:灵活、简单和应用广泛跨平台
缺点:无状态和明文,不安全(身份验证和完整校验),性能(TCP的对头阻塞,http2和3可以解决
有什么用
相关的应用技术(应用)互联网、浏览器
具体实现
大文件
链接管理
重定向
缓存策略
-
首先看缓存是否有效,主要是catch-control和expires,双方约定是否要缓存下来,catch-control有max-age,no-catch和no-store
-
在有缓存的情况下怎么利用缓存数据,就是条件请求,满足一定条件下请求新数据,主要是用if-开头的几个字段来标志,随着响应一起到达,用缓存的etags来询问服务器if-none-match,用缓存的last-modify来询问服务器的if-modify-since,服务器返回304则使用缓存
cookie
httpS
是什么
来源:明文和不安全,什么是安全,完机身不
https是为http增加了四大安全特性的新协议
How实现
把TCP、IP换成了SSSL/TLS(HTTPovertcp/ip-->Http over SSL/TLS)传输层安全TLS由一些协议组成,使用了密码学的前沿技术,使用TLS建立链接的时候要用密码套件来进行通信
对称加密和非对称加密
数字签名与证书
机密性:使用加密算法加密
完整性:摘要算法,哈希函数计算出源数据的数字指纹,源文后面附上摘要,一起加密后传输
身份认证:用私钥对摘要加密(因为效率低),形成数字签名,数字签名跟公钥一样也是完全公开的
公钥的信任问题:数字证书,由第三方信任中心,来给公钥签名认证
Http2/3
来源,主攻性能
HOW
头部压缩
二进制格式,文本打散成二进制帧
为此定义了流,可以再一个流上传多个碎片化消息,也就是多路复用
改变请求-应答模式,可以服务器推送
强化安全,
Http3 完全解决对头阻塞,因为tcp有丢包重传