HTTP基本概念介绍

HTTP概述
HTTP : 超文本传输协议,HTTP是浏览器端Web通信的基础。

一, 两种架构
B/S架构:Browser/Server,浏览器/服务器架构。
B:  浏览器,比如Firefox 、Google 、Internet;
S:  服务器,Apache,nginx;

C/S架构:Client/Server,客户端/服务器架构。

B/S架构相对于C/S架构,客户机上无需安装任何软件,使用浏览器即可访问服务器。
因此,越来越多的C/S架构正被B/S架构所替代。

二,基于请求响应的模式
HTTP协议永远都是客户端发起请求,服务器做出响应
也就是说,请求必定是先从客户端发起的,服务器端在没有接收到请求之前不会发送任何响应;
这就无法实现这样一种场景:服务器端主动推送消息给客户。

三,无状态
当浏览器第一次发送请求给服务器时,服务器做出了响应;
当浏览器第二次发送请求给服务器时,服务器同样可以做出响应,但服务器不知道第二次的请求和第一次来自同一个浏览器
也就是说,服务器是不会记住你是谁的,所以被称之为无状态。

而如果要使HTTP有状态,就可以使浏览器访问服务器时,加入Cookie
这样,只要你在请求时有了这个Cookie,服务器就能够通过Cookie知道,你就是之前那个浏览器
这样的话,http协议就有状态了。

四,请求报文
1请求行 + 请求头 + 空行 + 实体

1  请求行
    请求行里面有:
          请求方法:比如GET、POST
          资源对象(URI)
          协议名称和版本号(HTTP/1.1)

    【例】:
          POST/custom/a234425452543543543435/web/cstm?stm = 1787987987  HTTP/1.1

          POST                即请求方法
          /custom/a234425452543543543435/web/cstm?stm = 1787987987      即 URL
          HTTP/1.1          协议和版本

2   请求头
     请求头由于告诉服务器该请求的一些信息,起到传递额外信息的目的

3   空行
     空行是为了区分  请求头 和  请求实体

4   请求实体
     请求实体为真正所需要传输的数据


五,响应报文
      状态行 + 响应头 +  空行 +  消息体
    
1,状态行
     状态行主要由三部分组成:
     HTTP版本
     状态码(表示相应的结果)
     原因短语(解释)
   
     HTTP/2   200   OK

     HTTP/2    协议和版本
     200          状态码 - 200代表OK,表示请求成功,404代表NOT  FOUND,表示请求失败,所请求资源未在服务器上发现
     OK           原因短语

2,响应头(相应报文首部)
     和请求报文首部一样,响应报文首部同样是为了传递额外信息,例如:
     date:  TUE, 05  APR  2022  10:48:17  GMT     //响应时间
     content - type :application/json                  //响应格式
     content - transport - security: max-age = 315360000   //长度

3,空行
     同样是为了区别响应实体和响应首部

4,响应实体
     真正存储响应信息的部分


 

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

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

相关文章

[stm32]温湿度采集与OLED显示

一、I2C总线协议 I2C(Inter-integrated circuit )是一种允许从不同的芯片或电路与不同的主芯片通信的协议。它仅用于短距离通信,是一种用于两个或多个设备之间进行数据传输的串行总线技术,它可以让你在微处理器、传感器、存储器、…

6月20日(周四)A股行情总结:A股险守3000点,恒生科技指数跌1.6%

A股三大股指走弱,科创板逆势上扬,半导体板块走强,多股20CM涨停。中芯国际港股涨超1%。恒生科技指数跌超1%。离岸人民币对美元汇率小幅走低,20日盘中最低跌至7.2874,创下2023年11月中旬以来的新低,随后收复部…

287 寻找重复数-类似于环形链表II

题目 给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums…

理解堆排序

堆排序(Heapsort)是一种基于堆这种数据结构的排序算法,但在实际实现中,堆通常是用数组来表示的。这种方法充分利用了数组的特性,使得堆的操作更加高效。下面通过详细解释和举例说明来帮助理解这种排序方式。 堆的数组…

Linux应急响应——知攻善防应急靶场-Linux(1)

文章目录 查看history历史指令查看开机自启动项异常连接和端口异常进程定时任务异常服务日志分析账户排查总结 靶场出处是知攻善防 Linux应急响应靶机 1 前景需要: 小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我&…

手持弹幕LED滚动字幕屏夜店表白手灯接机微信抖音小程序开源版开发

手持弹幕LED滚动字幕屏夜店表白手灯接机微信抖音小程序开源版开发 专业版 插件版 手持弹幕小程序通常提供多种功能,以便用户在不同的场合如夜店、表白、接机等使用。以下是一些常见的功能列表: 文本输入: 输入要显示的文字内容,…

强化学习算法复现记录

目录 1.多智能体强化学习MADDPG tensorflow2版本IMAC tensorflow2版本 2.单智能体强化学习DQN pytorch版本PPO pytorch版本 1.多智能体强化学习 MADDPG tensorflow2版本 文章链接:tensorflow2实现多智能体强化学习算法MADDPG IMAC tensorflow2版本 文章链接&…

如何利用AopContext.currentProxy()解决事务管理中的方法调用问题

在Spring应用开发中,使用AOP(面向切面编程)来管理事务是非常常见的做法。然而,在某些场景下,尤其是在同一个类的方法内部,一个非事务方法直接调用另一个带有事务注解的方法时,可能会遇到事务不生…

初中英语优秀作文分析-005How to Plan Our Life Wisely-如何明智地规划我们的生活

PDF格式公众号回复关键字:SHCZYF005 记忆树 1 The “double reduction policy” reduces the burden on students and offers us more spare time than before, but how to plan our life wisely? 翻译 “双减政策”减轻了学生的负担,给了我们比以前更多的业余…

Linux进程概念(二)

上期我们已经学习了进程的基础的内容,已经对进程的基本概念有了了解,知道了进程的组成, 本期我们将以操作为主进一步探讨进程的相关概念。 目录 查看进程 创建进程 查看进程 查看进程主要有两种方式。 ps ajx指令 在当前目录下有名为tes…

SpringBoot-注解@ImportResource引入自定义spring的配置xml文件和配置类

1、注解ImportResource 我们知道Spring的配置文件是可以有很多个的,我们在web.xml中如下配置就可以引入它们: SprongBoot默认已经给我们配置好了Spring,它的内部相当于已经有一个配置文件,那么我们想要添加新的配置文件怎么办&am…

SkyWalking 极简入门

1. 概述 1.1 概念 SkyWalking 是什么? FROM Apache SkyWalking 分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体…

【CSS in Depth 2 精译】1.5 渐进式增强

文章目录 1.5 渐进式增强1.5.1 利用层叠规则实现渐进式增强1.5.2 渐进式增强的选择器1.5.3 利用 supports() 实现特性查询启用浏览器实验特性 1.5 渐进式增强 要用好 CSS 这样一门不断发展演进中的语言,其中一个重要的因素就是要与时俱进,及时了解哪些功…

AI 大模型企业应用实战(09)-LangChain的示例选择器

1 根据长度动态选择提示词示例组 1.1 案例 根据输入的提示词长度综合计算最终长度,智能截取或者添加提示词的示例。 from langchain.prompts import PromptTemplate from langchain.prompts import FewShotPromptTemplate from langchain.prompts.example_selecto…

PADS学习笔记

1.PADS设计PCB流程 封装库(layout),原理图库(logic)的准备原件封装的匹配(logic)原理图的绘制(logic)导网表操作(logic)导入结构(lay…

C++系列-String(一)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” string是用于字符串,可以增删改查 首先,我们来看一下string的底层 接下来,我们来看一下string的常用接口有哪些: #define _CRT_S…

【机器学习】音乐大模型的深入探讨——当机器有了创意,是机遇还是灾难?

👀国内外音乐大模型基本情况👀 ♥概述♥ ✈✈✈如FreeCompose、一术科技等,这些企业专注于开发人工智能驱动的语音、音效和音乐生成工具,致力于利用核心技术驱动文化产业升级。虽然具体公司未明确提及,但可以预见的是…

拓扑排序——C语言

拓扑排序(Topological Sorting)是一种用于有向无环图(DAG)的排序算法,其输出是图中所有顶点的线性排序,使得对于每条有向边 (u, v),顶点 u 在 v 之前出现。拓扑排序确定了项目网络图中的起始事件…

c++精解【5】

文章目录 Eigen矩阵元素定义矩阵加法矩阵乘法向量编译时设置大小 poco名言基础 Eigen 矩阵元素定义 定义每个元素值 [ 1 3 2 4 ] \begin{bmatrix} 1& 3 \\2& 4 \end{bmatrix} [12​34​] #include <iostream> #include "f:/learn/eigen-3.4.0/Eigen/Den…

Prompt 写作提示经验:完整格式和技巧

编写prompt以确保输出格式通常需要明确指定您期望的输出结构和内容要求。以下是一些确保输出格式的步骤和技巧&#xff1a; 明确指定格式&#xff1a;在prompt中明确指出您期望的输出格式。例如&#xff0c;如果您需要一个包含标题、子标题和段落的文章&#xff0c;应在prompt中…