Skip to content

浅谈计算机网络 #9

@NextBoy

Description

@NextBoy

网络通路简介

  • 从输入地址到返回请求

ke.qq.com-(DNS解析)->IP地址-(HTTP协议)->打包-(发送)->网络-(拆包)->服务器

网络部分: 逻辑网络->物理网络->逻辑网络 主要协议为TCP/IP协议(可靠)

  • 网络体系结构

    • TCP/IP四层协议: 应用层-运输层-网际层-网络接口层
    • 五层协议: 应用层-运输层-网络层-数据链路层-物理层
    • OSI的七层协议
  • 分组

    • 数据会分割成小块在网络上进行传输
    • 分组的传输是无序的,到了目标机器再排序
    • 上一层次的分组会被封装到下一层次的数据部分
  • TCP(传输控制协议)
    面向连接的可靠的基于字节流的传输层通信协议

    • 三次握手(创建连接):
    1. A发送请求
    2. B接受到请求并且告知A
    3. A告诉B已知道它同意请求连接
    • 四次挥手(终止连接):
    1. A告诉B我要关闭 A->B
    2. B告诉A等我看看发送完没(检查是否发送完毕)B->A
    3. B告知A确认发送完毕 B->A
    4. A关闭连接 A->B
  • HTTP协议(超文本传输协议)
    HTTP的报文结构

    • 请求的报文结构(包含但是不局限以下)

      • authority:m.ke.qq.com
      • method:GET
      • path:/cgi-b4&page=1&coun=1505446841479
      • scheme:https
      • accept:/
      • accept-encoding:gzip, deflate, br
      • accept-language:zh-CN,zh;q=0.8
      • cache-control:no-cache
      • cookie:pfirst_vrugozA11505446719iG1ST
      • pragma:no-cache
      • referer:https://m.ke.qq.com/
      • user-agent:Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Mobile Safari/537.36
      • x-requested-with:XMLHttpRequest
    • 响应的报文结构(包含但是不局限以下)

      • content-encoding:gzip
      • content-type:application/json;charset=utf-8
      • date:Fri, 15 Sep 2017 03:40:29 GMT
      • server:openresty
      • status:200
      • vary:Accept-Encoding
      • x-client-proto:https
      • x-client-proto-ver:HTTP/2.0
      • x-server:tencent-sng
    • 状态码

      • 1** 信息,服务器收到请求,需要请求者继续执行操作
      • 2** 成功,操作被成功接收并处理
      • 3** 重定向,需要进一步的操作以完成请求
      • 4** 客户端错误,请求包含语法错误或无法完成请求
      • 5** 服务器错误,服务器在处理请求的过程中发生了错误
    • 常见状态码

      • 200 请求成功
      • 301 域名重定向,永久移动
      • 302 域名重定向,临时移动
      • 304 所请求的资源未修改(与缓存有关)
      • 404 客户端请求的资源不存在
      • 500 服务器内部错误
  • 浏览器的缓存(缓存机制要去看资料)
    返回包含

    • cache-control:(相对时间)max-age = 60
    • Date:(绝对时间,格林尼治时间)Fri, 15 Sep 2017 04:47:07 GMT
    • ETag:(哈希值,判断文件内容有没有改变)"59af6bfe-b9c"
    • expires:Fri, 15 Sep 2017 04:47:37 GMT
    • Last-Modified:(文件最后修改时间)Wed, 06 Sep 2017 03:31:10 GMT
      请求包含
    • if-None-Match:"59af6bfe-b9c"
    • if-modified-since:(文件最后修改时间)Fri, 15 Sep 2017 04:47:37 GMT
  • DNS域名系统

    • 根域名服务器
    • 顶级域名服务器
    • 权限域名服务器
      • 二级域名
      • 三级域名

    查询方式
    - 迭代查询
    - 递归查询

浏览器如何渲染页面

  • 解析HTML生成DOM树,解析CSS生成样式规则
  • DOM树和样式规则组成attachment(附着)
  • 根据attachment构建render树 (结合layout)
  • painting
  • display

推荐资料

腾讯IMWEB结一老师 : 浏览器如何渲染 HTML & CSS

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions