JavaWeb ( 一 ) HTTP协议

news2024/9/27 23:33:36

1.http协议

1.0.Web

Web指的是World Wide Web,也称为万维网,是一种基于互联网的信息系统,由全球数百万个网站组成。它允许用户通过使用网页浏览器访问和交互信息,例如阅读新闻、购物、发送和接收电子邮件、社交媒体等。

Web使用超文本标记语言(HTML)等标准化语言来展示和交互信息,同时还使用统一资源定位符(URL)和超文本传输协议(HTTP)等协议来进行访问和传输。

1.1.HTTP超文本传输协议

HTTP是指超文本传输协议(Hyper Text Transfer Protocol),它是一种用于在Web浏览器和Web服务器之间传输数据的协议。HTTP是一个应用层协议,它定义了在客户端和服务器之间传输数据的标准格式和规则。HTTP是无状态的协议,这意味着每个请求和响应都是独立的,服务器不会保留有关先前请求的任何信息。

HTTP协议适用于Web应用程序中各种类型的数据传输,这些数据包括HTML文档、图像、样式表、脚本等。

在HTTP请求和响应中,数据被分为头部和主体。HTTP头包含有关请求或响应的信息,例如HTTP方法、请求目标、主体长度、内容类型等。主体通常包含实际的数据。

除了普通的HTTP协议,还有一些扩展的HTTP协议,例如HTTPS(安全HTTP)和SPDY(用于加速Web请求-响应通信的协议)。HTTPS使用加密技术来保护数据传输的安全,SPDY则通过压缩和复用数据来提高性能。

重点 :

  1. 使用最广泛
  2. 传递html(广义的包括HTML, CSS, JavaScript等)
  3. 是一种请求 request / 响应 response 模式的 协议
  4. 是无关状态的协议
  5. 是OSI/RM分层中的应用层协议, 它通常运行在TCP协议之上

在这里插入图片描述

1.2.B/S架构与C/S架构

1.2.1.C/S架构

C/S架构是指客户机 Client 和服务器 Server 结构。
它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。明显特点是使用时要先安装客户端程序并经常性升级。

1.2.2.B/S架构

B/S结构即浏览器 Browser 和服务器 Server 结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。
是对C/S结构的一种变化或者改进的结构。

在这里插入图片描述

1.2.3.两种架构的比较

数据安全性比较 : C/S 结构软件的数据是分布存放的; B/S结构数据集中存放于总部的数据库服务器

数据一致性比较 : C/S 结构必须同步数据才能使用数据; B/S结构不存在数据一致性的问题

数据实时性比较 : C/S 结构不可能随时随地看到当前业务的发生情况; B/S结构实时看到当前发生的所有业务

数据溯源性比较 : C/S 结构在总部不可能查到各分支机构的原始单据; B/S结构可以直接追溯到各级分支机构

服务响应及时性比较 : C/S 结构必须暂停一切业务进行更新; B/S结构总部服务器上更新则全部应用程序更新

网络应用限制比较 : C/S 结构仅适用于局域网内部用户或宽带用户; B/S结构适用于任何网络结构

从开发项目的投入比较 : C/S结构要针对不同的环境开发不同客户端程序; B/S结构只针对浏览器开发

互联网的主流应用是B/S架构

1.3.请求-响应模式

在HTTP协议中,客户端与服务器之间进行通信时,数据传输通常遵循请求/响应模式,即客户端向服务器发送一个请求(request),然后服务器发送一个响应(response)回来。这种模式被称为“请求-响应循环”。

在这里插入图片描述

1.3.1.Request请求

HTTP请求(request)是指客户端向服务器发送的信息。请求通常由一个动词(比如GET或POST)和一个请求URI(Uniform Resource Identifier,统一资源标识符)组成。请求可能包含头部和主体两部分。头部包含一些元数据信息,例如请求的方法、目标资源、使用的协议等。主体则包含请求的实际内容,例如Web表单中用户输入的数据等。
在这里插入图片描述

1.3.2.Response响应

HTTP响应(response)是服务器向客户端发送的信息。响应通常由一个状态码、一个状态文本和一个响应头部组成。状态码指示服务器是否成功处理了请求,例如200表示请求成功,404表示请求的资源不存在等。状态文本提供了一些简短的描述信息。响应头部则包含有关响应的元数据,例如服务器使用的HTTP版本、响应的内容类型、响应内容长度等。响应主体则包含服务器实际返回的数据,例如HTML页面、图像、音频等。

在HTTP请求/响应模式中,客户端向服务器发送请求后,服务器将根据请求处理并返回相应的响应。客户端端可以通过解析响应数据来进行后续的处理和呈现。

1.3.3.响应状态码分类

1xx提示信息–表示请求已接收,继续处理.
2xx成功–表示请求已成功被接收,理解,接受.
3xx重定向–要完成请求必须进行更进一步的操作.
4xx客户端错误–请求有语法错误或请求无法实现.
5xx服务端错误–服务端未能实现合法的请求.

其中常见的状态码

200OK请求成功。一般用于GET与POST请求
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
400Bad Request客户端请求的语法错误,服务器无法理解
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
500Internal Server Error服务器内部错误,无法完成请求
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中

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

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

相关文章

解密.[support2022@cock.li].faust后缀勒索病毒加密的文件:拯救您的企业数据的完整指南!

引言: 您的企业数据是您业务的核心。但是,当.[support2022cock.li].faust后缀勒索病毒突袭您的系统时,您的数据将遭受沉重打击。这种恶意软件利用高级加密算法,将您的文件锁定在无法访问的状态。在这篇详细的指南中,9…

tcp/ip

这里写自定义目录标题 线程 防止阻塞 123 windows下4 https://zhuanlan.zhihu.com/p/139454200 https://www.bilibili.com/video/BV1eg411G7pW/?spm_id_from333.337.search-card.all.click&vd_sourcee7d12c9f66ab8294c87125a95510dac9 with socket.socket() as s:s.bind(…

xcode Swift Log CocoaLumberjack

参考【iOS】CocoaLumberJack日志库集成 - 简书 logging - How to capture Device Logs in iOS during Runtime into a file in Documents Directory from iPhone? - Stack Overflow GitHub - apple/swift-log: A Logging API for Swift 如何导出日志 方法一发邮件&#xf…

Vue——Elementui案例实现

需求分析: 对于上面要仿照的页面先新建一个页面组件EmpView.vue组件在views文件夹下 基本页面布局 对于上面页面的布局其实在Element当中也可以找到相应可以实现的组件, 成功找到一个符合要求的布局,直接复制粘贴到项目里面 此时页面相应的位置已经有了对应的占位单…

自动化运维工具 Ansible

目录 Puppet 自动运维工具特点: Saltstack 自动运维工具特点: Ansible 自动运维工具特点: Ansible 运维工具原理 Ansible 管理工具安装配置 Ansible 工具参数详解 Ansible ping 模块实战 Ansible command 模块实战 Ansible copy 模块实战 Ansib…

uboot第二阶段 start_armboot函数代码分析

1.1、start_armboot函数简介 这个函数整个构成了uboot启动的第二阶段。 1.2、uboot第二阶段做的事情 uboot第一阶段主要就是初始化了SoC内部的一些部件(譬如看门狗、时钟、串口…),然后初始化DDR并且完成重定位。那么,uboot的第…

数字化转型导师坚鹏:企业数字化营销能力提升

企业数字化营销能力提升 课程背景: 很多企业存在以下问题: 不清楚数字化营销对企业发展有什么影响? 不知道如何提升企业数字化营销能力? 不知道企业如何开展数字化营销工作? 课程特色: 原创企业数…

vcruntime140.dll无法继续执行代码?vcruntime140.dll如何修复?只需要3步即可

vcruntime140.dll是用于Microsoft Visual C Redistributable(可再发行组件)的一部分,它是一个动态链接库文件,包含了该软件包提供的运行库。在许多应用程序和游戏中,vcruntime140.dll文件经常被使用。如果该文件缺失或…

Tkinter正则表达式工具

文章目录 🏳️‍🌈 1. 导入tkinter和re模块🏳️‍🌈 2. 设置窗口居中🏳️‍🌈 3. 设置lable、text、button布局🏳️‍🌈 4. 设置下拉列表框🏳️‍🌈 5. 清空文…

Scrum敏捷开发和项目管理流程及工具

Scrum是全球运用最广泛的敏捷管理框架,Leangoo基于Scrum框架提供了一系列的流程和模板,可以帮助敏捷团队快速启动Scrum敏捷开发。 这里可以介绍一下在scrum中单团队敏捷开发如何管理,单团队敏捷开发主要是针对10-15人以下,只有一…

零基础如何学习挖漏洞?看这篇就够了【网络安全】

前言 有不少阅读过我文章的伙伴都知道,我从事网络安全行业已经好几年,积累了丰富的经验和技能。在这段时间里,我参与了多个实际项目的规划和实施,成功防范了各种网络攻击和漏洞利用,提高了安全防护水平。 也有很多小…

Qt常用快捷键

Qt常用快捷键 1.添加头文件:Alt Enter2.查看槽函数的实现 位置:F2 / F43.快速查看帮助文档:F14.代码快速对齐:Ctrl I5.代码全选:Ctrl A6.保存:Ctrl S7.代码复制:Ctrl C8.代码粘贴&#xff…

Flutter之插件开发plugin

目的:适用于独立业务模块,或者与原生页面交互频繁的地方。 基于flutter3.x , IDE :androidStudio 步骤: 1.新建flutter project 【New flutter project】. 2. 在新建工程面板记得切换 Project Type, 选择【PLugin】. 其他的根据足迹需求选择就行。 3. 在flutter主工…

联想凌拓教育行业解决方案

联想凌拓教育行业解决方案 教育部等六部门《关于推进教育新型基础设施建设构建高质量教育支撑体系的指导意见》,指出:信息网络、平台体系、数字资源、智慧校园、创新应用、可信安全的新型基础设施为六大发展重点,需建立全面覆盖的标准规范体…

文献集锦 | 非因生物空间多组学技术在头颈部肿瘤中的研究策略

头颈部鳞状细胞癌(HNSCC)是全球第七大癌症病因,是一种异质性恶性肿瘤,起源于上呼吸道,尤其是鳞状粘膜线。唇部、口腔和鼻腔、鼻窦、喉、鼻咽、口咽和下咽是HNSCC的受累部位。利用空间组学分析平台深入剖析组织肿瘤微环境,对深入理…

【大数据之Hadoop】从自定义 RPC 到 Hadoop RPC ,理解分布式通信系统的底层工作原理

1. 前言 Hadoop是分布式计算系统,在分布式环境中,网络通信模块是其核心模块之一。要学好Hadoop,需理解其底层通信系统的基本工作原理。Hadoop提供有体系完整的RPC框架,实现了对底层网络通信过程的优雅封装。 本文将从RPC概念说起…

从五一的旅游热潮看,该如何实现数字文旅的转型升级?

文旅产业是文化和旅游行业的融合,属于国家战略性产业,资源消耗低,带动系数大,就业机会多,综合效益好。改革开放以来,随着国内工业化、城镇化的快速发展,日益增长的大众化、多样化消费需求为文旅…

java电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标…

JUC多并发编程 对象内存布局

对象的内存布局简介 在 Hotspot 虚拟机里,对象在堆内存中存在布局可划分为三个部分: 对象头(Header), 实例数据(Instance Data) 和对齐填充(Padding 保证8字节位数) 对象头 对象标记 MarkWord, 在64位操作系统中, Mark Word 占8个字节, 类型占 8个字节&…

单词搜索I II/前缀树

79单词搜索 思路: 注意: 我自己在写 for i in range(m):for j in range(n):# 对每一个格子都从头开始搜索if self.__search_word(board, word, 0, i, j, marked, m, n):return True这一段的时候,就写成了: 这一段代码是…