HTTP协议与网络编程(六)HTTP协议基础及发展历史

HTTP协议基础及发展历史

一、五层网络模型介绍

1、从上到下:

应用层(HTTP、FTP···)、传输层(TCP、UDP)、网络层、数据链路层、物理层

2、低三层

物理层:定义物理设备如何传输数据

数据链路层:在通信的实体间建立数据链路连接

网络层:为数据在节点之间传输创建逻辑链路

3、传输层

  • 向用户提供可靠的端到端的服务
  • 传输层向高层屏蔽了下层数据通信的细节

4、应用层

  • 为应用软件提供很多服务
  • 构建于TCP协议上
  • 屏蔽网络传输相关细节

二、HTTP协议发展历史

1、HTTP/0.9

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

2、HTTP/1.0

  • 增加了很多命令
  • 增加status code和header
  • 多字符集支持、多部分发送、权限、缓存等

3、HTTP/1.1

  • 持久连接
  • pipeline
  • 增加host和其他一些命令

4、HTTP2

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

三、三次握手

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyb7EAB0-1597824662388)(https://s1.ax1x.com/2020/08/15/dkrafP.png)]

四、URI、URL、

1、URI

Uniform Resource Identifier 统一资源标志符

  • 用来唯一标识互联网上的信息资源
  • 包括URL和URN

2、URL

Uniform Resource Locator 统一资源定位器

3、URN

永久统一资源定位符

  • 在资源移动之后还能被找得到
  • 目前还没有非常成熟的使用方案

五、HTTP报文

dk6iSP.png

1、HTTP方法

  • 用来定义对于资源的操作
  • 常有GET、POST等
  • 从定义上讲有各自的语义

2、HTTP CODE

  • 定义服务器对请求的处理结果
  • 各个区间的CODE有各自的语义
  • 好的HTTP服务可以通过CODE判断结果

3、最简单的web应用

const http = require('http')

http.createServer(function (req, res) {
    console.log('request come', req.url)
    
    res.end('123')
}).listen(2222)

console.log('server listing on 2222')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值