当前位置: 首页 > news >正文

Javaweb————什么是超文本传输协议?

🏍️🏍️🏍️引言:什么是协议?

协议是一种约定,规定好一种信息的格式,如果发送方按照这种请求格式发送信息,那么接
收端就要按照这样的格式解析数据,否则就会出错,这就是协议

常用协议举例:
👓👓👓(1)json协议(轻量级数据交换格式)
基于两种基本结构:
对象:由大括号{ }包围 包含键值对,键必须为字符串并且用双引号包围,值可以是字符串,数字,数组等
数组:由方括号 [ ]包围,值可以是字符串,数字,数组等

数组和对象可以互相嵌套

{
“name":"jack",
age":23
}

👓👓👓(2)xml(可扩展标记语言)协议

<xml>
<user>
<name> jack </name>
<age> 234 (/age>
</user>
</xml>

(3)TCP/UCP 网络传输协议
(4)HTTP:超文本传输协议

🏍️🏍️🏍️一.超文本传输协议

💙定义:即超文本传送协议 Hypertext Transfer Protocol),是Web联网的基础,也是手机PC联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用

💙版本迭代:http0.9-> http1.0-> http1.1->http2.0

💙最显著的特点:客户端发送的每次请求都需要服务器回送响应,从建立连接到关闭连接的过程
称为“一次连接

💙基本流程:HTTP请求-HTTP响应

🏍️🏍️🏍️二.图解HTTP请求响应流程

以京东商城为例子

我们使用谷歌浏览器打开京东商城,然后按下F12打开控制台,选择网络,再点击全部,然后选中图片点开表头,我们就可以可见它的HTTP请求头,如下图所示
在这里插入图片描述

然后再点击预览我们就可以看到服务器返回了一张图片

在这里插入图片描述

返回的正是我们看到京东商城页面上的秒杀图标

在这里插入图片描述
观察控制台可以发现,像其他诸如CSS,JS或者其他文档也都有对应的HTTP请求头和返回结果,读者可以自行尝试

🏍️🏍️🏍️三.HTTP响应状态码

状态码一般是三位数,但是我们通常只看开头的一位就可以定位问题所在
1xx:信息
2xx:成功
比如200表示OK,请求正常
3xx:重定向
4xx:客户端错误404 Not Found,服务器无法找到被请求页面
5xx:服务器错误,比如503 Service Unavailable表示服务器挂了或者不可用

观察下图我们可以发现状态一栏的状态码都是200,以2开头表示请求成功,获取到了对应的资源

在这里插入图片描述

🏍️🏍️🏍️四.HTTPS和HTTP的区别与联系

HTTPS全称是 Hyper Text Transfer Prot ocol over SecureSocket Layer
·主要由两部分组成: HTTP+ SSL/TLS
比HTTP协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。增加破解成本

缺点:相同网络环境下, HTTPS 协议会使页面的加载时间延长近50%,增加额外的计算资源消耗,增加10%到20%的耗电等;不过利大于弊,所以Https是趋势,相关资源损耗也在持续下降

如果做软件压测:应该直接压测内网ip,通过压测公网域名,不管是http还是https,都会带来额外的损耗导致结果不准确

http://www.dtcms.com/a/299037.html

相关文章:

  • 机器学习特征工程详解:特征选择与降维(PCA)
  • 好的编程语言设计是用简洁清晰的原语组合复杂功能
  • Java 问题排查之工具单
  • MCP协议深度解析:客户端-服务器架构的技术创新
  • 零基础 “入坑” Java--- 十四、【练习】图书小系统
  • 力扣---------238. 除自身以外数组的乘积
  • mysql group by 多个行转换为一个字段
  • Java动态调试技术原理
  • Oracle 11g RAC数据库实例重启的两种方式
  • 机器学习——随机森林算法分类问题案例解析(sklearn)
  • SpringMVC——建立连接
  • Python高级入门Day6
  • (React入门上手——指北指南学习(第一节)
  • Earth靶机攻略
  • 公域流量向私域流量转化策略研究——基于开源AI智能客服、AI智能名片与S2B2C商城小程序的融合应用
  • 分治算法 (Divide and Conquer)原理、及示例-JS版
  • 告别配置混乱!Spring Boot 中 Properties 与 YAML 的深度解析与最佳实践
  • C++查询mysql数据
  • linux下变更mysql的数据文件目录
  • CentOS 7 安装 MySQL 8.4.6(二进制包)指南
  • 基于MySQL实现基础图数据库
  • Day04–链表–24. 两两交换链表中的节点,19. 删除链表的倒数第 N 个结点,面试题 02.07. 链表相交,142. 环形链表 II
  • GMP模型
  • 背包问题及 LIS 优化
  • 口腔助手|口腔挂号预约小程序|基于微信小程序的口腔门诊预约系统的设计与实现(源码+数据库+文档)
  • vue子组件关闭自己的方式(事件触发)
  • 上证50指数分红和股指期货有什么关系?
  • MybatisPlus-18.插件功能-分页插件基本用法
  • Vue3 学习教程,从入门到精通,Vue3 样式绑定语法详解与案例(17)
  • 学习随想录-- web3学习入门计划