文章目录

  • 应用层协议
  • Web和HTTP
    • HTTP 概述
      • 采用非持续连接的HTTP
        • RTT 往返时间的定义
        • **三次握手过程**
      • 采用持续连接的HTTP
      • HTTP到底采用哪个?
    • HTTP 的报文格式
      • 请求报文
        • 功效
      • 格式
      • 响应报文
        • 状态码
        • 格式
    • Cookie
      • 什么是cookie
    • Web缓存

在学习的过程很多人都遇到了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请求
  • 检查缓存器,如果有副本资源就直接返回资源给客户
  • 如果没有,就访问需要访问的资源,然后在本地拷贝一下副本。

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

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

  1. 计网必会:UDP差错检测,检验和、可靠数据传输原理

    文章目录 [前言] UDP套接字 无连接运输 UDP 的优势 UDP的差错检测 可靠数据传输 可靠传输的方式总结 构造可靠数据传输协议 可靠信道 具有比特差错的信道 三种可能 [前言] 之前一节我们介 ...

  2. mysql小计_Mysql必读用SQL实现统计报表中的小计与合计的方法详解

    <Mysql必读用SQL实现统计报表中的"小计"与"合计"的方法详解>要点: 本文介绍了Mysql必读用SQL实现统计报表中的"小计&qu ...

  3. 怎么在手机上取消双重认证_用手机在淘宝上怎么开网店?流程步骤详解

       这是一篇关于"用手机在淘宝上怎么开网店?流程步骤详解"的文章: 开网店因为门槛低.收益大,成为众多年轻人创业的首选.很多新手朋友们都想开一家属于自己的网店,但是苦于没有经验, ...

  4. 我的世界做计算机原理,我的世界计分板运算机制原理详解

    我的世界里面计分板的制作对新手玩家来说可能比较困难,特别是各种运算机制需要对电子电路比较了解,下面是计分板的计算机制和原理详解,看明白的话不妨自己试着制作计分板. 计分板运算机制原理详解 输入12 加 ...

  5. php远程连接真机实现,搭建nextcloud私有云存储网盘的教程详解

    Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...

  6. 修改conda缓存路径:详解如何将Anaconda缓存位置更改

    修改conda缓存路径:详解如何将Anaconda缓存位置更改 在使用Anaconda进行Python开发时,我们经常需要使用conda来管理第三方库和环境.但是,使用默认缓存路径时,conda会将下 ...

  7. 清理linux服务器缓存,详解Linux手动释放缓存的方法

    详解Linux手动释放缓存的方法 发布时间:2020-08-20 07:53:27 来源:脚本之家 阅读:87 作者:闪电王国 栏目:服务器 Linux释放内存的命令: sync echo 1 > ...

  8. 淘宝宝网具体工作流程详解

    淘宝宝网开发流程详解 具体实现功能 ​ 用户 ​ 登录.注册(手机验证码功能实现).购物车.个人中心(个人基本信息.购物车.历史订单记录.浏览历 史.收货地址管理) ​ 前台测试用户为 ​ 账户:17 ...

  9. HTPP详解(真的很经典)

    引言     引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是 ...

  10. 本地缓存需要高时效性怎么办_详解微信小程序缓存--缓存时效性

    关于本地缓存 1.wx.setStorage(wx.setStorageSync).wx.getStorage(wx.getStorageSync).wx.clearStorage(wx.clearS ...

最新文章

  1. Maven修改默认本地资源库文件夹
  2. 国内外开源与 SaaS ,团队协作平台、项目管理工具整理
  3. 揭秘华为麒麟990 5G:提前3年布局,百亿晶体管把7nm用到了极致
  4. Android应用程序与SurfaceFlinger服务的关系概述和学习计划
  5. 分布式是什么,集群又是什么呢
  6. android产品设计,Android产品设计
  7. WebClient 上传文件
  8. QT 009 QSqlDatabase 数据库类的使用
  9. 第四十六章:SpringBoot RabbitMQ完成消息延迟消费
  10. Oracle基础查询
  11. 计算机网络 —— 冲突域和广播域
  12. 使用apache的ftpserver搭建ftp服务器
  13. 【2020-07】字节跳动面试凉经(年轻人的第一场 技术面试)
  14. 分辨率、像素、密度和屏幕尺寸的关系(换算)
  15. Android未来5年的发展前景和趋势
  16. 直流电机,传递函数,模糊控制pid算法,matlab代码
  17. FleaPHP 开发指南 - 2. FleaPHP 中的 MVC 模式
  18. 非全也要卷?复旦大学软件非全很多高分
  19. 高考外语听力考试网络广播方案
  20. ES MQ canal同步mysql

热门文章

  1. iphone7 买不买???
  2. Siamese Network (应用篇5) :孪生网络用于跟踪 CVPR2016
  3. raft 有关竞选超时 vs 心跳超时的疑惑
  4. LSTM和GRU的对比和分析
  5. Android手把手教你使用阿里云接口实现人脸定位、人脸检测、人脸对比功能。
  6. NR PRACH(三)时域位置
  7. WIN2012远程桌面授权过期
  8. iOS 【模仿App 获取app素材】
  9. excel查找匹配项vlookup函数
  10. (BN)批量归一化全面解析