HTTP--网络协议分层,http历史(二)

网络协议分层

只关心应用层里的http和传输层里的tcp

  1. 物理层:主要作用是定义物理设备如何传输数据
  2. 数据链路层:在通信的实体间建立数据链路连接
  3. 网络层:为数据在结点之间传输创建逻辑链路
  4. 传输层:向用户提供可靠的端到端(End-to-End)的服务,传输层向高层屏蔽了下层数据通信的细节
  5. 为应用软件提供了很多服务,构建于TCP塄之上,屏蔽网络传输相关细节

《HTTP--网络协议分层,http历史(二)》

http历史

http0.9

  1. 只有一个命令GET
  2. 没有header等描述数据的信息
  3. 服务器发送完毕,就关闭TCP连接

http1.0

  1. 增加了status,code和header
  2. 多字符集支,多部分发送,权限,缓存

http1.1

  1. 持久连接
  2. pipeline
  3. 增加host和其它一些命令

http2

  1. 所有数据以二进制传输
  2. 同一个连接里面发送多个请求不再需要按照顺序来
  3. 头信息压缩以及推送等提高效率的功能

http,tcp之间的关系

建立了tcp连接之后,http(用户就可以给服务器发送请求和服务器就可以响应了),可以多个http同时进行
《HTTP--网络协议分层,http历史(二)》

三次握手

《HTTP--网络协议分层,http历史(二)》

http报文

请求报文的起始行

http方法

  1. 用来定义对资源的操作
  2. 常用的有GET,POST,
  3. 从定义上讲各自的语义

《HTTP--网络协议分层,http历史(二)》

请求报文的起始行

  1. 定义服务器对请求的处理结果
  2. 各个 区间的code有各自的语义
  3. 好的http服务可以通过code判断结果

最简单的服务器

const http = require('http');
http.createServer(function (req, res) {
    console.log(req.url);
    res.end("hello world")
}).listen(8888)
console.log('server start at port 8888')

《HTTP--网络协议分层,http历史(二)》

    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000017021770
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞