HTTP略解

一、HTTP的两种连接形式

1)非持久性连接

每个TCP连接最多允许传输一个对象
HTTP 1.0版本使用非持久性连接
假定用户在浏览器输入URLwww.baidu.com/somedepartment/home.index
过程如下:
1°HTTP客户端向地址为www.baidu.com的服务器的HTTP服务器进程(80端口)发起TCP连接请求。
2°HTTP服务器在端口80等待tcp连接,接收连接并通知客户端.
3°客户端讲HTTP请求消息(包含URL地址)通过TCP连接的套接字发出,消息中所含的URL表明客户端需要对象…
4°HTTP服务器收到请求消息,解析,产生包含所需要对象的响应信息,通过套接字发送给客户端
5°HTTP服务器关闭tcp连接
6°客户端收到响应消息,解析html文件,发现有10个指向jpeg对象的超链接
7°为每个对象重复步骤1-6;

响应时间分析:
发起、建立tcp连接:1个rtt
发送http请求消息到http响应消息前几个字节到达:1个rtt
对象传输时间
所以一个对象的Total=2*rtt+文件传输时间

2)持久性连接

每个TCP连接允许传输多个对象
HTTP 1.1版本默认使用持久性连接
过程:
1°发送响应后,服务器保持tcp连接的打开
2°后续的http消息可以通过这个连接发送
3°又分为无流水线持久连接(收到前几一个响应后,才能发出新的请求;每个对象耗时1rtt)
流水线持久连接:理想情况,收到所有的对象只需要1rtt

二、HTTP的消息格式

1)请求消息:用ASCII书写,人可以直接读懂
如下图所示
在这里插入图片描述
在这里插入图片描述
2)响应消息
在这里插入图片描述
响应消息的状态代码“200 ok”表示:客户端请求成功,类似的还有
206 partial content:服务器已经正确处理部分GET请求,实现断点续传或同时分片下载,该请求必须包含Range请求头来指示客户端期望得到的范围

300 multiple choices(可选重定向)
301 moved permanently(永久重定向)
302 move temporaril(临时重定向)
403 Forbidden:服务器收到请求,但拒绝提供服务
404:Not Found

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值