HTTP

HTTP是超文本传输协议 HyperText Transfer Protocol 是互联网用的最广泛的网络协议

HTTP协议是在Web上进行数据交换的基础,是一种 客户端到服务器端之间的协议

用于让它们之间的数据的传输的协议 比如 文本 图片 视频等

设计之初是为了提供发送和接收HTML页面的方法

HTTP协议的历史与标准

HTTP/0.9 很快被HTTP/1.0取代 因为只支持GET 1991

HTTP/1.0 支持多种请求方法 支持多媒体对象 广泛应用 1996

HTTP/1.0+ 支持持久连接 虚拟主机 代理连接等新特征 非官方的事实标准

HTTP/1.1 校正了1.0的缺陷 性能优化 删除了不好的特征 1999

HTTP-NG(或者说是HTTP/2.0) HTTP协议的性能优化以及更强大的服务逻辑远程执行框架,研究工作进行中

HTTP请求与响应消息

像浏览器这样的 是客户端 发出的消息是请求(requests)

服务器端回复的叫做响应(responses)

请求的数据和响应的数据叫做消息

HTTP的基本原理

HTTP是应用层的协议 是通过TCP或者TLS-加密的TCP连接来发送,理论上任何可靠传输协议都可以使用。

基于HTTP的组件系统

概述:请求通过一个实体被发出,实体也就是用户代理(比如浏览器)

请求与响应之间会有Proxies

客户端

user-agent就是任何能够为用户发起行为的工具 一般 是浏览器

浏览器发送请求的实体 服务器接收请求 返回响应请求的内容 通过请求回来的数据 浏览器解析内容 如果解析的内容还需要其他的内容 就会自动再次发送请求 服务器同上 来渲染html页面

Web服务器

Web服务器来服务并提供客户端所请求的文档。

Web服务不一定是一台机器 但一个机器上可以装多个Web服务

代理(Proxies)

大多出现在传输层 网络层 物理层 对于客户端来说 代理就是浏览器

HTTP的基本特性

HTTP是简单的

​ HTTP报文能被人读懂 允许简单测速 降低门槛

HTTP是可扩展的

​ HTTP/1.0出现HTTPheaders让协议变得非常容易

HTTP是无状态有会话

​ 会话就是双方建立连接通信

​ 无状态就是上一次请求和响应 下一次不知道 就相当于没有储存手机号

HTTP和连接

​ 连接是由传输层来控制的,这从根本上不属于HTTP的范围

HTTP能控制什么

被HTTP控制的常见特性:
缓存 服务器向客户端存一些东西

​ 开发同源限制

​ 认证 比如Cookies

​ 代理和隧道 服务器或客户端是处于内网的,对外网隐蔽真实ip地址。因此HTTP请求就要通过代理越过这个网络屏障

​ 会话

HTTP流

打开一个TCP连接:TCP连接发送一条或多条请求,以及接受回应消息

发送一个HTTP报文:HTTP报文是语义可读的

读取服务器返回的报文消息

关闭链接或者为后续请求重新连接

HTTP--历史、组件系统相关推荐

  1. Unity* 实体组件系统 (ECS)、C# 作业系统和突发编译器入门

    Unity* 中的全新 C# 作业系统和实体组件系统不仅可以让您轻松利用以前未使用的 CPU 资源,还可以帮助您更高效地运行所有游戏代码.然后,您可以使用这些额外的 CPU 资源来添加更多场景动态和沉 ...

  2. 实体组件系统_实体组件系统介绍

    实体组件系统 什么是实体组件系统?(What is Entity Component System?) Entity Component System is a software pattern co ...

  3. TOPERS中间件之一---嵌入式组件系统TECS

    TECS(TOPPERS Embedded Component System)为TOPPERS推出的一个针对嵌入式系统,将各种软件模块封装为组件,并将组件结合在一起以实现快速构建大规模嵌入式系统软件的 ...

  4. 什么是生产历史追溯系统

    什么是追溯系统,追溯系统有什么作用?那么我们来了解一下,什么是追溯系统,它其实就是一种可以对产品进行正向,逆向或不定向追踪的生产控制系统,它可适用于各种类型的过程和生产控制系统.比如它可以让你追溯到产 ...

  5. 一套自生成组件系统的构想与实践

    项目需求 一套功能类似于有赞商城后台管理系统中店铺-微页面的系统,该系统实现用户可以选择所需要的组件,拖动调整组件的顺序,以及编辑组件的内容并且在移动端展示等相关功能,如下图所示. 开始前的思考 系统 ...

  6. com组件 安全提示_CDE 解读化学药品注射剂生产所用的塑料组件系统相容性研究技术指南(试行)...

    <极简工艺验证> <泰坦ICH> <极简数据完整性> <极简无菌> 国家药监局药品评审中心2020年10月21日正式发布了<化学药品注射剂生产所用 ...

  7. Windows操作系统各版本的历史 Windows系统历史版本简介

    30年间Windows系统有哪些版本?还记得你第一次了解到Windows操作系统存在的时候是哪一年吗?这些操作系统又有哪些特点呢?隐约知道计算机变得越来越小了吗--现在笔者将通过收集的资料,为各位细细 ...

  8. 动态配置页面 之 组件系统

    什么是组件? 可替换部件,eg汽车制造业 什么是面向对象? 将问题拆分,如何拆分合理,各个部分的交互联系怎么做? 什么样子的结构是耦合的?如何一个系统的运转依靠于各个对象的运转 一个对象自己决定何时, ...

  9. AliOS Things 组件系统(uCube)

    摘要: AliOS Things 是阿里巴巴提供的物联网操作系统,可以在不同的设备上运行不同的功能,甚至相同的设备运行不同的功能,AliOS Things 基于组件管理: 1. 组件功能单一,复用组件 ...

最新文章

  1. RocEDU.课程设计2018 第二周进展 博客补交
  2. linux查找技巧: find grep xargs linux系统信息查看大全
  3. b站编程课程资源汇总
  4. 中小型研发团队架构实践:电商如何做企业总体架构?
  5. [Java设计模式]期末作业参考
  6. pytorch学习 训练一个分类器(五)
  7. 【BZOJ 4169】 4169: Lmc的游戏 (树形DP)
  8. kafka java客户端消息的分区与缓存发送
  9. Android Studio 如何添加悬浮提示
  10. 杨辉三角c语言 用队列形式,C语言杨辉三角(循环队列).doc
  11. 房地产“产权分割制”是什么大杀器?
  12. 计算机管理删除打印机驱动,彻底删除打印机驱动的方法
  13. 无法听到计算机发出的声音怎么办,为什么视频对方听不到我说话_电脑视频对方听不到声音的解决方法...
  14. linux V4L2子系统——v4l2架构(1)之整体架构
  15. 微信公众平台之模拟登录
  16. 代挂php源码,[PHP源码]开心QQ等级代挂源码,无后门任意搭建分站
  17. 多目标灰太狼算法求解环境经济调度问题(IEEE30)(Matlab实现)
  18. 短视频平台还能这样赚钱?无需拍视频,每天能赚200多详细流程
  19. RDKit | 基于RDKit和SMARTS的化学反应处理
  20. Bootstrap系列之巨幕(Jumbotron)

热门文章

  1. vb6 获取zip列表_深入学习redis(压缩列表)
  2. 星露谷物语json_《星露谷物语》1.5版本更新细节公开 已上线PC
  3. java checkproperties(this)_【转载】java读取.properties配置文件的几种方法
  4. wireshark使用_使用 Wireshark 抓取数据包
  5. Soft NMS论文笔记
  6. 最详细的FCN论文笔记
  7. 教育部计算机考研大纲,2018考研大纲从哪里看?
  8. Linux系统使用GPT分区表方案推荐
  9. 渗透测试入门20之渗透测试七阶段
  10. cocos2d-x的未来之旅