计网必会:HTPP详解(非常全面)、cookie、缓存


在学习的过程很多人都遇到了HTTP和Cookie,Web缓存这些问题。下面我将带领大家了解一下这些复杂的东西,鼓励一下点个赞呗

应用层协议

上一篇博客应用层体系结构已经介绍了应用层的大致内容,下面就是要介绍应用层的协议

  1. HTTP协议

  2. SMTP协议


Web和HTTP

在这里插入图片描述
在这里插入图片描述

HTTP 概述

超文本传输协议(核心)。
Web服务器实现了HTTP的服务器端,它用于存储Web对象
HTTP定义了Web客户向Web服务器请求Web页面的方式,以及服务器向客户传送Web页面的方式。
HTTP使用TCP作为支撑协议,HTTP客户需要建立起与服务器的TCP连接,如何通过套接字访问TCP。
不管是客户端还是服务器,都是需要先向他们的套接字接口发送或接收报文。
重点
HTTP的服务器地址是稳定的
3. 客户与服务器的交互是通过TCP进行的
4. 每个请求都是经过一个单独的TCP发送,也能是多个请求经过一个!!!

采用非持续连接的HTTP

1.客户需要获取1+1=?客户发起一个TCP连接
2. 客户经过套接字发送一个HTTP请求报文
3. 服务器接收请求报文,发送响应
4. TCP连接断开
5. 客户检查响应报文中的页面信息,得到 2.

RTT 往返时间的定义

RTT是指从源主机发送分组开始,直到源主机收到来自目的主机的确认分组为止,所需要的时间

在这里插入图片描述在这里插入图片描述

RTT由三个部分决定:链路的传播时间、末端系统的处理时间、路由器的缓存中的排队和处理时间。其中前两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。简单来说就是发送方从发送数据开始,到收到来自接受方的确认信息所经历的时间。

三次握手过程
  1. 客户与服务器发起一个TCP连接,
  2. 服务器对此做出回应。
  3. 客户再向服务器回应一个确认,这也就是三次握手的由来!

采用持续连接的HTTP

是不是觉得非持续连接一定比持续性连接好?那你就大错特错的
非持续连接的服务器和客户机需要分配的大量的网络资源,假设你需要99999TB的资源,还需要给你的网友分享,等个几年估计就传完了,那么服务器估计直接就给你停了

如果我们采用持续性连接,那么服务器在结束第一轮的请求响应后,会保持TCP连接的打开!

HTTP到底采用哪个?

看实际情况而定,在实际应用中很多情况突发,不能盖棺定论

HTTP 的报文格式

我只说原理,喜欢看结构的,市面上任何书都有例子,光看例子不知道原理,没啥用

请添加图片描述

请求报文

  1. 第一行是请求行:GET/POST/请求…+URL+HTTP版本字段
  2. 其他行是首部行:指明了主机是啥,要不要关闭连接,等等客观存在的网络信息
功效

首部行表示了用户想要的需求(语言,资源版本等)

格式

请求报文的格式

响应报文

响应报文

  1. 状态行:协议字段+状态码+对象本身状态信息
  2. 首部行:类似于发送报文,都是功能
  3. 正文:主要部分,包含所有的对象本身
状态码

200 请求成功
301 对象转移
400 差错代码
404 请求对象丢失
505 服务器不支持请求报文使用的HTTP协议版本

格式

响应报文

Cookie

什么是cookie

为了让Web站点能够识别用户,诞生了cookie

cookie可以用于标记一个用户,用户首次访问一个网站后,需要产生一个唯一的用户标记,在用户下一次访问时,浏览器向服务器发送cookie首部,服务器就标识出了用户,因此,cookie在HTTP之上建立一个用户会话。

Web缓存

代表初始web服务器满足HTTP请求的网络实体。Web缓存器以及有自己的磁盘存储空间,并在存储空间保存最近访问的资源副本

请求对象过程

  • 建立TCP连接,向缓存器发送HTTP请求
  • 检查缓存器,如果有副本资源就直接返回资源给客户
  • 如果没有,就访问需要访问的资源,然后在本地拷贝一下副本。

好处
减少响应时间,减低成本费用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tomorrowave

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值