《图解HTTP精华解读》笔记

来源:互联网 发布:charles mac 破解版 编辑:程序博客网 时间:2024/06/18 09:57

讲座地址

前言

第一次买网上的讲座,¥4.9,一方面是课题《图解HTTP精华解读》感觉挺不错的,另一方面是觉得以后也许花钱买讲座是挺重要的学习渠道,先尝试一下看看,毕竟也不贵。

内容

  1. 什么是HTTP协议
    最普遍采用的应用协议、用于服务端和客户端通信、处于应用层;
    是无状态的协议
    目前最广泛使用的的HTTP/1.1
    HTTPS是一个加密协议
    最新版本是HTTP2

  2. 简史
    HTTP 0.9是只有一行的协议
    HTTP 1.0 请求行增加了版本号、请求首部、响应状态和响应首部
    HTTP 1.1 互联网标准
    HTTP 2 核心目标是改进传输性能

  3. 从输入URL到加载页面的过程发生了什么?
    读取本地缓存,如果缓存没过期直接显示
    –>解析DNS(linux下使用dig+trace命令)
    –>建立TCP连接(三次握手)
    –>发送HTTP请求
    –>WEB服务器处理请求并返回
    –>加载页面
    –>关闭TCP连接

  4. HTTP是无状态的协议
    HTTP是不保存状态的协议,不对请求和响应的通信状态做持久化处理,每次HTTP请求都是独立的。

  5. 为了解决无状态带来的问题,需要使用cookies技术。
    cookie是保存在客户端的数据,HTTP请求都会带上cookie。

  6. 如何区分cookie和session
    c保存在客户端,s保存在服务器端
    s安全性更高
    c只能保存字符串
    c保存数据大小有限制
    s对服务器性能压力更大
    s依赖于c,如果禁用c也可以通过url传递

  7. HTTP请求和响应报文
    这一部分讲了报文格式和各字段,以后我写一篇新的文章来讲。
    cookie里有个sessionID字段,标识session;
    keep-alive 保持TCP连接一段时间再关闭,复用连接多次请求;

  8. HTTPS;确保WEB安全
    http的缺点:通信使用明文、不验证通信方的身份,可能遇到伪装、无法保证报文的完整性,可能被篡改;
    解决办法:在应用层和传输层新增SSL加密通道,通过证书验证通信双方是否合法。

  9. websocket技术
    服务端主动推送消息使用:ajax轮询、长连接
    websocket技术:全双工通信、连接方仍是客户端、减少通信量、使用HTTP建立连接,基于TCP协议
    演示了使用GO语言编写的socket服务端和客户端通信
    感觉跟大学学的c语言写的原理一样= =

  10. HTTP 1.1性能优化
    合并css,js,图片;
    嵌入css,js到页面;
    使用持久连接;
    图片单独cdn服务器、多个子域名等等;
    以上方法除了cdn方法以外在http2出来后都没有必要了。

  11. HTTP/2 Frame
    二进制格式的基础
    Frame格式

  12. HTTP/2特点
    二进制分帧层;流、消息、帧;多向请求和响应;请求优先级;服务器推送;首部压缩(相同首部保存起来,以后再发送只需发送相应的标识)

  13. WEB安全
    防注入:黑客通过表单和url等数据输入的地方修改数据库内容,因此要过滤这些地方的非法字符输入;
    CSRF攻击(跨站伪装请求攻击):用户登录第三方网站后,网站伪造用户发送请求。
    CSRF防范:合理使用发送请求方式(何时使用GET或POST)、随机字符串token存放cookie中随表单数据提交给服务器来验证合法性
    没有讲xss漏洞

总结

课程很短,只有45分钟,知识点也还好,因为本来《图解HTTP》本来不是很厚,这门课又是精华解读。不过还是挑的知识点挺重要的。
很多都是网络原理课程上讲的,主要是多讲了HTTP/2的知识。

PPT文档

百度云地址:暂时还没上传。

原创粉丝点击