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

计算机网络笔记、面试八股(二)——HTTP协议

本章目录

    • 2. HTTP协议
      • 2.1 HTTP协议简介
      • 2.2 HTTP协议的优点
      • 2.3 HTTP协议的缺点
      • 2.4 HTTP协议属于哪一层
      • 2.5 HTTP通信过程
      • 2.6 常见请求方法
      • 2.7 GET和POST的区别
      • 2.8 请求报文与响应报文
        • 2.8.1 HTTP请求报文
        • 2.8.2 HTTP响应报文
      • 2.9 响应状态码
      • 2.10 HTTP 1.0和1.1的区别
        • 2.10.1 长连接
        • 2.10.2 错误响应码
        • 2.10.3 缓存处理
        • 2.10.4 带宽的优化以及网络连接的使用
      • 2.11 Cookie和Session
        • 2.11.1 Cookie
          • 2.11.1.1 Cookie作用
          • 2.11.1.2 Cookie常见属性
          • 2.11.1.3 Cookie存储类型
          • 2.11.1.4 Cookie的特点
        • 2.11.2 Session
          • 2.11.2.1 Session的特点
        • 2.11.3 Cookie和Session的区别

2. HTTP协议

2.1 HTTP协议简介

HTTP协议,全称超文本传输协议(Hypertext Transfer Protocol),是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。

  • 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法
  • HTTP协议有多个版本,目前广泛使用的是HTTP/1.1版本。
  • HTTP协议是一个无状态协议(stateless)
    • 无状态的理解:服务器不维护任何有关客户端过去所发请求的消息。
    • 有状态协议会更加复杂,因为需要维护状态(即历史信息),而如果客户端或服务器失效,产生的状态会不一致,解决这种不一致的代价更高。
  • HTML是一门语言,全称是超文本标记语言,超文本的意思就是不只是文本,还可以包含图片、链接、音乐甚至程序等非文字元素。
  • 网络协议:是计算机之间为了实现网络通信而达成的一种“约定”或者“规则”,这样不同厂商的生产设备以及不同操作系统组成的计算机之间,都可以实现通信。

2.2 HTTP协议的优点

  • HTTP协议支持客户端/服务端模式,也是一种请求/响应模式的协议。
  • 简单快速:客户端向服务器请求服务时,只需传送请求方法和路径。
    • 请求方法常用的有GET、POST、HEAD
  • 灵活:HTTP允许传输任意类型的数据对象,传输的类型由Content-Type加以标记。
  • 无连接:限制每次连接都只处理一个请求。当服务器处理完请求,并收到客户端的应答之后,就会断开连接(短连接)。
    • 但是这种无连接却不利于客户端和服务器保持会话连接。为了弥补这种不足,产生了两项记录HTTP状态的技术:Cookie和Session。
  • 无状态:指协议对于事务处理没有记忆。若后续处理需要前面的信息,则必须重传。

2.3 HTTP协议的缺点

  • 请求信息明文传输,容易被窃听截取。
  • 数据的完整性未校验,容易被篡改
    • 所谓完整性是指信息的准确度。若无法证明其完整性,通常也就意味着无法判断信息是否准确。换句话说,没有任何办法确认,发出的请求/响应和接收到的请求/响应是前后相同的。
  • 没有验证对方身份,存在冒充危险
    • HTTP协议中的请求和响应不会对通信方进行确认。任何人都可以伪造虚假服务器欺骗用户,实现“钓鱼欺诈”,用户无法察觉。

2.4 HTTP协议属于哪一层

HTTP属于应用层协议,以TCP协议(传输层)作为底层协议(用于识别该连接请求,解封包,一层一层的剥开),默认端口是80(注意是服务器的端口)。

2.5 HTTP通信过程

HTTP通信是指HTTP客户端(即浏览器)通过URL向HTTP服务端(即WEB服务器)发送请求。

  • 服务器在80端口等待客户端请求
  • 浏览器输入URL,经过DNS域名解析为服务器IP
  • 浏览器发送TCP请求,通过三次握手建立和服务器的连接(创建套接字Socket)
    • 浏览器是以随机端口发送的请求,而服务器是以80端口接收的请求
  • 浏览器发送HTTP请求,服务器返回HTTP响应,即交换HTTP消息
  • 客户端将相应得到的HTML代码和资源渲染到前端给用户
  • 关闭TCP连接

2.6 常见请求方法

  • GET:请求指定的页面信息,并返回实体主体。
  • POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)
    • 数据被包含在请求体中
    • POST请求可能会导致新的资源建立或已有资源的修改
  • HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头
  • PUT:从客户端向服务器传送的数据取代指定的文档的内容
  • DELETE:请求服务器删除指定的页面

2.7 GET和POST的区别

  • 结构:都包含请求头和请求行,POST多了一个请求正文body。

  • 用途:GET多用来查询,请求参数放在URL中,不会对服务器上的内容产生作用。POST多用来提交,如把账号密码放在body中。

  • 安全性:GET是直接添加在到URL后面的,直接就可以在URL中看到内容,而POST是放在报文内部的,用户无法直接看到,比较安全。

    • GET方式请求的参数会跟在URL后面,以**?来分隔URL和参数,如果有多个参数,那么参数之间使用&**连接
  • 长度限制:GET提交的数据长度是有限制的,因为URL有长度限制,具体的长度限制是由浏览器决定的。而POST没有长度限制。

  • 缓存:GET可以被缓存,而POST不能被缓存

  • 历史:GET参数保存在浏览器历史中,而POST不会。

  • 后退按钮/刷新:GET请求来说,无害。对于POST请求来说,数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KuLvE3Ct-1677292494577)(计算机网络/image-20220412105554174.png)]

2.8 请求报文与响应报文

2.8.1 HTTP请求报文

请求报文包含三个部分:

  • 请求行

    • 请求行包含请求方法URL协议/版本
  • 请求头

    • 请求头包含许多有关客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。
    • User-Agent:HTTP客户端运行的浏览器类型的详细信息。通过该头部信息,web服务器可以判断到当前HTTP请求的客户端浏览器类别。
    • Accept:指定客户端能够接收的内容类型,内容类型中的先后次序表示客户端接收的先后次序。实例:Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.8,image/png,*/*;q=0.5
    • Accept-Language:指定HTTP客户端浏览器用来展示返回信息所优先选择的语言。
    • Accept-Encoding:指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。而这里设置的就是客户端浏览器所能够支持的返回压缩格式。
    • Accept-Charset:浏览器可以接受的字符编码集。实例:Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
    • Content-Type:显示此HTTP请求提交的内容类型。一般只有post提交时才需要设置该属性。实例:Content-type: application/x-www-form-urlencoded;charset:UTF-8
    • Content-Length:表示web服务器返回消息正文的长度
    • Connection:表示是否需要持久连接。
    • cookie:HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
    • Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
    • Cache-Control:指定请求和响应遵循的缓存机制。
    • Date:消息发送的时间,服务器响应中要包含这个头部,因为缓存在评估响应的新鲜度时要用到。
    • Via:列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器,他们用什么协议(和版本)发送的请求。当客户端请求到达第一个代理服务器时,该服务器会在自己发出的请求里面添加 Via 头部,并填上自己的相关信息,当下一个代理服务器 收到第一个代理服务器的请求时,会在自己发出的请求里面复制前一个代理服务器的请求的Via头部,并把自己的相关信息加到后面,以此类推,当 OCS 收到最后一个代理服务器的请求时,检查 Via 头部,就知道该请求所经过的路由。例如:Via:1.0 236-81.D07071953.sina.com.cn:80 (squid/2.6.STABLE13)
  • 请求正文

    • GET请求不包含,POST请求包含
    • 请求正文中可以包含客户提交的查询字符串信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y4iGhHR4-1677292494577)(计算机网络/1460000023940347.webp)]

例子:

POST/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflateusername=jinqiao&password=1234

**Note:**请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。这个空行发送回车符和换行符,通知服务器以下不再有请求头。

2.8.2 HTTP响应报文

响应报文包含三个部分:

  • 状态行
    • 状态行由协议版本、数字形式的状态码、及相应的状态描述,各元素之间以空格分隔。
  • 响应头
  • 响应正文
    • 响应正文包含着我们需要的一些具体信息,比如cookie,html,image,后端返回的请求数据等等。
img

**Note:**响应正文和响应头之间有一行空行,表示响应头的信息到空行为止。

2.9 响应状态码

状态码分类常见状态码:

  • 1XX:信息型,服务器收到请求,客户端可继续发送请求

  • 2XX:成功型:服务器成功收到请求,理解并处理

    • 200 OK:客户端请求成功

    • 204 No Content 成功,但不返回任何实体的主体部分

    • 206 Partial Content 成功执行了一个范围(Range)请求

  • 3XX:重定向,服务器要求客户端重定向

    • 301 Moved Permanently 永久性重定向,响应报文的Location首部应该有该资源的新URL
    • 302 Found 临时性重定向,响应报文的Location首部给出的URL用来临时定位资源
    • 303 See Other 请求的资源存在着另一个URI,客户端应使用GET方法定向获取请求的资源
    • 304 Not Modified 服务器内容没有更新,可以直接读取浏览器缓存
  • 4XX:客户端错误,客户端的请求包含语法错误或无法完成请求

    • 400 Bad Request 表示客户端请求有语法错误,不能被服务器所理解
    • 401 Unauthonzed 表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用
    • 403 Forbidden 表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因
    • 404 Not Found 请求的资源不存在,例如,输入了错误的URL

  • 5XX:服务器错误,服务器在处理请求的过程中发生了错误

    • 500 Internel Server Error 表示服务器发生不可预期的错误,导致无法完成客户端的请求
    • 503 Service Unavailable 表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常
      • 503 Service Unavailable的原因及如何解决

2.10 HTTP 1.0和1.1的区别

2.10.1 长连接

在HTTP/1.0中,默认使用的是短连接,也就是每次请求都要重新建立一次连接。采用TCP协议保证可靠传输时,每次建立连接和断开连接都需要进行三次握手和四次挥手。如果每次都这样的话,开销比较大,因此从HTTP/1.1起,默认采用长连接。在请求头中的参数为Connection: keep-alive

HTTP/1.1 的持续连接,有非流水线方式和流水线方式 。

  • 流水线方式,是客户在收到 HTTP 的响应报文之前,就能接着发送新的请求报文;
  • 非流水线方式,是客户在收到前一个响应后才能发起下一个请求

2.10.2 错误响应码

在HTTP/1.1中,新增了24个错误状态响应码,如:

  • 409:表示请求的资源与资源的当前状态发生冲突
  • 410:表示服务器上的某个资源被永久性地删除

2.10.3 缓存处理

HTTP/1.0中主要使用请求头中的If-Modified-SinceExpires来作为缓存判断的标准

HTTP/1.1中引入了更多的缓存控制策略,如强缓存和协商缓存,支持断点传输,以及增加了Host字段(使得一个服务器能够用来创建多个Web站点)如Entity tagIf-Unmodified-SinceIf-MatchIf-Node-Match

2.10.4 带宽的优化以及网络连接的使用

HTTP/1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象传送了进来,并且不支持断点续传等功能;

HTTP/1.1中,在请求头引入了range头域,它允许只请求资源的某个部分,即返回码为206(Partial Content),这样方便开发者自由的选择,以便于充分利用带宽和连接。

2.11 Cookie和Session

HTTP是一种无状态的协议,服务端不会保留与客户端通信时的任何状态。这样做的目的也是为了减轻服务端的记忆负担,使得服务端能够快速处理大量的事务,提高效率。

然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,如Cookie。

2.11.1 Cookie

Cookie指的是浏览器里面能够永久存储的一种数据。

Cookie由服务器生成,发送给浏览器并保存在本地的小型文本数据。浏览器下一次访问相同服务器时,会在请求头中携带cookie发送到服务器上。

  1. 首次请求:浏览器第一次发送请求到服务器;
  2. 响应:服务器对浏览器给出响应,创建并通过响应头 Set-Cookie 将 Cookie 发送给浏览器,Cookie的内存为要保存的数据;
  3. 存储:浏览器接收到响应后会将 Cookie 中的数据存储在文件或内存中,并给Cookie一个有效期;
  4. 携带:当浏览器再次向服务器发送请求时,会通过请求头将 Cookie 传递给服务器;
  5. 获取:服务器解析收到的Cookie,然后给出响应。
2.11.1.1 Cookie作用
  1. 服务端识别客户端身份
  2. 记录历史
2.11.1.2 Cookie常见属性

Cookie 是一段不超过 4KB 的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制 Cookie 有效期、安全性、使用范围的可选属性组成。

2.11.1.3 Cookie存储类型
  1. Session Cookie:会话Cookie是存放在客户端的浏览器内存中的,只在当前会话有效,在用户关闭会话页或者关闭浏览器时就销毁。
  2. Permanent Cookie:持久化Cookie是存放在客户端的硬盘中的,超过过期时间或者用户在网页中点击“注销”等按钮才会失效。
2.11.1.4 Cookie的特点
  1. Cookie只存储在客户端,安全性低,一般用于存储少量的不敏感的信息
  2. Cookie只能存储字符串,想存储其他类型的数据,需要将其转换成字符串
  3. Cookie方便与JS交换数据,方便获取用户信息
  4. Cookie遵循同源策略,不能跨域访问,除非特别部署
  5. 浏览器对单个Cookie大小有限制(4KB),并对统一域名下的Cookie总数量也有限制(20个)
  6. 浏览器可能会禁用Cookie

2.11.2 Session

由于Cookie存储在客户端,安全性低,我们希望登录状态这些数据能存储在服务端,于是就有了Session。

Session,会话,指客户端与服务端进行通信的过程。比如用户在浏览器中点击一个超链接访问Web资源,到关闭该标签页就是一个Session过程。

  1. 客户端第一次请求服务器时,提交用户名和密码等信息进行登录认证,服务器根据客户端提交的信息进行鉴权。鉴权成功后,创建Session对象,用来保存相关数据,如用户角色、登录时间等。
  2. 服务器响应时,将此Session的唯一标识信息SessionID返回给客户端。客户端收到后,将此SessionID存入到Cookie中,同时Cookie记录此SessionID属于哪个域名。
  3. 客户端之后的每次请求,浏览器都会将当前域名下的Cookie信息发送给服务器
  4. 服务器解析Cookie,获取到SessionID,查找与之对应的Session对象。
    • 如果Session对象存在则说明用户已经登录,返回请求数据。
    • 如果Session对象不存在或者已过期,则展示错误信息,并返回登录界面。
2.11.2.1 Session的特点
  1. Sessio是服务端保存数据的一种机制,用户的一些关键信息会保存在Session中
  2. Session可以保存在文件、数据库、内存中
  3. 每个用户对应一个独立的Session,服务端会存储很多Session
  4. 每个Session都有自己唯一的SessionID,用于标识客户端
  5. Session都有过期时间,如果一定时间没更新数据,就会消失。

2.11.3 Cookie和Session的区别

相关文章:

计算机网络笔记、面试八股(二)——HTTP协议

本章目录2. HTTP协议2.1 HTTP协议简介2.2 HTTP协议的优点2.3 HTTP协议的缺点2.4 HTTP协议属于哪一层2.5 HTTP通信过程2.6 常见请求方法2.7 GET和POST的区别2.8 请求报文与响应报文2.8.1 HTTP请求报文2.8.2 HTTP响应报文2.9 响应状态码2.10 HTTP 1.0和1.1的区别2.10.1 长连接2.1…...

docker快速上手使用

文章目录一、docker概述1. 为什么需要docker2. 什么是docker3. docker和虚拟机的区别4. docker三要素二、docker安装1. 添加app源2. 安装docker社区版3. 更换国内docker镜像源三、docker基本使用方法1. 获取镜像2. 查看当前系统中的docker镜像3. 运行docker容器4. 查看当前存在…...

<c++> 类的构造函数与类的析构函数

文章目录类的构造函数什么是构造函数声明和定义构造函数如何使用构造函数默认构造函数类的析构函数什么是析构函数声明和定义析构函数小练习银行账户执行效果类的构造函数 什么是构造函数 Q:什么是类的构造函数 A:构造函数是类的一种特殊成员函数,不需…...

华为OD机试真题Java实现【玩牌高手】真题+解题思路+代码(20222023)

玩牌高手 给定一个长度为n的整型数组,表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌, 请计算所有轮结束后其可以获得的最高总分数。 选择规则如下: 1、在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。 2、选手也可不选择本轮…...

Hive Sql整体优化思路

如果遇到sql性能问题,可以先查看4040页面的sql执行信息。一个sql解析为多个stage,一个stage分为多个task。对问题Sql的某一个stage,基本的分析思路如下:所有的task都慢,检查下是否有笛卡尔积(关联字段重复值、关联字段…...

【华为OD机试模拟题】用 C++ 实现 - 数组的中心位置(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...

取指定数值的地址 (int 转 void *)

int a 0x12345678 是一个地址void *p (void *)a; 提示下马错误;Error: cast to pointer from integer of different size [-Werrorint-to-pointer-cast]This error occurs when there is an attempt to convert an integer to a pointer of a different size. Thi…...

C#的多线程、线程池和Task

线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。 线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的…...

Day20【元宇宙的实践构想06】—— 元宇宙与Web3.0

💃🏼 本人简介:男 👶🏼 年龄:18 🤞 作者:那就叫我亮亮叭 📕 专栏:元宇宙 部分资料参考文献: 成生辉教授的《元宇宙:概念、技术及生态》和百度相关…...

极限熵和冗余度

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 信息冗余度(多余度、剩余…...

女生学习大数据专业未来前景怎么样

学习大数据与性别没有什么太大关系,各有优势。就目前的发展前景来说,大数据还是非常不错的,至于好不好就业就要看你个人学习的怎么样,以及学历是否过关了~ 据《新职业——大数据工程技术人员就业景气现状分析报告》显示&#xff…...

主题模型实践

目录 一.TF-IDF 二.LSI 三.相似度 四.主题和主题分布 五. LDA计算的相似度 六.LDA过程 七.主题 八.主题和主题分布 九.数据处理流程 十.常用正则表达式 十一.代码 一.TF-IDF 二.LSI 三.相似度 四.主题和主题分布 五. LDA计算的相似度 六.LDA过程 七.主题 八.主题和主…...

按字典序排列的最小的等价字符串[拆解并查集]

并查集前言一、按字典序排列的最小的等价字符串二、并查集总结参考文献前言 并查集有什么用?并查集是什么?搞懂这两个问题,相关的并查集问题就变得非常easy! 一、按字典序排列的最小的等价字符串 二、并查集 有一种方法&#x…...

操作系统——6.系统调用

目录 1.概述 2.系统调用的定义和作用 2.1 定义 2.2 功能 2.3 分类 3.系统调用和库函数的区别 4.系统调用背后的过程 5.小结 1.概述 这篇文章我们主要来介绍一下操作系统中的系统调用,下面来看一下具体的框架图: 2.系统调用的定义和作用 2.1 定…...

JavaScript DOM操作

目录 获取元素: 修改元素属性: 添加、删除、替换元素: 修改样式: DOM(文档对象模型)是一种用于操作 HTML 和 XML 文档的 API。JavaScript 通过 DOM API 可以访问和操作页面中的元素、属性和样式等。 获…...

【数据结构】顺序表

文章目录前言初始化顺序表打印顺序表检查容量判空顺序表数据个数尾部插入尾部删除头部插入头部删除在pos位置插入数据删除pos位置的数据查找数据修改数据销毁顺序表整体代码写在最后前言 顺序表作为数据结构中的小小弟,还是很好应付的。说到数据结构,顺序…...

【人工智能 AI 】RPA 架构师需要具备的技能有哪些?RPA Solution Architect

RPA 架构师需要具备的技能有哪些?使用markdown格式,不少于3000字,细化到3级目录。 文章目录 一、RPA架构师需要具备的技能1. 对RPA的理解2. 对RPA技术的熟练掌握2.1 RPA系统的架构模式2.2 RPA软件的操作模式2.3 RPA程序的编写方式3. 对RPA应用的知识4. 对软件开发的基本知识…...

【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)

鉴频鉴相器设计(Phase Frequency Detector,PFD)前言一、 PFD的工作原理二、 PFD电路设计(1)PFD电路图(2)D触发器电路图(3)与非门(NAND)电路图&…...

【Linux】进程间通信介绍 | 管道

​🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉进程间通信…...

这次说说腾讯的一场 35K—55K 的 Android 高工面试

一、面试的由来 事情是这样的,因为跟公司发展一些想法的不同,早在十月份的时候就有了跳槽的想法,但是碍于老大的面子就一直就没有跟人事说出口,打算着等到年后金三银四在试试跳槽。 但是发生一件事终于让我忍不住了,…...

Jenkins第一讲

目录 一、Jenkins 1.1 敏捷开发与持续集成 1.1.1 敏捷开发 1.1.2 持续集成 1.2 持续集成工具 1.2.1 jenkins和hudson 1.2.2 技术组合 1.2.3 部署方式对比 1.3 安装Jenkins 1.3.1 下载Jenkins的war包 1.3.2 开启Jenkins 1.4 Jenkins全局安全配置 1.5 使用Jenkins部…...

变分推断 | MATLAB实现VBMC变分贝叶斯蒙特卡洛模拟的贝叶斯推断

变分推断 | MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断 目录 变分推断 | MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断效果一览基本介绍研究内容模型描述模型设计参考资料效果一览 基本介绍 MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断。变分贝叶斯蒙特卡洛(VBMC)是…...

代码随想录【Day25】| 216. 组合总和 III、17. 电话号码的字母组合

216. 组合总和 III 题目链接 题目描述: 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输…...

web中git漏洞的形成的原理及使用

目录 1.Git漏洞的成因 1.不正确的权限设置: 2.代码注入漏洞: 3.未经身份验证的访问: 4.非安全传输: 5.跨站脚本攻击(XSS): 2.git泄露环境的搭建 git init: git add&#xff1…...

【SPSS】单样本T检验分析详细操作教程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

计算机网络笔记、面试八股(三)—— HTTPS协议

本章目录3. HTTPS协议3.1 HTTPS协议简介3.2 SSL/TLS协议3.2.1 SSL/TLS功能的实现3.3 HTTP和HTTPS的区别3.4 HTTPS协议的优点3.5 HTTPS协议的缺点3.6 HTTPS协议的工作流程3.7 HTTPS是如何解决HTTP的缺点的3.7.1 解决内容可能被窃听的问题——加密3.7.1.1 方法1.对称加密3.7.1.2 …...

浅谈liunx init.d 和 rc.local 两种起动方式

浅谈liunx init.d 和 rc.local 两种起动方式 以rabbitmq 举例 (一).init.d 方式 开机自动重启设置 1.在/etc/init.d 目录下新建一个 rabbitmq [rootlocalhost init.d]# vi rabbitmq具体脚本如下所示: #!/bin/bash # # chkconfig: 2345 …...

元宇宙+教育,正在引发哪些剧烈变革?机会在哪里?丨圆桌实录

图片来源:由无界AI绘画工具生成2月23日,温州元宇宙创新中心为2023年第一批申请入驻的项目企业举办了签约仪式。温州临境网络科技有限公司、温州好玩文化产业有限公司、温州云兮科技有限公司(筹)等企业完成签约。这意味着&#xff…...

追梦之旅【数据结构篇】——详解C语言实现顺序队列

详解C语言实现顺序队列~😎前言🙌预备小知识🙌队列的概念及结构😊1.顺序队列头文件编写🙌2.Queue.c文件的编写🙌1)队列的初始化函数实现😊2)队列的销毁函数实现&#x1f6…...

使用自己的数据集Fine-tune PaddleHub预训练模型

使用自己的数据Fine-tune PaddleHub预训练模型 果农需要根据水果的不同大小和质量进行产品的定价,所以每年收获的季节有大量的人工对水果分类的需求。基于人工智能模型的方案,收获的大堆水果会被机械放到传送带上,模型会根据摄像头拍到的图片…...