01-http概述

news2024/11/25 16:05:34

HTTP概述

  • HTTP使用的是可靠地数据传输协议。
  • HTTP属于应用层协议

Web客户端和服务器

  • web服务器:又称http服务器,用于存储web内容,并向web客户端提供web内容
  • web客户端:用于请求web服务器的应用软件,常见为浏览器

资源

媒体类型

MIME类型是一种文本标记,表示一种主要对象类型和一个特定的子类型,用/分隔;

URI(统一资源标识符)

URI的两种形式为:URL与URN

URL(统一资源定位符)
  1. 描述一台特定服务器上某资源的特定位置
  2. 目前几乎所有URI都是URL
  3. 解析URL组成:例如:https://www.baidu.com/img/a.png;
  • 方案,说明访问资源说使用的协议类型。通常为http或https协议,上方为例即:https//
  • 服务器因特网地址(域名):上方为例即:www.baidu.com
  • 指定资源路径:上方为例即:/img/a.png
URN(统一资源名)

作为特定内容的唯一名称使用,与目前资源的所在地无关。目前处于实验阶段,并不推广使用

事务

方法

常见http方法如下:

  • GET:从服务器向客户端发送命名资源
  • PUT:将来自客户端的数据存储到一个命名的服务器资源中去
  • DELETE:从服务器中删除命名资源
  • POST:将客户端数据发送到一个服务器网管应用程序
  • HEAD:仅发送命名资源响应中的HTTP首部

状态码

  • 每条HTTP响应报文返回时都会携带一个状态码
  • 状态码都为三位数值的代码,代表着额定意义
  • 状态码后都会有一条解释性的原因短语
    常见状态码:
  • 200:OK。文档正确返回
  • 302:Redirect(重定向)。到其他地方取资源
  • 404:Not Found(未找到)。无法找到该资源

报文

  • HTTP报文是由一行一行的简单字符串组成的。HTTP报文都是纯文本,不是二进制代码
  • 请求报文(request message):web客户端向web服务器发送的报文
  • 响应报文(response message):web服务器向web客户端发送的报文

http报文的三部分

  1. 起始行:请求报文包含请求路径,请求方法,http协议版本;响应报文包含http协议版本,http状态码,状态码解释短语
  2. 首部字段(header头):每个首部字段都包含一个名字和一个值,使用:分隔,多个字段使用新行分隔,并以空行结束
  3. 主体:请求报文包含发送给web服务器的数据;响应报文包含发送给客户端的数据

链接

TCP/IP

TCP特点

  • 无差错的数据传输
  • 按序传输(数据按照发送的顺序到达)
  • 未分段的数据流(可以在任意时刻以任意尺寸将数据发送出去)
    HTTP协议栈
    HTTP协议栈

连接、IP和端口号

连接过程
http链接无端口号时,默认端口号为80

协议版本

按照时间顺序如下:

  • HTTP0.9:只支持GET方法,不支持多媒体的MIME内容,各种HTTP首部与版本号,只应该用于与老的客户端进行连接
  • HTTP1.0:添加了版本号,各种HTTP首部,一些额外的方法,以及多媒体对象的处理
  • HTTP1.1:重点关注的是校正HTTP设计中的结构性缺陷,明确语义,引入重要的性能优化措施,并删除一些不好的特性
  • HTTP2.0(HTTP-NG):目前仍在实验中。重点关注性能的大幅优化,以及更强大的服务逻辑远程执行框架

web的结构组件

代理

位于客户端和服务端之间的HTTP中间实体
在这里插入图片描述

缓存

HTTP的仓库,使常用页面的副本可以保存在离客户端更近的地方
在这里插入图片描述

网关

连接其他应用程序的特殊web服务器
在这里插入图片描述

隧道

对HTTP通信报文进行盲转发的特殊代理
在这里插入图片描述

Agent代理

发起自动http请求的半智能web客户端
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1049595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java实现word excel ppt模板渲染与导出及预览 LibreOffice jodconverter

Java Office 一、文档格式转换 文档格式转换是office操作中经常需要进行一个操作,例如将docx文档转换成pdf格式。 java在这方面有许多的操作方式,大致可以分为内部调用(无需要安装额外软件),外部调用(需…

SW线光源是真实的(点光源)

点光源在渲染下真实 点光源地板反射是对的

uni-app:获取元素宽高

效果 代码 这里我定义的宽为500px,高为200排序,控制台输出的结果是502,202。原因是我设置了上下左右宽度各为1px的border边框导致 核心代码分析 // const query uni.createSelectorQuery();表示创建了一个选择器查询实例。通过这个实例,你可以使用不同的方法来选择…

MYSQL——二、理论基础

Mysql 一、什么是数据库二、数据库管理系统(DBMS)三、数据库与文件系统的区别四、数据库技术构成及发展史1、技术构成2、发展史 五、常见数据库1、关系型数据库2、ACID原则3、关系型数据库的优缺点4、非关系型数据库5、非关系数据库的优点6、DBMS支持的数据模型7、运维对数据库…

C#中的for和foreach的探究与学习

一:语句及表示方法 for语句: for(初始表达式;条件表达式;增量表达式) {循环体 }foreach语句: foreach(数据类型 变量 in 数组或集合) {循环体 }理解 1.从程序逻辑上理解,foreach是通过指针偏移实现的(最初在-1位置,每循环一次,指针就便宜一个单位),而for循环是通

mac有必要用清理软件吗?有哪些免费的清理工具

当我们谈到Mac电脑时,很多人都会觉得它比Windows系统更加稳定和高效,也更不容易积累垃圾文件。但实际上,任何长时间使用的操作系统都会逐渐积累不必要的文件和缓存。那么,对于Mac用户来说,有必要使用专门的清理软件吗&…

十九,镜面IBL--BRDF积分贴图

再回顾下镜面部分的分割求和近似法 现在关注第二部分 最后可化为 也就是说,这两部分积分可以获得F0的系数和F0的偏差。 这两个值可以存储到BRDF积分贴图的RG部分。void main() { vec2 integratedBRDF IntegrateBRDF(TexCoords.x, TexCoords.y); FragColor …

react create-react-app v5 从零搭建(使用 npm run eject)

前言: 好久没用 create-react-app做项目了,这次为了个h5项目,就几个页面,决定自己搭建一个(ps:mmp 好久没用,搭建的时候遇到一堆问题)。 我之前都是使用 umi 。后台管理系统的项目 使用 antd-…

嵌入式Linux应用开发-第七章-野火-正点原子IMX6ULL的LED驱动程序

嵌入式Linux应用开发-第七章-野火-正点原子IMX6ULL的LED驱动程序 野火IMX6ULL的LED驱动程序7.4 野火/正点原子 IMX6ULL的 LED驱动程序7.4.1 原理图7.4.1.1 野火 fire_imx6ull-pro开发板7.4.1.2 正点原子 Atk_imx6ull-alpha开发板 7.4.2 所涉及的寄存器操作7.4.2.1 野火 fire_im…

2011 款宝马 318i 车发动机怠速游车、抖动

故障现象 一辆2011款宝马318i车,搭载N46B20E发动机,累计行驶里程约为9.5万km。该车因发动机怠速游车、抖动在其他维修厂维修,维修人员更换了火花塞、点火线圈、空气流量传感器、VANOS(可变气门正时系统)电磁阀、气门升…

竞赛无人机搭积木式编程(四)---2023年TI电赛G题空地协同智能消防系统(无人机部分)

竞赛无人机搭积木式编程(四) ---2023年TI电赛G题空地协同智能消防系统(无人机部分) 无名小哥 2023年9月15日 赛题分析与解题思路综述 飞控用户在学习了TI电赛往届真题开源方案以及用户自定义航点自动飞行功能方案讲解后&#x…

delphi 11 安装失败

delphi 11 安装遇到如下图: 解决方法: 以管理员身份重新安装!!! 以管理员身份重新安装!!! 以管理员身份重新安装!!! 管理员身份!&…

什么是数学建模(mooc笔记)

什么是数学建模 前提:我们数学建模国赛计划选择C题,故希望老师的教学中侧重与C题相关性大的模型及其思想进行培训。之后的学习内容中希望涉及以下知识点: logistic回归相关知识点。如:用法、适用、限制范围等。精学数学建模中常…

Kafka:介绍和内部工作原理

展示Kafka工作方式的简单架构。 什么是Kafka?为什么我们要使用它?它是消息队列吗? 它是一个分布式流处理平台或分布式提交日志。 Kafka通常用于实时流数据管道,即在系统之间传输数据,构建不断流动的数据转换系统和构…

WebPack5高级使用总结(三)

WebPack5高级使用总结 1、提升开发体检1.1、SourceMap1.2、使用 2、提升打包构建速度2.1、HotModuleReplacement2.2、oneOf2.3、Include/Exclude2.4、Cache2.5、Thead 3、减少代码体积3.1、Tree Shaking3.2、Babel3.3、Image Minimizer 4、优化代码运行性能4.1、Code Split4.1.…

038:mapboxGL 旋转地图(rotateTo)

第038个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中旋转地图。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共68行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhuan…

科技资讯|AirPods Pro基于定位控制的自适应音频功能

在接受 TechCrunch 媒体采访时,苹果高管 Ron Huang 和 Eric Treski 谈到了关于 AirPods Pro 自适应音频(Adaptive Audio)功能的轶事,曾考虑基于 GPS 信号来控制自适应音频级别。 Treski 表示在探索自适应音频功能初期&#xff0…

电脑技巧:推荐一款桌面增强工具AquaSnap

目录 一、软件介绍 二、功能介绍 2.1 窗口边缘停靠 2.2、 窗口平铺 2.3、 窗口对齐 2.4 窗口自动拉伸 2.5、同时移动多个窗口 2.6 、支持窗口置顶 2.7、 鼠标快捷方式 2.8、 键盘快捷键 三、软件特色 四、软件获取 一、软件介绍 AquaSnap(界面增强软件)是一款功能…

Vue中自定义实现类似el-table的表格效果实现行颜色根据数据去变化展示

主要使用div布局实现表格效果&#xff0c;并使用渐变实现行背景渐变的效果 页面布局 <div class"table-wrap"><div class"table-title"><divv-for"(item, index) in tableColumn":key"index":prop"item.prop&qu…

嵌入式Linux应用开发-第七章-IMX6ULL-QEMU的LED驱动程序

嵌入式Linux应用开发-第七章-IMX6ULL-QEMU的LED驱动程序 IMX6ULL-QEMU的 LED驱动程序7.5 IMX6ULL-QEMU的 LED驱动程序7.5.1 看原理图确定引脚及操作方法7.5.2 所涉及的寄存器操作7.5.3 写程序7.5.4 上机实验7.5.5 课后作业 IMX6ULL-QEMU的 LED驱动程序 7.5 IMX6ULL-QEMU的 LED驱…