JavaWeb——Web入门(3/9)-HTTP协议:概述(概念、特点,HTTP协议定义,基于 TCP 协议,基于请求-响应模型)

目录

概念

特点

内容预告


概念

  • HTTP 协议定义:全称 Hyper Text Transfer Protocol,即超文本传输协议,规定了浏览器与服务器之间数据传输的规则,具体指客户端浏览器与服务器之间进行数据交互的数据格式。

        在互联网的世界中,HTTP 就像是一座桥梁,连接着用户的浏览器和服务器。当我们在浏览器中输入一个网址,按下回车键后,浏览器就会通过 HTTP 协议向服务器发送请求,服务器接收到请求后,会根据请求的内容进行处理,并通过 HTTP 协议将响应数据返回给浏览器。

        例如,当我们在浏览器中访问一个新闻网站时,浏览器会向服务器发送一个请求,请求中包含了我们要访问的页面的地址。服务器接收到请求后,会根据地址找到相应的页面内容,并将其封装成 HTTP 响应数据返回给浏览器。浏览器接收到响应数据后,会对其进行解析,并将页面内容展示给用户。

  • 数据传输格式:主要包括请求数据的格式和响应数据的格式,浏览器和服务器需按照固定格式进行数据传输和解析,以明确双方意图。

        这种固定的数据传输格式就像是一种约定俗成的语言,让浏览器和服务器能够顺利地进行交流。如果没有这种固定的格式,浏览器发送的请求可能会让服务器无法理解,服务器返回的响应也可能会让浏览器无法解析。

        例如,当我们在浏览器中输入一个网址并按下回车键后,浏览器会按照 HTTP 请求数据的格式,将请求信息封装成一个特定格式的文本字符串,并发送给服务器。服务器接收到这个文本字符串后,会按照 HTTP 协议规定的格式进行解析,了解浏览器的请求意图。然后,服务器会根据请求的内容进行处理,并将响应数据按照 HTTP 响应数据的格式封装成又一个特定格式的文本字符串,返回给浏览器。浏览器接收到这个文本字符串后,也会按照 HTTP 协议规定的格式进行解析,展示服务器返回的内容。

特点

  1. 基于 TCP 协议:TCP 是面向连接的安全协议,每次请求前需进行三次握手,确保双方有收发能力后再传输数据,不易丢包更安全
    • TCP 协议的三次握手过程就像是两个人在打电话之前的确认过程。首先,浏览器向服务器发送一个连接请求,就像一个人拨打对方的电话。服务器接收到这个请求后,会向浏览器发送一个确认信息,就像对方接听电话并回应。最后,浏览器再向服务器发送一个确认信息,就像通话双方确认可以开始交流。通过这个三次握手过程,浏览器和服务器可以确保双方都能够正常收发数据,从而保证数据传输的可靠性。
    • 由于 TCP 协议的可靠性,HTTP 协议在传输数据时也更加安全。不容易出现数据丢失的情况,确保用户能够顺利地获取到所需的信息。
  2. 基于请求-响应模型一次请求对应一次响应,无请求则无响应。
    • 这种请求响应模型就像我们在商店购物时的场景。我们向售货员提出请求(比如要买某个商品),售货员会根据我们的请求进行响应(比如拿出我们要的商品并告诉我们价格)。如果我们不提出请求,售货员也不会主动给我们提供商品或服务。
    • 在 HTTP 协议中,浏览器向服务器发送请求,服务器根据请求的内容进行处理,并返回相应的响应数据。如果浏览器不发送请求,服务器也不会主动向浏览器发送数据。
  3. 无状态协议每一次请求-响应都是独立的,后一次请求不会记录前一次请求数据,速度较快但多次请求之间不能进行数据共享,导致很多功能无法实现。
    • HTTP 协议的无状态性使得每次请求都是独立的,服务器不会记住之前的请求和响应。这就像我们在不同的商店购物,每次购物都是独立的,商店不会记住我们之前的购物记录。
    • 这种无状态性的优点是速度较快,因为服务器不需要记住大量的状态信息,可以更快地处理请求。这也带来了一些缺点,比如在一些需要多次请求之间进行数据共享的场景下,就会出现问题。
    • 例如,在一个购物网站中,如果用户在登录后将商品加入购物车,然后再进行其他操作时,服务器由于无状态性,无法记住用户已经登录的状态和购物车中的商品信息。这就需要通过其他技术手段来解决这个问题,比如使用 Cookie 和 Session 等技术来实现状态的保持。

内容预告

接下来的学习路线:

  • HTTP-请求协议
  • HTTP-响应协议
  • HTTP-协议解析

HTTP 协议中最重要的两块内容,即请求数据的格式和响应数据的格式。后面会先讲解请求数据的格式。


END


学习自:黑马程序员——JavaWeb课程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

导致线上项目宕机的原因和排查手段

目录 导致线上项目宕机的原因cpu过载cpu过载怎么排查?内存溢出内存溢出怎么排查?磁盘空间不足磁盘空间不足怎么排查?网络问题网络问题怎么排查?垃圾回收(GC)问题垃圾回收(GC)问题怎么排查JVM参数配置不当JVM参数配置不当怎么排查?JVM内部错误JVM内部错误怎么排查?线程…

strace 调试追踪案例:对程序打开文件进行追踪

声明 本文版权属于笔者朋友 YangHui ,所有资料内容均由 YangHui 提供,笔者只是一个转述者。 文章目录 声明1. 前言2. 问题的发生、跟踪、解决3. 小结 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失&#x…

(九)JavaWeb后端开发3——Servlet

目录 1.Servlet由来 2.Servlet快速入门 3.Servlet执行原理 4.Servlet生命周期 1.Servlet由来 在JaveEE API文档中对Servlet的描述是:可以运行在服务器端的微小程序,但是实际上,Servlet就是一个接口,定义了Java类被浏览器访问…

ZooKeeper 客户端API操作

文章目录 一、节点信息1、创建节点2、获取子节点并监听节点变化3、判断节点是否存在4、客户端向服务端写入数据写入请求直接发给 Leader 节点写入请求直接发给 follow 节点 二、服务器动态上下线监听1、监听过程2、代码 三、分布式锁1、什么是分布式锁?2、Curator 框架实现分布…

网关如何传递信息给微服务

前情回顾 上篇我们已经完成了网关对所有微服务请求的拦截以及JWT的登录校验。 客户端和微服务之间的桥梁--网关(身份校验)https://mp.csdn.net/mp_blog/creation/editor/143425484 问题引入 现在的问题是在一些微服务业务中,需要用到用户…

vue3学习记录-nextTick

vue3学习记录-nextTick 1. 案例场景2. 使用方法2.1 回调方式2.2 async&#xff0c;await 3.原理 1. 案例场景 聊天框实现输入内容&#xff0c;滚动条默认滚到最底部。 <template><div class"chat_box"><div class"chat_list" ref"chat…

Nature Medicine病理AI汇总|TORCH:预测未知原发部位癌症的肿瘤起源|顶刊精析·24-11-01

小罗碎碎念 今天分析Nature Medicine病理AI系列的第三篇文章——《Prediction of tumor origin in cancers of unknown primary origin with cytology-based deep learning》 这篇文章报道了一种基于细胞学图像的深度学习方法TORCH&#xff0c;用于预测未知原发部位癌症的肿瘤…

关于SQLServer在局域网内无法连接的问题的解决思路

针对SQL Server 2008在局域网内无法连接的问题&#xff0c;以下是一些详细的解决办法。我们在过程中需要用到Microsoft SQL Server 2008和Microsoft SQL Server tools 2008数据库软件中的配置管理器以及SQL Server Management Studio工具&#xff0c;入下截图所示。 一、检查网…

Ubuntu22.04 安装图形界面以及XRDP教程

一、准备环境 1.一台服务器安装系统ubuntu&#xff08;这里大部分ubuntu系统可以同用&#xff09; 2.安装的ubuntu系统未安装图形界面 二、操作步骤 1.远程ssh或者直接登录服务器命令行界面 ssh -p 远程端口 rootIP 2.更新系统软件包 sudo apt update # 更新本地的软件包…

【运动的&足球】足球运动员球守门员裁判检测系统源码&数据集全套:改进yolo11-DBBNCSPELAN

改进yolo11-FocalModulation等200全套创新点大全&#xff1a;足球运动员球守门员裁判检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.28 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示…

【特征值处理】

【特征值处理】 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 在处理机器学习的相关数据时&#xff0c;需要把特征值与目标组成二组&#xff0c;请您输出处理后的结果。 输入 第一行输入特征值向量&#xff0c;第二行输入目标向量。 输…

异步电机转差率和工作原理,异步电机和同步电机的区别

一、异步电机 异步电机的工作原理基于转差率&#xff08; s s s&#xff09;&#xff0c;而转差率的大小决定了电机是作为电动机还是发电机运行。为了深入理解其中的原理&#xff0c;我们可以从电磁感应和转速关系来分析&#xff1a; 1. 电动机工作原理 异步电机工作时&…

《双指针篇》---移动零

题目传送门 这道题可以归类为 数组划分/数组分块 。 题目制定了一个规则&#xff0c;我们可以在这个规则下&#xff0c;将数组划分为若干个区间。 这道题让我们把所有非零元素移动到左边。所有零元素移动到右边。 将数组划分为&#xff1a; 左区间非0&#xff1b; 右区间&…

龙迅#LT6211适用于HDMI转4PORT LVDS,分辨率高达4K60HZ,可提供技术支持!

1.特点HDMI1.4接收器 符合HDMI 1.4规范&#xff0c;TMDS数据速率每通道高达3.4Gbps 支持HDCP 1.4 自适应接收器均衡的PCB、电缆和连接器损耗 单/双端口/四端口LVDS发射机 兼容VESA和JEIDA标准 1/2/4可配置端口 1时钟通道和每个端口有4个可配置的数据通道 数据通道…

Linux——Ubuntu的基础操作

压缩与解压缩 gzip压缩工具 创建文件 a.c和b.c touch a.c touch b.c 压缩文件a.c和b.c gzip a.c gzip b.c 解压缩a.c.gz和b.c.gz gzip -d a.c.gz 对文件夹进行压缩 gzip -r 对文件夹进行解压缩 gzip -rd 注意&#xff1a;这只是对文件夹里所有文件进行压缩&#xff0c…

HTML静态网页成品作业(HTML+CSS)——自行车介绍网页设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码CSS部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品…

基于Transformer的路径规划 - 第五篇 GPT生成策略_解码方法优化

上一篇&#xff1a;基于Transformer的路径规划 - 第四篇 GPT模型优化 在上一篇中&#xff0c;我尝试优化GPT路径生成模型&#xff0c;但没有成功。在随机生成的测试集上&#xff0c;路径规划成功率只有99%左右。而使用传统的路径规划算法&#xff0c;例如A*&#xff0c;路径规划…

【HarmonyOS】鸿蒙系统

文章目录 前言一、鸿蒙OS概述1. 定义与特性2. 核心技术理念3. 技术架构设计1. 应用层2. 框架层3. 系统服务层4. 内核层 二、分布式架构分布式架构的核心理念分布式能力的实现关键技术 三、 总结 前言 鸿蒙OS是由华为推出的一款开源操作系统&#xff0c;旨在满足智能终端设备的…

[MySQL]介绍与基础指令

介绍 现在常见的数据库如:Oracle、DB 2、SQL Server、MySQL等都是关系型数据库&#xff0c;使用二维表格来存储数据。 关系结构型数据库系统 管理员 仓库 MySQL的数据存储目录为data&#xff0c;在data下的每个目录都代表一个数据库。 MySQL的安装目录下&#xff1a; bin目录…

智慧农业云平台:大数据赋能现代农业的未来

近年来&#xff0c;随着科技的迅速发展&#xff0c;农业作为传统行业正面临着前所未有的变革。智慧农业&#xff0c;作为现代农业发展的重要方向&#xff0c;借助云计算、大数据、物联网等技术&#xff0c;正在为农业生产、管理和服务提供全新的解决方案。在这个背景下&#xf…