应用层:HTTP/HTTPS协议

HTTP/HTTPS 协议详解 HTTP与HTTPS协议对比摘要 HTTP是超文本传输协议,基于TCP,端口80,采用请求-响应模式,具有无状态、短连接、明文传输三大特点。HTTPS在HTTP基础上加入SSL/TLS加密层,端口443,实现数据加密、身份认证和完整性校验。两者核心区别在于安全性:HTTP明文传输易被窃听篡改,HTTPS加密传输更安全但性能略低。HTTP适用于内网和非敏感数据传输,HTTPS则用于支付、登录等公网场景。与MQTT、Modbus相比,HTTP更适合接口调用和批量数据传输,但实时性较差。 阅读详情

一.HTTP协议

HTTP(全称为"超⽂本传输协议")是一个应用层使用非常广泛的协议HTTP是一个非常广泛的应用层协议
应用层协议,经常是需要进行“自定义协议”的,但是,很多时候也不一定非得从零设定开始,也可以基于一些大佬们设计好的协议,在这个基础上进行定制,HTTP之所以应用非常广,主要是因为HTTP可定制性非常强,以HTTP为蓝本,在这个基础之上捎带着你想要传输的数据,这个时候就很容易完成一个自定义协议了

什么时候会用到http协议呢?

就比如你浏览网页或着微信小程序, 游戏的加载界面等等情况都会用到

HTTP应用的范围非常广,因此说HTTP是应用层最广泛的协议,不管你是前端还是后端,HTTP是一个程序员必须要掌握的协议

HTTP协议的工作过程

HTTP是一问一答形式的,也就是一个请求对应一个响应

HTTP是一个应用层协议,HTTP请求发送出去之后,就需要从应用层到 传输层再到 网络层再到 数据链路层再到 物理层,层层封装,接收方接收到数据之后,再从物理层到应用层,层层分用,最后才能够完成传输

HTTP的报文协议格式

要想知道http的报文格式就要用到抓包工具,这个工具就是抓包工具,就是把数据包给他抓出来,然后显示这个包的报文格式,抓包工具相当于一个代理,借助这样的代理,就可以看到网络上传输的具体数据

推荐的抓包工具Fiddler和wireshark, 小白建议使用使用fiddler, fiddler专注于抓取http请求

fiddler下载之后一定要勾选https, 否则无法解析https请求

开启抓包工具后, 请求响应的流程就编程以下这个样不再是直接发给服务器了


浏览器访问 sogou.com 时, 就会把 HTTP 请求先发给Fiddler,Fiddler 再把请求转发给 sogou 的服务器. 当 sogou 服务器返回数据时,Fiddler 拿到返回数据, 再把数据交给浏览器. 因此 Fiddler 对于浏览器和 sogou 服务器之间交互的数据细节, 都是非常清楚的.

 

 请求

 get请求一般没有请求正文, 正文中的数据一般是放到url中的查询字符串中后面会介绍到

响应

响应的首行包含版本号 状态码 状态码的解释

 

请求首行

方法

HTTP有很多方法 

但是最常用的是GET和POST
POST:往服务器提交个啥东西
日常开发中绝大部分用的都是GET

而且在日常开发中get和post都是混着用的

那么啥时候能看到POST呢?
1.登陆的时候
2.上传文件的时候
POST请求的正文(body)一般不为空
GET请求的正文(body)一般为空
下面看一个登录的http请求

 现在密码一般都不会是明文传输了经过加密后会变成一串无规律的字符串

GET和POST虽然表示的是不同语义,但是实际上,也并非需要严格遵守,http方法的语义只是一种建议,程序员实际使用的时候,也不一定必须要遵守,毕竟你自己写的代码你自己负责来定义
对于body有没有的情况,也不是绝对的,GET可能也有body,只不过很少见,POST也可以没有body,也比较少见


如果谈到GET和POST有什么区别?(面试题)


没有本质区别!使用GET的场景,替换成POST一般也可以,反过来也行
但是,没有本质区别,不代表没区别!
两者在使用习惯上有区别:
1.GET习惯上用来表示“获取一个数据”,POST则用来表示“提交一个数据”
2.GET一般没有body,需要携带数据就放到URL中,POST一般有body
3.GET请求通常会设计成幂等的,POST则无要求
4.GET是可缓存的(前提是幂等),而POST则不能
5.GET请求可以被浏览器收藏,而POST不能

什么是幂等性?

核心就是重复执行同一操作,返回的结果保持一致

比如牛吃进去的是草,挤出来的是奶
如果每次吃进去的都是草,并且每次挤出来的都是奶,就可以说是幂等
如果每次吃进去的是草,挤出来的不都是奶,就不是幂等
幂等性,在开发中也是很关键的,设计成幂等之后,请求就可以缓存了

 怎么理解缓存呢?

比如1×10 我可以一秒就说出来是等于10,不是因为我脑子快,而是我记住了,因为只计算了一次,我就记住了,后续我再被问1×10,我可以张口就来
缓存可以提高响应速度,节省运算资源

缓存无处不在,既可以在客户端,也可以在服务器

浏览器可以通过ctrl+f5强制刷新来刷新掉缓存

浏览器本质上也是一个程序,在cpu上运行的一系列指令,很有可能cpu也把120给记录下来,后续如果再需要计算5的阶乘,都不许要访问其他设备,自己就知道了,这也是一种缓存 

put 和delete方法(一般不用)

  

 URL

平时我们俗称的"⽹址"其实就是说的URL(UniformResourceLocator统⼀资源定位符).

URL–唯一资源定位符,描述了网络上的唯一的一个资源

这个概念严格的说,并非是HTTP里的概念,很多协议都会用到URL

URL的结构如下图

 

 ?号后面就是查询字符串的内容, 一般get请求方法给服务器发送数据就是通过这个传过去的

urlencode

为什么要encode? 

1.字符集限制
URL最初仅支持ASCII字符集中的部分字符(如字母、数字、部分符号 -._~ 等)。如果包含非ASCII字符(如中文、日文、特殊符号 @#$% 等),直接传输会导致解析错误,因为不同系统对这些字符的处理方式可能不一致。
2.避免歧义(主要)
一些字符在URL中有特殊含义(如 ?分隔路径和参数, & 分隔多个参数, = 表示键值对)。如果这些字符作为普通内容出现在URL中(比如参数值里包含 &),会被误认为是分隔符,导致解析混乱。编码后可将其转换为特殊格式(如 & 编码为 %26),避免歧义。
3.保证传输兼容性
早期网络协议对传输的字符有严格要求,非
标准字符可能在传输中被截断或修改。编码后所有字符都转换为ASCII范围内的百分号加十六进制形式(如中文"中"编码
为 %E4%B8%AD),确保在各种网络环境中稳定传输 

版本号

最常见的是HTTP/1.1,这也是最主流的版本,绝大部分的互联网上的网站用的都是1.1
还有HTTP/1.0 HTTP/2 HTTP/3
后两个版本对HTTP的功能做了很多扩充, 但是也有很多未知的bug,企业不愿承担这样的风险所以大多数企业还是用的1.1版本

请求头(header)

 Host属性

 Content-type和Content-Length


Content-Length 描述了body的长度 单位是:字节

 Content-type 描述了body的数据格式

提示了接收方如何来解析body中的数据,http能携带的数据种类有很多

请求和响应中都会用到这两个header属性

如果有body没有这俩属性都是会错误的, 同样没有body也就会没有这俩属性 

User-Agent(简称UA)

UA主要描述了系统是啥版本,浏览器是啥版本

Referer 

描述了当前这个页面,从哪个页面跳转过来的
如果直接在搜狗主页的地址栏输入url,此时请求中没有referer,如果点收藏夹,效果也一样,如下图,请求的header里就没有referer

假如你从搜狗的页面输入一个信息,然后你到了你想要的信息的页面,就可以看到referer就是sougou主页,因为是从搜狗主页跳转过来的
举个例子

 

Cookie

 Cookie的本质是浏览器在本地存储用户自定义数据的一种关键机制


由于网页有很多,我访问搜狗,是需要存一些数据,访问百度也需要存一些数据,针对这种情况,做法是分开,每个网站都存自己的cookie,cookie是按照域名为维度进行存储的
同一个网站(搜狗的主页,搜狗的结果页,搜狗的图片)都共享一份cookie
不同网站(百度,美团,淘宝)则是各自有各自的cookie


那么针对cookie有三个问题


1.cookie从哪里来?
从服务器来的,当我们的浏览器访问服务器的时候,服务器就会在http响应中,通过Set-Cookie字段,把Cookie的键值对,返回给浏览器,浏览器收到这个数据,就会在本地存储
2.cookie到哪里去?
会在下次请求的时候,把cookie带给服务器,cookie在浏览器这边只是暂存,真正要让这个数据发挥作用,还是得由服务器来使用
3.cookie有啥用?
cookie是浏览器本地存储数据的机制,存储的不一定非得是角色,任何想存的数据都行(前提是字符串)由于cookie存储空间有限,一般也不会用cookie存太大的
cookie这里最典型的应用就是存储用户的身份信息

举个例子

  

 业务场景中cookie和session通常配合出现cookie是在客户端这边session实在服务器那边

session这里不做过多介绍

 当前在http中遇到的键值对


1.url中的query string
2.header部分,每一行都是一个键值对
3.body部分,如果Content-Type为x-www-form-urlencoded或者json,body的内容也是键值对
4.Cookie里面存储的数据还是键值对
这些键值对都是允许用户自定义的
这些自定义键值对,都是http协议留给程序员进行扩展的地方
为什么http能大火,就是因为他强大的扩展性

 

正文(body)

正文中的内容格式和 header 中的 Content-Type 密切相关.可以理解成就是按照Content-Type的格式类型写的

Http响应首行

首行由版本号,状态码,状态码描述组成
状态码 是个数字,数字来表示这次请求执行成功还是失败,以及失败的原因
(比如我用海尔洗衣机,中涂出错了,洗衣机显示一个E02,我就去查了一下,原来E02是错误的标志,什么出错呢?是甩干的时候洗衣机盖子没盖好的标志)
状态码描述 通过一个或者一组单词,描述这个状态码的含义
Http的状态码非常繁多,是因为HTTP遇到的情况太复杂了

虽然上述的状态码很多,但是常见的就几个 

(1).200 OK 表示的是请求成功

 

(2).404 Not Found 表示要访问的资源不存在

 (3).403 Forbidden 访问被拒绝(无权限)

 (3).403 Forbidden 访问被拒绝(无权限)
(4).500 Internal Server Error 服务器内部错误
这个状态码你在互联网上不常见,但是在你自己写代码的过程中非常常见,比如你的服务器bug了,抛了异常但是没有catch到,就会500
(5).504 Gateway Timeout 服务器访问超时了
浏览器给服务器发送请求,服务器就要返回响应,结果服务器迟迟没响应

(6)302Move temporarily 临时重定向
Moved Permanently 永久重定向
重定向:访问旧的地址,被自动引导到新的地址上
临时重定向就是我这次重定向了,下次要不要重定向不确定
状态码虽然很多,但是总的可以分成几个大类

后面的Header和Body响应就和请求没啥区别了,具体参照 http请求 做参考

 如何去构造HTTP请求

1.直接通过地址栏,输入一个url,然后就会构造出一个get请求
2.html中,一些特殊标签,也会触发get请求
例如link,script,img,a
比如有个页面中,有一个img标签,此时当页面被加载好了之后,浏览器就会根据标签的src属性,给服务器发起一个get请求,来获取图片内容(想触发get请求需要是个网络资源,如果是个本地资源,就不会触发get请求)
3.form表单,可以触发get请求和post请求

<form action="https://www.sogou.com/abc/def" method="get">
    <input type="text" name="aaa">
    <input type="text" name="bbb">
    <input type="submit" value="提交">
</form>

form只支持get和post,其他的http方法就无能为力了

(4).ajax[重要]
ajax 全称 Asynchronous Javascript And XML
ajax是一种前端和后端异步交互的一种方式
什么是异步呢?

 异步(Asynchronous)是一种编程或系统设计模式,指任务或操作无需按顺序执行,也无需等待前一个操作完成即可启动后续操作。异步的核心思想是通过非阻塞的方式提高效率

js提供了原生的ajax的api,这个api贼难用,这里用jquery里面提供的ajax的api

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ajax</title>
    <script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
</head>
<body>
    <script>
    $.ajax({
        url: "https://www.sogou.com",
        type: "post",  // 可以写作 post, put, delete 等等。写成大写的也行
        data: "这是 body",
        contentType: "text/plain",
        success: function(body) {
            // 写处理响应的代码
            console.log(body);
        }
    });
    </script>
</body>
</html>

success表示如果请求成功之后,我们要通过一个回调函数来处理响应

回调函数就是不会立刻去调用,而是取决于后端返回响应的时间

 通过postman来构造

以上就是HTTP的基本内容了,用一张图来说就是 

二.HTTPS协议

HTTPS(超文本传输安全协议)是基于HTTP的,仅仅比HTTP多了一个“加密层” S就是secure(安全)

为啥要有HTTPS呢?

归根结底还是安全原因

就比如上面提到的运营商劫持问题

下载⼀个天天动听未被劫持的效果,点击下载按钮,就会弹出天天动听的下载链接.

 已被劫持的效果,点击下载按钮,就会弹出QQ浏览器的下载链接

由于我们通过⽹络传输的任何的数据包都会经过运营商的⽹络设备(路由器,交换机等),那么运营商的⽹ 络设备就可以解析出你传输的数据内容并进⾏篡改.点击"下载按钮",其实就是在给服务器发送了⼀个HTTP请求,获取到的HTTP响应其实就包含了该 APP的下载链接.运营商劫持之后,就发现这个请求是要下载天天动听,那么就⾃动的把交给⽤⼾的响应 给篡改成"QQ浏览器"的下载地址了. 

 为了能够改善上述问题,就引入了加密,因此HTTPS就应运而生了

 对称加密

对称加密:只有一个密钥:key
明文+key==>密文
密文+key==>明文
加密解密使用同一个密钥,对称加密的特点就是算起来比较快速

客户端和服务器最开始通信的时候就得有一方生成唯一密钥通过网络传输给对方

但是用来加密的密钥通过网络传输是明文传输的也很可能会被黑客获取

 此时我们就要对密钥加密

 那如何解决呢? 就需要用到非对称加密

非对称加密

非对称加密:需要两个密钥,一个是公钥(public),一个是私钥(private)
明文+public==>密文
密文+private==>明文
或者
明文+private==>密文
密文+public==>明文
公钥和私钥是对称出现的,用一个加密就用另一个解密
非对称加密相比对称加密消耗的资源更多,效率更低

公钥私钥是服务器来生成的, 服务器保存自己的私钥, 任何客户端都能拿到公钥

也可以想象成公钥就是一把锁, 私钥就是钥匙

 

上述第一次密文请求是用非对称密钥来加密对称密钥(888888) 这样对称密钥就不会被黑客劫持 后面的加密请求和响应就可以通过对称密钥来加密, 之所以不全都使用非对称密钥还是因为非对称密钥消耗的资源更多,效率更低 

 

上述过程看似天衣无缝但是还是存在一个重大漏洞:中间人攻击

中间人攻击

举个例子:一个缉毒警察和三个毒贩ABC 毒贩A和BC认识但是BC不互相认识, 一天毒贩A落网了,为了能立功减罪, 就配合警察抓捕BC,在A的指使下BC要完成一单交易由于不互相认识对方必须要分别跟A对接, 此时缉毒警察就可以代替A分别跟BC对接, 就可以掌握具体的交易时间地点,随后就一锅端了, 上述虽然BC看似完成了对接,但是中间有内鬼

 

上述情况,黑客在中间的操作,客户端和服务器都是感知不到的,我们把这样的操作就叫做中间人攻击
而中间人攻击,破解的关键就是要让客户端能够信任公钥!如果客户端能够识别出这个公钥是不是服务器本身的,那么问题不就迎刃而解了嘛 ,我们就要引入证书

引入证书

个证书不是纸质的证书,而是一串数据(类似于一个对象,里面有很多属性),是一个数字证书。
假如我现在有一个服务器,我就需要去这个机构里申请证书,申请的时候,当然要提交一些材料(甚至要交钱),机构进行审核,审核通过了,就颁发证书。
提交资料的时候,服务器的公钥,也一起提交过去,此时,

证书中就包含了服务器的公钥

 

HTTP/HTTPS 简介 HTTP是一种应用层协议,用于在Web浏览器和服务器之间传输数据。它定义了客户端(如浏览器)和服务器之间的交互规则,使得用户可以通过浏览器访问互联网上的各种资源。HTTPS是HTTP的安全版本,它通过SSL/TLS协议对HTTP协议进行加密,确保数据传输的安全性。HTTP和HTTPS是互联网上最常用的两种协议,它们在信息传输中扮演着至关重要的角色。了解HTTP和HTTPS的基本概念、工作原理、区别与联系,有助于我们更好地理解网络通信的原理,提高网络安全和性能。 阅读详情

相关推荐

android10 部分机型(华为)无法正常更新安装app

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file://storage/emulated/0/文件夹名/***.apk typ=application/vnd.android.package-archive }

森森先生的博客 3927

HTTP/HTTPS应用层攻防:从协议风险到精准拦截的实战体系

HTTP和HTTPS作为Web通信的基础协议,其文本特性和灵活语义既是便利的基石,也潜藏着安全风险。协议层的风险基因,如头部篡改、参数污染、内容类型欺骗等,使得攻击载荷能够伪装在合法请求中。理解这些原理是构建有效防御的前提,其技术价值在于将安全防线从网络层推进到应用层,实现业务逻辑与威胁的精准区分。在实际应用场景中,这要求我们建立多层次检测体系,结合协议合规性校验、语义逻辑分析和威胁特征检测。例如,针对`502 Bad Gateway`等常见错误背后的异常,或`http和https的区别`所隐含的加密与明文

weixin_34254464的博客 257

卫星测试科普(三):卫星载荷的核心测试设备探秘

总的说来,卫星芯片与元器件,部组件与单机,整机与子系统,系统与整星的设计、定型、制造、验证、总装、发射、在轨等环节都离不开各种测试场景,对于这些卫星测试场景而言,“射频三大件”与高速数字示波器是构成强大测试系统的基础。卫星通信信号生成:覆盖Ka、Q等波段,具备扫频、脉冲、数字调制、噪声信号、雷达信号、数据链信号、OFDM 等多种信号库,用于测试和验证卫星电子设备的电气性能、频率响应、抗干扰能力等。卫星的通信需要高效、快速地传输大量数据,高速信号的质量至关重要,如果卫星信号不佳,卫星就会出现故障或者隐患。

spwbjss的博客 2318

计算机网络---应用层(http协议)

在tcp/ip五层协议模型中,应用层是处于最高层的,主要为应用程序提供服务,我们程序员编写的程序大多数都是运行在应用层的。应用层有很多的协议,主要包括HTTP、DNS、URI、FTP等。 一、简单理解序列化和反序列化 1、什么是序列化、反序列化 协议是一种约定,在socket API中,读写数据都是以字符串的形式进行的,那么要传输一些结构化数据该如何传输呢? 例如:传输一个结构体 序列化:在传输时,将结构化数据以字符串的形式传输过去。 反序列化:将接收到的字符串在转换成结构化数据。 2、网络版计

qq_47406941的博客 2515

第一届“龙信杯”电子数据取证竞赛Writeup

第一届“龙信杯”电子数据取证竞赛Writeup

toto的博客 1万+

从零上手HiAgent:构建能听懂指令的智能体框架实战指南

智能体(Agent)作为人工智能领域的重要范式,正从传统的预设流程自动化转向以目标驱动的自主规划与执行。其核心原理在于利用大语言模型(LLM)作为决策大脑,通过任务规划、工具调用与记忆机制,将模糊的自然语言指令转化为可执行的工作流。这一技术显著提升了人机协作的效率和自然度,其价值在自动化办公、数据分析与智能流程编排等场景中尤为突出。本文聚焦于HiAgent这一具体框架,深入解析其作为智能体开发平台的核心架构,涵盖规划器、执行器、工具集等关键组件,并提供从环境配置、自定义工具开发到复杂任务链构建的完整工程实践

weixin_29266007的博客 888

应用层-详解HTTP协议

超万字详解带你了解HTTP,干货满满!

hlizoo的博客 955

打开 AI 投研新时代 —— 深度解析 GitHub 高星项目 daily_stock_analysis

GitHub热门开源项目"daily_stock_analysis"是一款AI驱动的智能股票分析工具,能自动抓取行情数据、分析新闻语义并生成结构化报告。该项目采用Python开发,通过GitHub Actions实现全自动运行,支持邮件、企业微信等多渠道推送。核心功能包括AI决策仪表盘、多数据源整合和零成本部署方案,特别适合需要自动化投研辅助的个人投资者。项目强调其仅为分析工具而非投资建议,提醒用户注意AI模型的潜在误差。该工具通过智能化处理重复工作,帮助投资者提升决策效率,成为量化投资

陈奕昆的博客 1526

【网络】HTTP协议——应用层协议、URL、HTTP协议格式、HTTP的方法、HTTP的状态码、HTTP常见Header

Linux网络、应用层、HTTP协议、URL、urlencode和urdecode、HTTP协议格式、HTTP的方法、HTTP的状态码、HTTP常见Header

Crocodile1006的博客 1775

YOLOv8改进 | Conv篇:基于FasterBlock与C2f结构的二次创新,参数量下降70万【附保姆级代码】

通过引入FasterBlock二次创新C2f结构,我们成功地对YOLOv8模型进行了优化,显著降低了其参数量,并提升了推理速度,而精度保持不变甚至有所提升。该模型在多个实际应用场景中展现出了优异的性能,尤其是在嵌入式设备、移动端和自动驾驶等领域,具有广泛的应用潜力。未来的研究将进一步优化模型结构,探索更多的应用场景,为目标检测技术的发展做出贡献。

一键难忘的博客 3214

PDBfixer:蛋白质结构修复工具

本文介绍蛋白质数据银行(PDB)文件常见问题及修复工具PDBFixer的使用方法。PDB文件常存在缺失原子、残基等问题,PDBFixer可通过GUI、命令行或Python API实现自动化修复。文章详细说明安装方法、命令行参数、Python脚本修复流程及非标准残基替换表,并与Modeller、ColabFold和Rosetta Remodel等其他修复工具进行对比分析,提供了各工具的特点、适用场景和典型计算时间比较,帮助用户根据具体需求选择合适的修复工具。

Protein Designer的博客 611

HTTP/HTTPS协议的应用

下面我将,帮助你更全面理解其在现代互联网中的作用。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1312

Mac 安装neo4j(解压版)最新版本教程

本文介绍了在Mac M系列操作系统上安装Neo4j图数据库的具体步骤。内容包括:从官网下载解压版Neo4j社区版压缩包;通过终端命令将其解压到/opt目录并重命名;配置环境变量以便全局访问;以及常用命令如启动/停止服务、重置密码等。安装完成后,用户可通过浏览器访问http://localhost:7474,使用默认账号neo4j/neo4j登录并根据提示重置密码。该教程简洁明了地指导用户完成Neo4j在Mac上的安装配置过程。

猿小白的博客 909

网络协议栈--应用层--HTTP协议

此处我们使用 8081 端口号启动了HTTP服务器. 虽然HTTP服务器一般使用80端口,但这只是一个通用的习惯. 并不是说HTTP服务器就不能使用其他的端口号.使用Edge测试我们的服务器时, 可以看到服务器打出的请求中还有一个。最常见的状态码, 比如 200(OK), 404(Not Found), 403(Forbidden), 302(Redirect, 重定向), 504(Bad Gateway)(2)请求报头(Header): 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;

weixin_70056514的博客 887

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Linux网络:应用层协议http/https

服务器接受到请求报头时,识别http版本,用对应的http版本进行处理业务。URL会将这些关键字进行转义,将需要转码的字符转化为16进制,然后从右到左取4位,不足4位直接处理,再每2位做一位前加上%,编码成%XY的形式。200(OK) ,404(Not Found) ,403(Forbidden) ,302(重定向) ,504(Bad Gateway)等等。响应报头中的状态码:表示服务器处理请求的情况,常见的状态码有200(OK)、404(Not Found)等。后查询字符串,是这次http请求的参数。

m0_61088872的博客 1474

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

协议:应用层开发都会涉及哪些协议 / 详细整理 / http、ws、https、wss

HTTP协议演进与Web技术选型指南 摘要:本文系统对比了HTTP协议三个版本的特性差异,重点分析了HTTP/1.1到HTTP/3(QUIC)的底层协议优化(TCP→UDP)、多路复用改进(串行→二进制分帧→无阻塞流)及安全增强(0-RTT握手)。同时梳理了HTTPS/TLS握手流程中的关键安全配置,包括证书链管理、前向保密等防护措施。针对不同应用场景,对比了REST/GraphQL/gRPC等API架构的适用性,并给出WebSocket心跳、消息队列选型等实战建议。最后提供了包含JWT/OAuth2/SA

snow的博客 543

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【计算机网络】第 4 期:应用篇 —— 我们用的 APP,背后靠什么协议?拆透 HTTP/HTTPS、DNS 与应用层逻辑

上一期我们搞懂了传输层的核心:TCP 靠 “确认 + 重传” 抗丢包,UDP 靠 “放弃抗丢包” 换实时性。但最终,这些底层能力都要服务于 “应用”—— 你刷的网页、发的微信、查的地图,背后都是应用层协议在 “翻译” 需求。这一期我们聚焦 TCP/IP 模型的最上层 ——,拆透 3 个最常用的协议:HTTP/HTTPS(网页与接口通信)、DNS(域名找 IP),以及应用层如何 “利用底层协议解决实际问题”,最后整理应用层的高频面试题。

lxyydh88888888的博客 1384

初始JavaEE篇 —— 网络原理---应用层协议:深入理解 HTTP/HTTPS

自定义协议:行文本、xml、json;http协议:请求报文 与 相应报文的格式分析;https协议

我要学编程的博客 3225

初始 JavaEE 篇 —— 网络原理:应用层协议——深入理解 HTTP/HTTPS

在本文中,我们将深入理解 HTTP 和 HTTPS 协议的工作原理,常见的请求方法,如何在 JavaEE 中进行 HTTP 请求处理,以及如何使用 HTTPS 来加密数据。是基于 HTTP 协议的安全版本,通过在 HTTP 协议的基础上加入 SSL/TLS(安全套接字层/传输层安全协议)进行加密通信,从而保障数据的安全性和隐私性。理解 HTTP 和 HTTPS 的工作原理以及如何在 JavaEE 中使用这些协议,对于开发安全和高效的 Web 应用至关重要。,直接与用户的应用程序交互,用于数据的请求和响应。

小蜗牛的珍贵百宝箱 1163

Http1,Http2与Https区别和联系

本文详细解析了HTTP协议及其演进版本的核心特性。HTTP1作为基础协议具有无连接、无状态特性,通过Cookie/Session/Token等应用层方案实现状态管理,但存在明文传输缺陷。HTTP2通过二进制分帧、多路复用、头部压缩等技术大幅提升性能,保持语义不变。HTTPS则在HTTP基础上加入TLS/SSL加密层,实现数据加密、身份验证和完整性保护。三者形成技术演进链条:HTTP1奠定基础架构,HTTP2优化性能,HTTPS保障安全。实际应用中需根据场景选择协议组合,如敏感数据必须采用HTTPS,状态管理

资深系统架构,深耕高并发研发与 AI 大模型工程化落地。技术栈以 Python (AI/NLP/RAG/Agent) 与 Golang (高并发架构) 为双核心,兼具 PHP 大型应用经验。专注算法落地、复杂系统设计及团队技术赋能 2942

HTTP/HTTPS 从入门到底层

原理:用哈希函数(MD5/SHA256)对数据做运算,生成固定长度的「指纹」(比如 SHA256 生成 32 字节)。特点:同一数据 → 同一指纹(哪怕改 1 个字符,指纹完全不同)。不可逆(无法从指纹反推原数据)。用途:判断数据是否被篡改(比如 Session ID 就是基于摘要生成的)。进阶:摘要用私钥加密 → 数字签名(防篡改 + 防冒充)。密钥组用途特点CA 公钥 + 私钥验证证书合法性,确保服务端公钥可信内置在客户端,无法伪造服务端公钥 + 私钥。

2302_81335080的博客 402

应用层协议HTTP、HTTPS

应用层协议可以自主实现,其中有一个很好的协议,HTTP协议:超文本传输协议,定义了客户端(例如浏览器)和服务端之间的通信,以交换或者传输超文本(例如HTML)。它是一个无连接、无状态的协议,也就是每一次通信都要重新建立连接并且服务端不会保留客户端的状态信息。

zc331的博客 550

网络:TCP/UDP;HTTP/HTTPS;Socket,WebSocket;UnityWebRequest

HTTP/HTTPS 与 TCP/UDP 是计算机网络中,它们共同协作以实现互联网通信。

无 839

HTTP和HTTPS的学习

HTTPS(HyperText Transfer Protocol Secure)是 HTTP 的安全版本,通过 SSL/TLS 协议对通信内容进行加密,确保数据在传输过程中不被窃取或篡改。HTTP(HyperText Transfer Protocol)是用于传输超文本的协议,是互联网上应用最广泛的基础通信协议。HTTPS(HyperText Transfer Protocol Secure)是HTTP的安全版本,通过SSL/TLS协议对传输数据进行加密。

weixin_66848221的博客 1665

网络通讯核心|HTTP/HTTPS 协议详解,从基础到安全

本文详解HTTP与HTTPS协议,拆解HTTP核心特点、报文结构及状态码,解析HTTPS加密原理与CA认证,厘清两者区别,助你快速掌握浏览器与服务器的通信逻辑。

网安学习者一位 1853

HTTP与HTTPS的区别:不只是多了一个S那么简单

HTTP(HyperText Transfer Protocol,超文本传输协议)是客户端与服务器之间传输超文本(网页、图片、接口数据等)的基础协议,诞生之初的核心诉求是“实现数据互通”,并未考虑安全问题。它工作在应用层,依赖TCP协议建立连接,传输过程中所有数据均为明文,相当于“裸奔”传输。正因为明文传输的特性,HTTP协议“防君子不防小人”,有心人可轻松劫持、窃听甚至篡改传输数据,比如拦截用户的登录密码、浏览记录等敏感信息。

chengxuyuan55的博客 6726
上一篇: 网络编程--TCP/UDP Socket套接字
下一篇: 传输层:UDP/TCP协议
刘 大 望
博客等级 码龄2年 896粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值