网络协议第一课
陶辉
杭州智链达数据有限公司 CTO 兼联合创始人
2 人已学习
立即订阅
课程目录
已完结/共 38 讲
HTTP/1.1协议 (38讲)
时长 05:53
时长 06:57
第一章 HTTP/1.1协议 (38讲)
时长 05:53
时长 06:57
网络协议第一课
登录|注册
留言
收藏
沉浸
阅读
分享
手机端
回顶部
00:00 / 00:00
    全屏
    00:00
    付费课程,可试看
    课程介绍
    内容综述
    浏览器发起HTTP请求的典型场景
    基于ABNF语义定义的HTTP消息格式
    网络为什么要分层:OSI模型与TCP/IP模型
    HTTP解决了什么问题?
    评估Web架构的七大关键属性
    从五种架构风格推导出HTTP的REST架构
    如何用Chrome的Network面板分析HTTP报文
    URI的基本格式以及与URL的区别
    为什么要对URI进行编码?
    详解HTTP的请求行
    HTTP的正确响应码
    HTTP的错误响应码
    如何管理跨代理服务器的长短连接?
    HTTP消息在服务器端的路由
    代理服务器转发消息时的相关头部
    请求与响应的上下文
    内容协商与资源表述
    HTTP包体的传输方式(1):定长包体
    HTTP包体的传输方式(2):不定长包体
    HTML form表单提交时的协议格式
    断点续传与多线程下载是如何做到的?
    Cookie的格式与约束
    Session及第三方Cookie的工作原理
    浏览器为什么要有同源策略?
    如何“合法”地跨域访问?
    条件请求的作用
    缓存的工作原理
    缓存新鲜度的四种计算方式
    复杂的Cache-Control头部
    什么样的响应才会被缓存
    多种重定向跳转方式的差异
    如何通过HTTP隧道访问被限制的网络
    网络爬虫的工作原理与应对方式
    HTTP协议的基本认证
    Wireshark的基本用法
    如何通过DNS协议解析域名?
    HTTP解决了什么问题?
    课程介绍
    内容综述
    浏览器发起HTTP请求的典型场景
    基于ABNF语义定义的HTTP消息格式
    网络为什么要分层:OSI模型与TCP/IP模型
    评估Web架构的七大关键属性
    从五种架构风格推导出HTTP的REST架构
    如何用Chrome的Network面板分析HTTP报文
    URI的基本格式以及与URL的区别
    为什么要对URI进行编码?
    详解HTTP的请求行
    HTTP的正确响应码
    HTTP的错误响应码
    如何管理跨代理服务器的长短连接?
    HTTP消息在服务器端的路由
    代理服务器转发消息时的相关头部
    请求与响应的上下文
    内容协商与资源表述
    HTTP包体的传输方式(1):定长包体
    HTTP包体的传输方式(2):不定长包体
    HTML form表单提交时的协议格式
    断点续传与多线程下载是如何做到的?
    Cookie的格式与约束
    Session及第三方Cookie的工作原理
    浏览器为什么要有同源策略?
    如何“合法”地跨域访问?
    条件请求的作用
    缓存的工作原理
    缓存新鲜度的四种计算方式
    复杂的Cache-Control头部
    什么样的响应才会被缓存
    多种重定向跳转方式的差异
    如何通过HTTP隧道访问被限制的网络
    网络爬虫的工作原理与应对方式
    HTTP协议的基本认证
    Wireshark的基本用法
    如何通过DNS协议解析域名?
    本节摘要

    你好,我是陶辉。现在是杭州智链达数据有限公司的 CTO 及联合创始人,我曾经在阿里巴巴、华为、腾讯、思科等公司从事服务器端的研发工作。

    在华为我负责 iMAP 网管系统的研发,在通过 SNMP 等协议管理众多网络设备的过程中,我对路由器交换机如何处理协议栈、选择路由、转发报文等流程有了深入的理解。

    在腾讯 QQ 空间部门,我们使用自定义的、基于 TCP 的 Qzone 协议传递巨量的数据,使我对如何设计出高性能、可扩展的应用协议有了丰富的实践经验。

    在思科我从事 Nginx 服务的研发,重构了 DMS 文档下载系统,大幅提升了高并发下的吞吐量,通过这个项目使我对 Web 服务器如何高效地处理 HTTP 协议有了全面的认识。

    在阿里云我作为 VPC 软件自定义网络项目中的管理系统架构师,通过基于 Intel DPDK 自建网关、自定义网络层协议等工作使我对 IDC 内部网络系统有了深刻了解。

    这些实践经验让我认识到了 RFC 规范与各种程序实现间的差异,使我从应用层到底层协议、从服务器到网络设备到浏览器都有非常系统的了解,也使我对 Web 协议有了更加深入的认识。

    技术人为什么要学习 Web 协议?

    下面我出几道题来考考你:

    • 当我们使用浏览器访问网页时,URI 中对某些字符有时使用百分号编码,有时却不使用,哪种方式更适合?
    • 如何识别出哪些响应来自缓存?哪些 HTTP 头部决定响应可以被浏览器缓存?
    • 当我们做前端开发时,如果需要跨域,怎样才能不违背 Web 架构下的安全策略?
    • 当我们接收到各种 HTTP 4xx 或者 5xx 错误响应码时,它们意味着发生了什么事?应该怎样跟踪用户的行为?
    • 当我们在做 SSL 性能优化时,为什么重点在 Session 缓存或者 Ticket 票据?
    • 当我们定位程序问题时,若在 TCP 连接中出现 time_wait、close_wait、fin_wait 等状态,都是什么原因导致的?
    • 当我们做架构选型时,HTTP/2.0 对性能的提升包括哪些方面?伴随 5G 广泛使用的 IPv6 协议,到底与 IPv4 有何不同?
    登录 后留言

    精选留言

    由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
    收起评论