HTTP基础知识知多少

个人博客地址 http://dandanlove.com/

HTTP发展时间轴

HTTP发展时间轴

HTTP瓶颈

  • 1.一条连接上只可发送一个请求
  • 2.请求只能从客户端开始,客户端不可以接收除响应以外的指令
  • 3.请求/响应首部未经压缩就发送
  • 4.可任意选择数据压缩格式,非强制压缩发送

HTTP性能的拯救者--SPDY、HTTP2、WebSocket

一、使用SPDY后,HTTP获得的额外功能:

  • 1.多路复用,但是是单域名的多路复用
  • 2.赋予请求优先级
  • 3.压缩HTTP头部 请求和响应的头部都压缩
  • 4.推送功能

二、HTTP2基于SPDY,区别在于:

  • 1.HTTP2.0 支持明文 HTTP 传输,而 SPDY 强制使用 SSL
  • 2.HTTP2.0 消息头的压缩算法采用 HPACK,而SPDY 采用的是 DEFLATE

HTTP安全的拯救者--HTTPS

  • 1.HTTPS = HTTP + 加密 + 认证 + 完整性保护
  • 2.HTTPS是身披SSL外壳的HTTP
  • 3.SSL是独立于HTTP的协议,是当今应用最为广泛的网络安全技术
  • 4.SSL vs TLS:
  • SSL:Secure Socket Layer,安全套接层,最初由网景通信公司倡导,主导权交由>- IETF手中后,IETF以SSL3.0为准,后又制定了TLS。
    TLS:Transport Layer Security,安全传输层协议
    当前主流的版本是SSL3.0和TLS1.0。

关系图

关系图

HTTP Header的作用

  • 1.从协议层面提供缓存策略
  • 2.与提升速率相关的一些配置
    2.1 gzip压缩 支持内容压缩
    2.2 Range 支持断点续传
  • 3.其他特殊作用
    3.1 multipart 支持多类型内容组合发送
    3.2 Keep-Alive 支持长连接
    3.3 Host 支持虚拟主机技术
    3.4 Referer 记录请求发起的源头页面

HTTP的缓存机制

HTTP的缓存机制

HTTP缓存是否过期的判断

判断公式:

缓存过期判断公式

计算和判断依据:RFC2616

GZIP

GZIP

HTTPS的安全通信机制

HTTPS的安全通信机制

需要做的几件事:

Client端如何验证证书的有效性

  • 1.根证书、证书信任链
    根证书不需要被证明
    除了根证书,其它证书都要依靠上一级的证书,来证明自己。
  • 2.SSL证书验证失败有以下三点原因:
    SSL证书不是由受信任的CA机构颁发的
    证书过期
    访问的网站域名与证书绑定的域名不一致
  • 3.系统会默认安装一些根证书:
    DOS窗口里运行“certmgr.msc”
    安卓手机默认安装的根证书
  • 4.目前58APP是如何支持Https的?
  • 5.抓包工具为什么能明文显示HTTPS的内容?

华为手机默认安装的根证书

华为手机默认安装的根证书

SSL的加密及完整性保护

  • 1.通信线路的加密:SSL或TLS将整个通信线路进行了加密,使用的非对称加密对通信线路进行加密。
  • 2.通信内容的加密:对报文主体进行加密
  • 3.完整性保护:MAC(Message Authentication Code)报文摘要
  • 4.常用的的加密算法:
    非对称加密算法:RSA,DSA/DSS
    对称加密算法:AES,RC4,3DES
    HASH算法:MD5,SHA1,SHA256

SSL的认证

  • 1.通过证书来确保:某个站点确实就是某个站点。
  • 2.证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名;
  • 3.要获取HTTPS证书,请执行以下步骤:
    步骤1:创建私钥和证书签名请求(CSR)
    步骤2:获取HTTPS证书
    步骤3:证书配置在Server端
  • 4.签发机构
    自我签发、CA(Certificate Authority)机构签发
  • 5.证书类型
    单域名版、多域名版、泛域名证书/通配符证书
  • 5.验证等级(查看区别
    域名验证型(DV)、企业验证型(OV)、增强验证型(EV)

自签名证书

自签名证书

泛域名证书/通配符证书

泛域名证书/通配符证书

HTTP2的多路复用

  • 1.复用的是什么
  • 2.HTTP1.1的HTTP Pipelining,线头阻塞(Head ofline blocking)、管道化只能利用已存在的keep-alive连接,仅适用于GET和HEAD请求
  • 3.一些概念:
    Stream、Frame
  • 4.并发数

TLS 的扩展配置

  • 1.SNI、session tickets
    SNI:Server Name Indication,服务器名称指示,允许一个IP地址上多个域名安装多张证书。
    session ID:用于恢复被中断的会话。目前所有浏览器都支持的方法
    session tickets:针对session ID只保留在一台服务器上的缺点而生
  • 2.协议协商
    HTTP 1.1的Upgrade
    ALPN:Application Layer Protocol Negotiation,上层协议协商,就是在握手过程中,标明TLS里面是什么协议,例如 http2就是 h2c。由客户端给服务器发送一个协议清单,由服务器来最终选择一个。
    NPN:Next Protocol Negotiation,随着SPDY 被HTTP/2 取代,NPN 也被修订为ALPN
Upgrade

参考文献

1.《图解HTTP》;
2.<一个http请求的详细过程> http://www.cnblogs.com/yuteng/articles/1904215.html
3.<想不通HTTPS如何校验证书合法性来看> http://blog.csdn.net/jogger_ling/article/details/60576625
4.<数字证书及CA的扫盲介绍> http://kb.cnblogs.com/page/194742/
5.<从HTTP切换到HTTPS的完整指南> http://www.gbtags.com/gb/mobileshare/10816.htm
6.<HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事> http://web.jobbole.com/87695/
7.<聊聊HTTPS和SSL/TLS协议>http://www.techug.com/post/https-ssl-tls.html
8.<浏览器缓存机制> http://www.cnblogs.com/skynet/archive/2012/11/28/2792503.html
9.<扫盲文件完整性校验——关于散列值和数字签名> http://jmchxy.blog.163.com/blog/static/746082322013121113818518/
10.<DNS & CDN & HTTPDNS 原理简析> http://www.jianshu.com/p/a73e963b63b1
11.<HTTPS那些事(二)SSL证书>http://www.guokr.com/post/116169/
12.<浅析 OkHttp 的 TLS 连接过程>http://www.jianshu.com/p/f7972c30fc52
13.<HTTP2 概述>http://www.cnblogs.com/ghj1976/p/4552583.html
14.<图解SSL/TLS协议>http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容