图解HTTP(3)

第九章 基于HTTP的功能追加协议

1. 消除HTTP瓶颈的SPDY(Google 2010),解决性能瓶颈,缩短Web页面加载时间(50%)

  1. 瓶颈
  • 一条连接上只能发送一个请求
  • 请求由客户端开始,不能接收响应以外的指令
  • 首部未压缩发送, 首部多就延迟大
  • 发送冗长的首部,每次互相发送相同首部造成浪费
  • 可任选数据压缩格式,非强制压缩发送
  1. 解决方法
  • Ajax(Asynchronous JavaScript and XML, 异步JavaScript与XMl技术)
    • 核心技术: XMLHttpRequest的API,更新局部,但依然有大量请求产生
  • Comet: 服务端有内容更新, Comet不让请求等待,直接给客户端返回响应
  • SPDY的目标: SPDY在TCP/IP的应用层与传输层之间通过新加会话层的形式运作,SPDY规定通信中使用SSL
    • HTTP(应用层) -> SPDY(会话层) -> SSL(表示层) -> TCP(传输层)
    • 使用SPDY
      • HTTP协议可多路复用流,一条TCP连接无限制处理多个HTTP请求;
      • 可赋予请求优先级,解决因带宽低而导致响应变慢;
      • 压缩HTTP首部;
      • 可推送功能;
      • 可在服务器提示功能

2. WebSocket网络技术解决HTTP协议问题

  1. WebSocket是HTML5的一部分(2011),web浏览器与web服务器之间全双工通信标准,主要解决Ajax和Comet里XMLHttpRequest附带的缺陷所引起的问题

    (1). WebSocket 协议的主要特点: 推送功能(服务器->客户端); 减少通信量(建立WebSocket连接后一直保持连接状态(握手))
    (2). 握手-请求:需要HTTP的Upgrade首部字段,告知通信协议发生改变
        Upgrade: websocket
        Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== 记录握手过程中必不可少的键值
        Sec-WebSocket-Protocol: cchat,superchat 记录使用的子协议
    
    (3).握手-响应:请求返回101 Switching Protocols的响应
        Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= 由握手请求发送过来的
        Sec-WebSocket-Key字段值生成的;握手成功后确立WebSocket连接后,不再使用HTTP的数据帧,
        改用WebSocket独立的数据帧,WebSocket(全双工通信)
    
    (4).用JavaScript调用"The WebSocket API"

3. HTTP/2.0(2014)

特点: 使用速度,通过HTTP/1.1与TCP连接; 集成了SPDY | HTTP Speed+Mobility | Network-Friendly HTTP Upgrade

  1. 压缩: SPDY,Friendly
  2. 多路复用: SPDY
  3. TLS义务化: Speed+Mobility
  4. 协商: Speed+Mobility,Friendly
  5. 客户端拉拽(Client Pull)/服务器推送(Server Push): Speed+Mobility
  6. 流量控制: SPDY
  7. WebSocket: Speed+Mobility

4. WebDAV

  1. Web服务器管理文件的WebDAV(web-based Distributed Authoring and Versioning,基于万维网的分布式创作和版本控制),对Web服务器内容直接进行文件复制,编辑等操作的分布式文件系统,拓展HTTP/1.1,代替HTTP/1.1中的PUT和DELETE,安全性更高

第十章 构建Web内容的技术

  1. HTML(HyperText Markup Language, 超文本标记语言), HTML5
  2. CSS(Cascading Style Sheets, 层叠样式表), 解耦结构与设计, CSS3
  3. 动态HTML = DOM + JavaScript
  4. CGI(Common Gateway Interface, 通用网关接口), 是指Web服务器接收到客户端发送过来的请求后转发给程序的一组机制(接到请求一次就启动一次),Servlet(Java)解决了CGI问题
  5. XML, 可扩展标记语言, 数据传输
  6. RSS, 简易信息聚合, 聚合内容, 用XML
  7. JSON(JavaScript Object Notation),对象表示法,轻量级,数据标记语言,7大类型:false/null/true/对象/数组/数字/字符串

第十一章 Web的攻击技术(HTTP协议缺陷,安全性问题)

  1. 攻击模式
    • 主动攻击(访问Web应用,传入攻击代码): SQL注入, OS命令注入
    • 被动攻击(圈套执行): 跨站脚本攻击(XSS), 跨站点请求伪造(CSRF)
  2. 安全对策
    • 客户端验证
    • Web应用端(服务器端)的验证: 输入值验证; 输出值转义
  3. 跨站脚本攻击(Cross-Site Scripting, XSS)
    1. 利用虚假输入表单骗取用户个人信息
    2. 利用脚本窃取用户的Cookie值
    3. 显示伪造的文章或图片
  4. SQL注入攻击(SQL Injection)指针对Web应用使用的数据库, 通过运行非法的SQL而产生的攻击

    影响:
    1. 非法查看或篡改数据库内的数据
    2. 规避认证
    3. 执行和数据库服务器业务关联的程序
  5. OS命令注入攻击(OS Command Injection): 执行非法的操作系统命令达到攻击
  6. HTTP首部注入攻击(被动攻击); HTTP响应截断攻击(向首部主体内添加内容)
    影响:
    1. 设置任何Cookie信息
    2. 重定向至任意URL
    3. 显示任意的主体(HTTP响应截断攻击)
  7. 邮件首部注入攻击
  8. 目录遍历攻击
  9. 远程文件包含漏洞(主要是PHP存在的安全漏洞, PHP5.2.0默认无效)
  10. 因设置或设计上的缺陷引发的安全漏洞:
    1. 强制浏览
    2. 不正确的错误信息处理
    3. 开放重定向
  11. 因会话管理疏忽引发的安全漏洞
    1. 会话劫持
    2. 会话固定攻击
    3. 跨站点请求伪造(CSRF)
  12. 其他安全漏洞
    1. 密码破解: 穷举法; 字典攻击; 彩虹表; 拿到密钥; 加密算法的漏洞
    2. 点击劫持
    3. DOS攻击: 服务停止攻击或拒绝服务攻击, 多台计算机同时发起的DOS攻击就是DDOS攻击
    4. 后门程序
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 3,435评论 0 20
  • HTTP概述 HTTP协议规定,一定是客户端开始建立通信的,也就是说请求一定是从客户端发出,服务器端响应请求,服务...
    exialym阅读 677评论 1 5
  • 前面两篇文章中关于 HTTP 相关知识基本上介绍的差不多了,这篇文章是对 HTTP 协议的补充,主要介绍以下三点内...
    lijiankun24阅读 1,300评论 2 3
  • 前言 本系列主要分析OKHttp源代码的框架和设计思想,因为OKHttp实现了HTTP协议,所以在做源代码分析之前...
    嘎啦果安卓兽阅读 4,042评论 1 15
  • HTTP http,基于tcp协议,位于网络分层模型的应用层,tcp则是位于传输层,所以说http是tcp的上层协...
    鬼也不知道你经历了什么阅读 278评论 0 2