粉丝1305获赞5122

接下来的话,我们讲一道有关 http 和 https 的 一个软考题目,这个的话其实是在网络协议里面呢,比较有意思的一个,因为它俩的话整个过程当中呢,也是在考试当中呢,经常会考到的一个考点,我们来看一下啊,有关于计算机网络的这个考点怎么去理解? 那么以下关于 https 和 http 协议的术语当中错误的是什么?我给大家来讲一下啊。我们其实在录播课里面也好,或者在平常给大家分享的知识点里面也都提到过。 那么 http 的 话,它是超文本传输协议啊,最早的时候用的一般都是它嘛,它是一种用于分布式啊,写作式啊,或者说超媒体信息系统的一个应用层协议。那么它的特点首先是无链接啊,每次链接呢,只处理一个请求, 那么没有状态啊,协议呢,对于事物处理呢,没有记忆能力,后续呢,如果要用到前面的信息是必须要重传的。再来就是明文传输啊,数据与明文方式发送,所以它不安全,那么后期的话, h t t p s 协议,那它就是一种安全性的协议,它叫做超文本传输安全协议, 它并不是说新的应用层协议,能明白吧?其实它就是 http 加上什么呀, ssl 啊,或者说叫 tls 啊,这两个其中一个,一个是安全套接层啊,一个叫传输层安全协议,它是一种结合方式, 那么它的特点就出来了,首先是加密传输,对吧?它是通过了 ssl 啊或 tls 对 数据进行加密了,防止被窃听和篡改。 另外的话,它进行了身份验证,通过数字证书验证网站的真实性,这个时候呢可以防止一些钓鱼攻击,最后的话是数据的完整性,它可以确保数据呢在传输过程中呢,不被篡改, 所以你会发现呢,现在很多网站呢,都开始用这 h t t p s 协议了,对不对?那么了解了这些之后的话,那么接下来呢,这道题其实就好做了, 像这 a 选项,说 http 协议呢,使用加密传输肯定没有问题啊,对不对?那么在 http 的 基础上啊,它采用了加密传输,所以 a 选项是没有问题的,那么它问的是错误的啊,一定要注意啊。 那么 b 说 http 协议默认的服务端口号是四四三,那这个是没有问题的,这是一个公认的标准, 那么 http 默认的端口号是八零啊,这也是没有问题的。那么最后说电子支付类网站应该使用 http 协议啊,这块的话,电子支付的话,它和安全相关,对不对?那么会涉及到一些支付,所以呢,我们要用 https, 而并不是 http。 好,以上的话就是有关于这道题的讲解,最终的话是让大家明白 http 和 https 这两个协议最主要的区别是什么,其实就是 https 呢,更加的安全了,能明白吧?另外的话,对它的默认端口号大家也记忆一下,那么以后的话,这类题呢,都是比较简单的, 而以上的话就是有关于这个高频知识点的讲解,希望大家呢一定要把它记下来,那么后续呢,再考到了这个知识点,一定要把这个分数呢拿到手。

前面咱们讲的 http 协议是 http 一 点零版本,它有一个非常重要的特点,无状态。也就是说每一次请求,服务器都当你是第一次来。 http 底层用的是 tcp 协议,如果你对 tcp 不 太熟,可以回看,拍上高级片,里面有详细讲解。 在 gdp 一 点零时代,一次请求对应一次 tcp 连接,请求完成,连接立刻断开。就像打电话,电话一拨通,你说一句,对方回一句,电话就挂了,你再想说一句,就只能重新拨号。而 tcp 连接本身是有成本的,它要三次握手才能建立连接, 请求完成之后还要四次挥手才能把连接断掉。这个过程本身就不快,如果你只是请求一个页面还能忍,可一旦页面复杂了, html 一 次, css 几次, gs 几次,再来一堆图片,每一个资源都是一次完整的 tcp 建立加断开,这时候连接成本就太高了, 时间全花在了握手和挥手上了,所以就有了 h t t p 一 点一。 h t t p 一 点一做的第一件事就是不再每个请求都新建 t c p 连接了,它引入了一个非常关键的机制,叫长连接, 也就是 keep live。 有 了这个机制, t c p 连接只需要建立一次,就可以发送多个 h t p 请求。也来看一下,来打开第一关的网站, 看到了吗?除了图片都是 h t d p 一 点一。如果你这里没有显示协议的话,可以在表头上右键把它勾上,随便点开一个请求,请求头里面就有一个 complex keep live, 表示告诉服务器这个连接先别断,然后响应,头里 服务器也会返回一个 complex keep live, 表示服务器同意了。行,这个连接我留着。当然,在没有请求的时候,客户端会不断给服务器发心跳检测, 一般是每一秒检测一次,就像打电话的过程中,你要一直提醒对方,我还在用着呢,先别挂,一旦你不说话了,对方就会以为你没信号了,就直接挂了。一旦客户端停止心跳或者请求投理携带了,卡了个星 close, 服务器就会立即关闭 tcp 连接。另外,如果客户端长时间没有发新的请求,服务器也会主动关闭连接。有了 keep live 之后,在同一个 tcp 连接中就可以发多次请求。这样一来,连接建立和断开的成本就被摊到了多个请求上,效率自然就上来了。 过 ag t t p 一 点一虽然解决了连接频繁建立的问题,但它还有一个明显的限制, ag t t p 一 点一允许在响应到达之前发送下一个请求,进一步提高效率。但在同一个 t c p 连接里,请求必须按顺序来,前一个请求没返回, 后一个请求就只能等着。就像聊天一样,你一口气问了十个问题,对方只能按顺序回答,否则答案一旦乱序,你根本不知道哪个答案对应哪个问题。 你看这个图,第二个请求本来到这里就已经处理好了,可以返回了,但不能返回。必须等第一个请求返回之后,它才能返回,否则顺序就乱了,客户端没法处理 这种现象,我们就要对头主设,只要前面某一个请求慢了,后面所有请求都要等着我们。来看一下浏览器里的瀑布图,没有的话,你把它勾一下, 这是每个请求的时间线,注意看这三个 c s s 请求,它们几乎是同时发出,同时返回的。我们这是 a g t t p 一 点一 不是应该有对头主色吗?原因是这几个请求不在同一个 t c p。 连接里。你注意看,前面的连接 id 都是不一样的。也就是说,浏览器为了绕开对头主色,偷偷开了多个 t c p 连接。这虽然能解决问题,但本质上又有点回到了 h t t p 一 点零,只不过不是一个请求一个连接,而是一部分请求附用, 一部分新建。我们按连接 id 排序,你就会发现,同一个 tcp 连接下就是主设的,上一个请求完成,下一个请求才能继续,这就是 h t t p。 一 点一的对头主设问题。所以 h t t p 一 点一虽然让连接复用了,但没有真正解决并发症效率的问题, 于是就有了 h t t p 二。在 h t t p 二里,他不再把一个 h t t p 请求当成最小传输单位,而是把传输内容从文本改成了二帧值,从而让请求或响应可以拆成更小的碎片,称之为帧。 每个请求或响应的完整数据则称之为流。每一个流都有自己唯一的编号,每一个帧都会标记我属于哪个流。这样一来, 即便没按顺序传输,通过编号请求和响应也能对应上,而且每个帧都有自己的编号和所属流,所以就算打乱顺序发送也不会有问题。 这种在同一个 t c p。 连接中同时处理多个请求和响应的能力,我们称之为多路复用。有了多路复用,对头主设问题也就解决了。除此之外,在 h t t p 一 点一里,哪怕我只想简单发一个 ok, 你不得不带上一大堆请求头,但真正有用的数据很少,这就是请求头给网络带来的负担。为了解决这个问题, h t t p 二引入了头部压缩机制,它会维护一张静态表, 里面记录了一些常见的、固定的投资短,比如请求方法、路径、协议状态码等等。这里要注意一个细节,因为 h t t p 二已经不是文本协议了,所以像 h t t p 一 点一里的请求行这种按行组织的文本结构自然就没意义了。 于是这些信息统一都被当成了投资段来处理。具体的静态表内容,可以看这个文档 规范里一共定义了六十一个字段。前面这些冒号开头的投资段叫为首不字段,用来表达原本在 a g d t p 一 点一中请求行和响应状态码中的关键信息。这是协议层定义的字段,只存在于 a g d t p 二, 不属于普通黑的,所以就加了冒号座区分。有了静态表之后,后续请求就不需要反复传完整的请求头了,只需要传差异部分表里有的信息只需要传缩影。而这些差异数据在请求完成之后,还会被加入到动态表里, 供后续请求附用。这样看,请求是不是就精简多了。当然,一旦 t c p 连接断开之后,动态表也就不存在了。除此之外, a g t p 二还允许客户端没有主动请求的情况下,服务器提前把资源推送过去, 当客户端后续需要这个资源,就能直接用之前推送的,不用再发请求,这就是所谓的服务器推送。理解了这些之后,我们再来看主站的请求。 这里用的是 http 二,你会发现,不管是响应投还是请求投,都不能看原始数据了。而第一关用的是 http, 一 点一就可以看, 因为 http 二的原始数据是以二进字真传输的,这些数据给你,你也看不懂。然后你注意看连接 id, 全都是用的同一个 id, 这两个不一样,是因为这两个资源是其他域名的, 而且同一个 id 下也可以一起发请求,不会堵塞。看起来 http 二已经很快了,对吧?解决了对头堵塞,又压缩了头部。但它解决了对头堵塞, 是 h t t p 层面的,也就是应用层的对头主设。它底层用的是 tcp 传输协议,而 tcp 其实并不认识 h t t p 二里的帧和流,它只知道应用层给了它一堆数据, tcp 会按照自己的规则拆成一个个 tcp 段,然后按顺序发送。 问题就出在这里,一旦在传输过程中,某个 tcp 段丢了包, tcp 就 必须先把这个包重传成功,后面所有的数据都得等着,不管你上层有多少流,多少请求, t c p 一 卡,整条连接一起卡,这就是 t c p 层面的对头主设。如果 t c p 也能像 http 二那样把数据分流并发传,不就好了吗?理论上没错,但现实不允许,因为 t c p 协议是由操作系统内核实现的,除非让整个世界的操作系统都进行升级。所以这个问题 htp 二解决不了, tcp 也解决不了,于是就有了 htp 三,他直接把底层的 tcp 换成了 udp。 udp 本身是无连接的,不保证顺序,丢包也不会重传,所以在 udp 之上又设计了快捷协议, 用 quick 协议来维护连接状态,做分帧分流丢包重传等机制,从而解决传输的可能性和对头堵塞。简单来说, a g t t p 二解决的是应用层的对头堵塞,而 a g t t p 三解决的是传输层的对头堵塞。另外, a g t p 三还有一些亮点, 比如握手更快,还有连接 id 的 设计,让网络切换时不用重新握手。不过 a g t p p 三目前还没有广泛落地,了解就行了。

讲完请求,咱们再看响应,响应的格式和请求很像,也是三部分,响应行、响应头、响应体。同样在响应头和响应体之间有一个空行分格。响应行里也有三部分, 协议版本、状态码、状态描述。状态码和状态描述是配套的,用来告诉客户端这次请求是成功了还是失败了。比如最常见的两百对应 ok, 就是 请求是对应,那放的就是你要的资源不存在。所以状态码是咱们判断请求是否成功的核心依据。 然后下面是一些常见的状态码,分为五类,一开头的状态码,意思是服务器已经受到部分请求,请客户端继续发剩余内容。这类状态码咱们平时很少碰到,主要用在底层协议协商或分段传输场景。二开头的就很常见了,表示请求成功。 其中两百是咱们见的最多的,表示请求成功,服务器也正常返回的数据。咱们刚才看的请求状态码就是两百 ok。 三开头的代表重定向,就是你要的资源搬家了,不在这个地址了,服务器会给你反馈一个新地址,你得用新地址重新发请求。就像你去某个部门办事,人家说这事不归我管,你去另外一个部门,这就是重定向。 四开头的属于客户端错误,意思是你发的请求本身有问题。最后是五开头的,是服务器内部错误,这是服务器开发者的问题,和客户端没关系。下面说几个爬虫常见的状态码。先来看三开头的三零幺是永久重定向,咱们把当前页面的 u l 改成 h g t p 协议 敲回车,你看第一个请求的状态码就是三零幺,说明这个资源已经永久搬到新地址了,服务器会在响应头里用 location 字短告诉你新地址, 你看这里,他把 h t t p 改成了 h t t p s。 接下来浏览器就会自动用新地址发请求,这次状态码就是两百了。现在咱们把停用缓存的勾去掉,再访问刚才那个 h t t p 地址, 你会发现请求提示来自此盘,缓存根本没发到服务器。这就是三零幺的特点,浏览器会缓存重连线关系,下次就不用再询问服务器了。 另一个三零二是临时重定向,和三零幺唯一的区别就是浏览器不会缓存重定向关系,每次访问老地址,都会重新发请求,问服务器新地址。 再看四开头的,这是爬虫开发最需要关注的一类。四零零表示请求格式错误,可能是你少了某些参数,也可能是你发的请求有问题,服务器看不懂。四零幺表示未授权, 可能这个资源需要登录才能获取,但你没登录或者登录过期了。四零三表示无权限访问,它和四零幺容易混淆,它的意思是你可能已经登录了,但权限不够, 比如普通会员想访问 vip 资源,就会返回四零三。四零四表示资源不存在,可能是你写错了路径,也可能是服务器删除了这个资源。这个相对比较常见,比如我们随便访问一个不存在的路径 状态码就是四零四 not found。 最后这个四二九表示请求过于频繁,这个对爬虫来说特别常见,意思是你访问太快了,服务器把你限制了, 一般限制几分钟到几天不等,不同标准都不一样。后面讲反爬的时候,咱们再说怎么处理。这里要提醒大家,一个坑四开头的状态码不是绝对的,有些服务器会制定规则, 不管请求成功还是失败,都返回两百,然后在响应内容里告诉你请求出错了。所以以后你发请求状态码是两百,但拿不到数据的时候,一定要去看响应内容里有没有错误提示。接下来是响应头,和请求头一样,也是一组助箭子队。目前咱们只需要重点关注 content type, 它表示响应体的数据格式, 比如咱们现在这个请求 content type is text, html charset 等。 uft 杠八,意思是响应体是 html 文档,编码格式是 uft 杠八,之前咱们用 url 内部发请求的时候,需要手动 decal 的 解码, 也可以从这个字段里拿到编码方式。后面我们会学更智能的模块,它会自动读取这个响应头来解码,不需要手动 decal 的, 和请求头一样, 这里也能看原始格式,第一行是响应行,下面就是响应头。至于响应体就是响应的主体内容,比如咱们这个请求 content type is html, 那 响应体就是完整的 html 文档,也就是咱们前面说的页面源代码,和这里看到的内容是一致的。

在安装 iis 的时候,有同学遇到了这样的问题, http 错误,四零三点幺四,禁止查看,下面我们去解决这一个问题, 远程道学生的电脑,对于这一种错误,我们首先测试一下学生的网站是否是指向本地的, 我们打开 cmd 命令行拼学生的域名,三 w 点六十九点,靠这个域名 他指向了幺二七点零点零点幺,说明是指向本地的, 指向本地的,也就意味着他会转向这一个网站。这一个网站要去访问哪一个目录呢? 这里列出的错误是不列出是目录的内容。我们去看学生的目录, 他的基本设置里面指向的 c 盘麦赛特,复制这个地址,打开 windows 资源管理器,访问这一个文件夹, 这是学生的网站文件,在这个地方有一个知识点,这个知识点叫做架设网站的默认页面,我们制作一个网站必须要有一个,其实也 这个奇石业有一个规定的名字,一般叫 index 点 h t m, 也可以叫 index 点 h t m, 这个是最正规的名字。各个平台都支持啊,帕奇恩景克斯、 irs 都支持 这些默认网页,在 iis 里面可以看到他的设置是在这一个位置默认文档, 双击他进去后,你可以看到 is, 他认为这一些文件可以默认启动。什么意思呢? 就是学生的这一个网页是可以访问的,只是他没有默认文档,默认进去的时 后是访问不了的,但是我要访问学生的这个 test 点 htm 是可以访问的,我要访问这个学生的幺零张三点 htm 也是可以访问的, 唯独你访问这个域名的时候,他要去找一个叫 index 的 htm, 他找不到这个文件,所以就报四零四 lord found。 要解决学生的这一个问题,只需要我们复制一份粘贴到这里,修改他的后缀名为 index dh team, 然后我们改一下它的颜色,让它看起来跟 taste 的不一致, 把它带成黑色保存。现在我来访问这个默认网页,一刷他就有了, 他就有了,所以这个时候我们就可以不带这个英德克斯,直接输玉米,他就会访问到这一个网站下面的英德克斯店 htm 这一个默认文档, 这就是网站架设必须有一个默认文档的原因, 除了默认文档可以不带文件名访问,访问其他文档都必须带文件名。刚才已经给大家演示过,访问特斯特,后面要带特斯特访问张三,这里要带张三。 这是啊第二个知识点,第三个知识点就是刚才报错的原因了,没有默认,闻到他就会报错, 这就是关于学生的这一个错误的讲解,谢谢大家的观看。

本视频耗时五个月,共计三十小时,三十八分钟零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防渗透测试等,共三百六十八集。此视频内容灵感很可能被下架,建议先收藏再观看。声明, 此教程仅供学习,禁止用于违法行为。我这里整理了二百多节网络安全公房教程和网络安全学习路线,可供大家学习。需要的三个期报大家好!本节课内容是 hdp 协议,分析上 主要讲解 hdp 的 发展史以及协议结构。首先看一下 hdp 的 发展史, htp 是 超文本传输协议,目前是互联网上应用最为广泛的一种网络协议,所有的三 w 文件都必须遵守这个标准。设计 hdp 最初的目的是为了提供一种发布和接收 html 页面的方法。 htp 协议和 tcp ip 协议组内的其他众多协议相同,用于客户端和服务端之间的通信,外部是建立在 hdp 协议上进行通信的。 一九八九年的时候 hdp 便诞生,最初的设想呢,是借助多文档之间相互关联形成的超文本连接,可相互参与的万维网。 在一九九零年的时候, hdp 零点九版本问世。在九六年,九六年五月, hdp 正式作文标准被公布,当时是 hdp 一 点零版本, 直到一九九七年一月公布的 hdp 一 点一是目前主流的 hdp 协议版本。 接下来具体看一下 a、 c、 d、 p 的 协议结构。首先我们看一组 a、 c、 d、 p 的 通信过程。 首先是客户端主动向服务端发起请求,服务端在接收到客户端发来的请求之后,会做出一定的响应。 a c d p。 协议规定,先从客户端开始建立通信服务端,在没有接收到请求之前不会发送响应。 那么在 http 通信过程中,我们来了解一个词叫 http 报文。什么是 http 报文?那么 http 报文是用于 http 协议交互的信息, 请求端的 http 报文叫请求报文,响应端呢叫做响应报文。 http 报文是由多行数据构成的字幕串文本,多行之间使用 crf 作为换行符。 htp。 豹纹大致可分为豹纹手部和豹纹主体两块。豹纹手部是服务器端或客户端需处理的请求或响应的内容及属性。 空行是 c r i f, c r 是 回车符, l f 是 换行符。豹纹主体是应被发送的数据。接下来我们看一下 h d p。 请求豹纹与响应豹纹的结构。 在请求豹纹中,豹纹的首部主要包含请求行请求首部字段、通用首部字段、实体首部字段以及其他内容。 在响应报文中,报文首部主要是由状态行、响应首部字段、通用首部字段以及实体首部字段、其他等内容。 在请求报文中,主要是由请求方法、请求 u r i 协议版本以及可选的请求首部字段内容实体组成。 其中方法是主要是有包含以下几种, get, post, put, hide, delete, options 以及 trace。 get 方法是指请求访问已被 u r i 识别的资源。 post 方法用于传输实体的主体, put 方法用于传输文件。 hide 方法和 get 方法一样,只是不返回报文主体部分 用于确认 u r i 的 有效期及资源更新的日期、时间等。 delete 的 方法是删除文件。 options 方法,用于查询针对请求 u r i 指定的资源支持的方法。 try 的 方法是让外部服务器端将之前的请求通信还回给客户端。 s c p 方法,它是下达命令的,用于告诉服务器端该如何处理请求。虽然用该的方法也可以传输实体的主体,但一般不用该的方法进行传输啊,通常还是使用 pos 的 方法进行传输。 接下来看一下 s d p 的 响应报文。响应报文是由协议版本状态码,用于解释状态码的元音短语、可选的响应首部字段以及实体主体构成。 其中状态码表示请求成功或失败的数字代码。我们具体看一下。状态码主要是由这五种状态码, 其中以数字一开头的状态码代表信息性状态码接收的请求正在处理。 数字二开头的状态码表示成功状态码,表明请求正常处理完毕。数字三开头的状态码是重定向状态码,需要进行附加操作,已完成请求。数字四开头的状态码是客户端错误状态码,服务器无法处理请求。 数字五开头的状态码是服务器错误状态码,说明服务器处理请求出错。 http 状态码,负责表示客户端 http 请求的返回结果,标记服务器端的处理是否正常、通知出现的错误等工作。 那么我们在日常的、日常的上网过程或工作过程中常见的状态码呢?主要是有以下几种。首先是二零零, ok 表示从客户端发来的请求在服务器端被正常处理了。 三零幺是永久性重定向,表示请求的资源已被分配了新的 u r i, 以后应使用资源。现在所指定的 u r i。 三零二,放的是临时性重建响,表示请求的资源已被分配了新的 u r i, 希望用户本次能使用新的 u r i 进行访问。 三零四 not modified 是 客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。三零四,加载码返回时不包含任何响应的主体部分。 那么这里的附带条件的请求是指采用 get 方法的请求。报文中包含 if match, if modified, since 等条件。关于这一部分,在接下来的课程里面会详细地进行讲解。 四零零 by request 表示请求报文中存在语法错误,当错误发生时,需修改请求的内容后再次发送请求。 四零幺 un authorized 该状态码表示发送的请求需要有通过 s d p 认证,如 a basic 认证、 digital 认证的认证信息。若之前已进行过一次请求,则表示用户认证失败。 四零三, forbidden 表明对请求资源的访问被服务器拒绝了。四零四, not found 表明服务器上无法找到请求的资源。 五零零, internal server error 表明服务端在执行请求时发生了错误,也有可能是外部应用存在的 bug 或某些临时性的故障。 五零三 service unavailable 表明服务器暂时处于超负荷或正在进行停机维护,现在无法处理请求。 那么最后我们来看一下 hdp, 它是一种无状态协议。无状态协议是什么意思呢? hdp 协议自身不对请求和响应之间的通信状态进行保存,也就是说,协议对于发送的请求或响应都不做持久化的处理, 这是为了更快的处理大量事物,确保协议的可伸缩性。但是随着外部的不断发展,因无状态而导致业务处理变得棘手的情况越来越多。为了实现保存状态的功能,引入了 cookie 技术, 那么有了 cookie 技术,再用 hdb 协议通道便可以管理状态。关于 cookie 技术的讲解,在下一堂课会进行详细描述。

你在搜索栏里面输入的关键词,或者是你在登录框里面输入的账号和密码,它们到底是怎么样传到网站服务器的呢?咱们今天就来拆穿这个秘密。那上一节课呢,咱们是聊了 t c p 三次握手建立连接的过程,它就像是两个人打电话前先这样子喂,在呢在呢, 好嘞,通过这样有来有回的确认连接,那建立连接以后,我们真正要传的内容应该怎么样规规矩矩的发过去呢?这就得靠咱们今天的主角 http 协议了。如果说这个 tcp 协议是修路的, 那我们的 http 就是 开在路上的货车, tcp 协议呢,它是可以让网络建立起来连接, 而我们这一个 http 协议,它就规定了网页中的数据应该怎么去打包,需要符合哪些规则才能够进行传递。那咱们今天就用 will shock 来看一看 http 这辆货车里面到底是装了啥。 此前正如你啊,咱们今天所有的操作都是在本地虚拟机里面去折腾的,千万不要去碰别人的网站。咱们今天用到的装备也很简单,还是我们的老熟人 will shock。 另外呢,再加一个测试靶机就可以了,我们在这个靶机里面搭了 http p 测试网站,这个网站呢,咱们特意没有给登录的数据进行加密,主要是方便咱们后续去实操的时候能够看清数据。实操的场景呢,也是我们经常会干的事情,比如说你平时去浏览网页,或者是我们刷一些新闻列表的时候, 还有我们在网页上去登录账号,我们主要就是抓这两个动作,操作过程中产生的 http 数据包,带你看一看 get 请求和我们的 post 数据分 分别是带了啥信息。要是你想自己课后练习的话,我把今天的靶场和操作步骤说明都已经整理好了,照着做也能够上手的,咱们就直接上实操吧。第一步,我们需要先启动 vr shock, 然后选对网卡去双击开始抓包,现在回到我们的桌面,双击打开这个 vr shock, 然后选对我们的网卡。 因为我们的靶机是搭建在虚拟机里面的嘛,所以我们选择虚拟机对应的网卡就是这个 vm 八这个网卡 双击开始抓包,然后我们先让他监听着,当看到下面表格里面的数据滚动的时候,说明已经开始抓包了,但是我们这里的数据还是比较多的,为了等下方便我们分析数据呢,我们先在 webshop 的 过滤栏里面输入 http, 然后回车筛选出所有的 http 协议类型的数据包, 我们就只分析 http 协议的数据,我们目前筛选看到的这个页面是空白的,这是因为我们现在还没有访问测试网站,所以还没有产生 http 批协议的数据。准备好 whatsapp 之后呢,再打开我们把机里面已经准备好的测试页面,我们双击把机里面的这个 get post 类型请求的文件夹,然后双击这个文件夹里面的慢点 p y 这个 python 文件,我们把这个 ip 地址给它先复制下来,这 这就是我们测试页面的 ip 地址,再打开我们的浏览器,输入我们刚刚复制的 ip 地址,回车我们就成功访问到我们的测试页面了。然后呢,我们先抓一些 get 类型的请求,我们就在这个测试网站的首页里面随便点击几个新闻,查看一下具体的信息。 像刚刚我们这种直接点击进入的网页都是使用 get 类型的请求的,我们可以看到在网页上方这个网址栏里面多出了这样一段。这个时候呢,我们的 webshop 上其实就已经抓取到了这些 get 请求了。现在我们返回 webshop, 可以看到我们刚刚在网页上点击了之后,出现后面有这个的 get 类型的数据包,已经被我们的 webshop 抓取到了。接下来呢,我们再抓取一个 post 类型的访问请求,我们在这个测试网站里面找到登录页,然后输入我们的测试账号 and me, 再加上密码,点击登录。这一步呢,我们就是为了触发 post 请求,一般情况下登录注册这一类的请求都是用的 post 类型的请求。现在同样我们再返回我们的 well shock, 你 会发现在 well shock 上同样也出现了 post 类型的 login 登录相关的数据包。 ok, 通过前面我们这些操作呢, get 和 post 类型的请求包都被我们 well shock 抓取到了之后,我们来简单看一下这两个请求, 先找到 excel 列里面的标志, get 后面的这一个有 news 问号, id 等于十三的这一个数据包,我们点进去往下面看到 h t t p 这一个部分,再展开 你就能够看到请求的网页地址后面带的参数,比如说我们这个 id 等于十三,就表示这个新闻的编号是十三。然后我们再来找一下 post 后面带着 logo 的 这一个数据包,点击之后呢,我们再看到这一个数据包详情面板,把这个收起来,找到最下面这一个表单数据就是 html form 这一个, 同样把它展开,然后我们就能看到刚才输入的 user name, 我 们的用户名是 admin, 密码是 admin 一 二三,这就是 post 提交的铭文用户名和密码数据啦。这里的铭文就是我们没有加密的原始数据, 就像是写在明信片上的内容,谁都可以一眼就看懂的。 ok, 现在我们看到的数据包,接下来就让我们来解析一下背后的原理吧。简单来说呢,这个 h t t p 它就像是网站世界的数据传递规则。而 http 规则里面的 get 请求呢,它就像是一张卡片上直接写着需要的内容,比如你访问 id 等于十三这一页的新闻的话, 这个新闻编号就直接写在我们这一个地址栏里面了,别人一眼就可以看到你想要访问的新闻编号了。那这种请求方式呢, 它是适合去拿一些公开的数据的,不适合在链接地址后面带上密码这一类的私密的信息。那在 http 规则里面的这个 post 的 请求呢,就像是把需要的内容写好之后,放在我们这个信封里面,比如说你要发送登录请求,内容里面呢是账号和密码, 它就会被藏在这个数据包里面,在外面的地址栏里面是看不到的。比如说我刚刚的这个登录页面,你会发现我在登录之前,还是说我点击登录之后,地址栏上面都是看不到我们的用户名和密码的。所以呢, post 请求的这样的方式,它是适合提交一些像密码这样的私密的数据, 不管是 get 还是 post, 它们俩都是要按照 http 规定的说话方式,确保客户端,也就是咱们电脑上的浏览器和服务器交流的时候,都能听懂对方在说啥,这样解释的话大家可以理解吗? ok, 今天咱们一步步操作下来,其实就干了三件事情。第一个,我们先用 well shock 来抓包,然后呢,我们通过浏览新闻和登录,触发了 get 和 post 两种请求方式。再接下来呢,我们再筛选出这两种包,并且看懂里面的数据。通过查看数据包来了解 http 协议里面的一些简单的规矩。比如说 http 协议里面规定了 get 请求是可以在后面带上一些数据参数,而 post 请求呢,它一般就是不使用参数直接传递数据, 而是要把提交的用户名和密码数据都放在了数据包里面,不让其他人一眼就去看到它。 ok, 这些了解清楚之后呢,我再来给大家举两个例子,来看一下我们的 h t t p 协议在网络安全领域的一些分析,用处会有哪些。第一个是在我们的企业安全审计的时候, 它可以来检查网站是不是用 get 请求传输的密码或者验证码这一类的敏感信息。如果是用 get 请求来传输的话, 这就是网站的一个大漏洞了,发现之后呢,我们就可以及时改成 post 传输。第二个呢,就是我们在做入侵检测的时候,安全设备就可以通过分析 http 数据包里面的异常内容,比如说是带病毒的一些链接啊,或者是一些恶意代码, 我们发现之后就可以提前进行拦截攻击,不过 http 他 光知道怎么传数据还不够,他还得先知道服务器在哪里。所以 这个时候呢,就需要 dns 协议来帮忙找地址啦。那下一节课我们就来聊聊 dns 是 怎么当网络导航的。 ok, 今天我们搞定了 http 协议的数据包分析,学会了的同学可以给个一键相连。

本视频耗时五个月,共计三十小时,三十八分钟零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防渗透测试等,共三百六十八集。此视频内容灵感很可能被下架,建议先收藏再观看。声明, 此教程仅供学习,禁止用于违法行为。我这里整理了二百多节网络安全公房教程和网络安全学习路线,可供大家学习。需要的三个期报大家好!本节课程是 h d p 协议分析下,主要由 h d p 首部字段题目讲解两部分组成。 hedp 首部字段是构成 http 报文的要素之一。在客户端与服务器之间以 http 协议进行通信的过程中,无论是请求还是响应,都会使用首部字段,它能起到传递额外重要信息的作用。 使用首部字段是为了给浏览器和服务器提供包含主体大小所使用的语言认证信息等内容。 http 首部字段是由首部字段名和字段值构成的,中间有冒号分割。 单个 http 首部字段可以有多个值。 h c b 首部字段有四种类型,通用首部字段、请求首部字段、响应首部字段以及实体首部字段。 通用首部字段是请求报文和响应报文两方都会使用的首部。 请求首部子段是从客户端向服务器端发送请求报文时使用的首部,补充了请求的附加内容、附加客户端信息、响应内容及相关优先级等信息。 响应首部子段是从服务器端向客户端返回响应报文时使用的首部,补充了响应的附加内容,也会要求客户端附加额外的内容信息。 实体手部子段是针对请求报文和响应报文的实体部分使用的手部补充了资源、内容、更新时间等与实体有关的信息。 下面对这四种类型进行详细分析。通用首部字段是指请求报文和响应报文双方都会使用的首部。其中常见的首部字段有 cat control connection, date and wire, 通过指定首部时段 catch control 的 指令就能操作缓存的工作机制。 connection 首部时段具备两个作用,第一是控制不再转发给代理的首部时段。第二是管理持久连接 date, 表明创建 hdb 报文的日期和时间。使用首部字段 while 是 为了追踪客户端与服务器之间的请求和响应报文的传输路径。 报文经过代理或网关时,会先在首部字段 while 中附加该服务器的信息,然后再进行转发。 首部字典 wire 不 仅用于追踪报文的转发,还可避免请求回环的发生,所以必须在经过代理时附加该首部字典的内容。 第二类请求首部字典常见的有 accept accept language、 authorization、 host referral 和 user agent 这几个字典。 accept 首部子端可通知服务器用户代理能够处理的媒体类型及媒体类型的相对优先级,可使用 type 斜杠 subtype 这种形式。一次指定多种媒体类型, 如文本文件使用 txt 斜杠 html 等格式。图片文件如 image 斜杠 jpg 或 image 斜杠 gif 等。应用程序使用二阶制文件,如 application 斜杠 octstream 等格式。 当服务器提供多种内容时,将会首先返回权重值最高的媒体类型。 accept language 字段用来告知服务器用户代理能够处理的自然语言级以及自然语言级的相对优先级,可一次指定多种自然语言级,按权重值 q 来表示相对优先级。 客户端在服务器有中文版资源的情况下,会要求其返回中文版对应的响应,没有中文版时则请求返回英文版响应。 首部字段 authorization 用来告知服务器用户代理的认证信息。 authorization 字段的值的内容,如 basic 认证是一段 base 六四编码的值。 通常想要通过服务器认证的用户代理会在接收到返回的四零幺状态码响应后,把首部字段 authorization 加入请求中。首部字段 host 会告知服务器请求的资源所处的互联网主机名和端口号。 host 的 首部字段在 hdp 一 点一规范内是唯一一个必须被包含在请求内的首部字段 相同的 id 地址下部署运行的多个域名,那么服务器就会无法理解究竟是哪个域名对应的请求,因此需要使用首部这段 host 来明确指出请求的主机名。 首部这段 server 会告知服务器请求到原始资源的 u r i。 客户端一般都会发送路由首部字段给服务器,但当直接在浏览器的地址栏输入 u r i 或出于安全性的考虑时,也可以不发送该首部字段。 因为原始资源的 u r i 中可能会含有 token 密码等保密信息,若写进路由转发给其他服务器,可能导致信息泄露。 首部子段 user agent 会将创建请求的浏览器和用户代理名称等信息传达给服务器 响应首部子段常见的有 location 和 server。 使用首部子段, location 可以 将响应接收方引导至某个与请求 u r i 位置不同的资源。 基本上该时段会配合重定向响应提供重定向的 u r i。 首部时段 server 告知客户端当前服务器上安装的 h d b 服务器应用程序的信息。 基本上该时段不但会注明服务器上的软件应用名称,还可能包括版本号等信息。 实体首部子段常见的子段名有 allow、 conditional 以及 conditional type。 allow 子段通知客户端能够支持的所有 h d p 方法,服务器会把所有能支持的 h d p 方法写入首部子段 allow 或返回。 当服务器接收到不支持的 h d p 方法时,会以状态码四零五 method not allowed 作为响应返回。 content length 字段,指明实体主体部分的大小,单位是字节。 content type 代表实体主体内对象的媒体类型。字段值用 type 斜杠 subtype 形式赋值。 下面我们通过几组题目的讲解来了解一下 ctf 中对 a、 c、 d、 b 协议分析的考察。 常见的考察的知识点呢,主要是有以下几,主要是有以下几种 method, user agent、 location、 reference 叉、 f f accept language、 cookie 以及自定义。首部字段。 对于 method 的 考察主要是下面这个场景,如 get 请求被过滤器或挂复拦截,我们可以通过转换成 post 请求的方式呢?绕过检测, 在 bootstrap 当中,我们也可以通过右键选择 change request method 来一键切换 get 和 post 的 方法。 下面看对于 user agent 的 考核题目描述是据说信息安全小组最近出了一款新的浏览器叫哈哈浏览器,有些题目必须通过哈哈浏览器才能答对,小明同学坚决不要装哈哈浏览器,怕有后门。 那么小明同学应该怎么样去做这道题目呢?首先这道题目打开之后,页面显示只允许使用哈哈浏览器,请下载哈哈浏览器访问,那么我们通过 bose 拦截请求包,可以看到 user agent 的 内容, 我们将 user agent 改成哈哈,那么即可得到 k。 我们再看对于 location 的 考核,这道题目打开之后是有一个超链接显示到这里找 k, 那 么点击该超链接之后,页面跳转到 index no k, 点 p c p 的 这个文件,页面显示 k is not here。 那 么对于这道题目,我们在点击超链接的时候,使用 boseuit 进行拦截, 可以看到返回包是一个三零二的一个响应包,在实体,在实体内容中隐含了一个 k 的 一个链接,那么通过访问 k 的 这个文件,那么即可获得,即可获取到 k 的 内容。 对于 ref 的 考核,主要是需要我们将 ref 的 纸改成比赛官方地址或者本地地址啊,再或者根据题目提示获取 ref。 对 于 x forward 的 fall 的 考核和对 ref 的 考核其实是比较类似的,那么我们来看对于叉 f f 考核的这道题目, 小明扫描了他心爱的小红的电脑,发现开放了一个八零端口,但是这个八零端口只允许本地访问,那么小明想知道该八零端口隐藏了什么秘密,那么该题目打开之后呢?页面显示必须从本地访问, 那么我们通过 bootstrap 的 拦截该请求添加 xforward 的 file 子段,并将其复制为幺二七点零点零点一即可。 对于 accept language 的 考核呢,题目描述一般也都相对比较明确, 我们来看这道题目,小明同学今天访问了一个网站,竟然不允许中国人访问,那么小明同学想一探究竟,那么这道题目呢?打开之后显示 only for foreigners, 也就是说只允许外国人访问, 那么我们通过 boseol 的 拦截这个数据包,将 accept language 改成英文,那么即可获取到 flag。 下面看对于 cookie 的 考核,题目描述是小明来到一个网站,还是想要 k, 但是却怎么都登录不了,你能帮他登录吗? 那么对于题目当中提到的登录,我们可能一般都会联想到 cookie, 那么这道题目打开之后呢?页面显示必须要登录才能得到 k, 那 么在 bootstrap 拦截数据包发现 cookie 的 值的内容是 log in 等于零,那么我们通过将 log in 等于零改成 log in 等于一,即可获取到 k, 这是通过篡改 cookie 来伪造登录的一个过程。 最后我们来看自定义,手不自断的这类这类题目,这道题目打开之后,页面显示 k 就 在这里,插在这里是哪里呢? 其实对于题目的描述比较明确,说明 k 就 在当前页面,那么我们通过 boseio 的 进行拦截。在响应报文中,我们可以看到 k 这个字段, 那么这个字段的字段内容即是 flag, 其中这个 k, 这个就是嗯,服务端自定义的首部字段。

大家好,今天我要和大家分享的是面试中的高频考点 http 协议的演进,也就是从 http 一 点一到 http 三的发展之路。在开始之前,我想先请大家思考两个问题,为什么 http 协议需要不断升级? 我们常听到的对头堵塞到底是什么?带着这两个问题,我们进入今天的内容,首先来看我们今天要解决的核心问题,详细表述 http 一 点一、 http 二、 http 三三个版本的核心区别,重点说明各版本如何解决忽悠化 http 对 头堵塞问题。 这个考点主要考察三个核心方向,一是 http 协议的演进历史,二是对各版本性能瓶颈的识别能力。三是对传输层优化机制的理解。其中有几个难点需要我们重点关注,比如区分应用层与传输层的对头堵塞,理解 quick 协议的底层原理以及 tcp 与 udp 之间的权衡取舍。 这个知识点在二零二六年的面试中是五星级的超高频考点,大家一定要重点掌握。首先我们来看 http 一 点一,它属于文本协议的时代,这个版本有几个核心特征,首先它采用文本格式来传输数据,其次引入了 keep live 实现连接复用,还有 python 流水线机制。 但这个版本存在一个很严重的问题,就是对头堵塞。在 h t t p 一 点一中,请求必须按顺序得到响应,如果前一个请求处理速度很慢,后面所有的请求都得等着。这种串行传输的瓶颈也催生出了 h t t p 二。 接下来是 http 二,它可以说是二金质分帧带来的革命。这个版本有几个核心突破,首先是采用了二金质分帧格式,实现了多路复用,也就是在一个连接里可以并发处理多个请求,同时用 hapec 算法实现了头部压缩,还新增了服务端推送的功能。 在 http 层,对头堵塞的问题已经被解决了,不同的请求可以并发传输响应,也可以乱序到达。不过这里要注意, tcp 层的对头堵塞依然存在,如果 tcp 层出现对头丢包的情况,会影响整个连接的传输。 简单来说, http 层二通过多路复用,让各个流独立并发,解决了 http 层的问题,但 tcp 层依然是性能瓶颈。 然后是 http 三,这是基于 quick 协议的终极解决方案。这个版本带来了核心革命,它摆脱了 tcp 协议,基于 udp 来实现,通过 quick 协议完成可靠传输,完全解决了 tcp 层的对头堵塞问题, 同时还实现了连接迁移,即使 ip 地址变化也不会断开连接,而且能通过零 rtt 快 速建立连接。在对头堵塞的问题上, http 三做到了彻底解决,一旦出现丢包,只会影响单个流,其他流可以继续正常传输。 比如这里的刘一是独立的通道,能正常传输数据,如果刘三出现丢包,刘一和刘二完全不会受到影响。 现在我们来对比一下这三个版本的核心差异。首先是 http 一 点一,它采用文本格式,只能串行处理单个请求,存在 http 层的对头阻滞,基于 tcp 协议传输。 然后是 http 二,它采用二进制分帧,通过多路复用实现并发症,解决了 http 层的对头堵塞,但依然受 tcp 层对头堵塞的影响,同样基于 tcp 协议。 最后是 http 三,它基于区块 udp 协议彻底解决了 tcp 层的对头堵塞,具备连接迁移迁移能力,还能实现零 rtt 快 速建立连接。总的来说, http 协议的演进就是从串行到递发,从依赖 tcp 到基于 udp 的 进化之路。 最后给大家分享一些面试回答这个问题的技巧。第一,先概述眼睛脉络,把从 http 一 点一到 http 三的发展历程讲清楚,同时点明每个版本的核心突破。 第二,重点讲对头堵塞,要区分开应用层和 tcp 层的对头堵塞,说明白 http 二解决了哪一层的问题, http 三又解决了哪一层的问题。 第三,结合实际场景来谈,比如网页加载性能的优化,或者浏览器开发者工具网络面板里的实际表现。第四,展现出你对知识点的深度理解,比如 quick 协议的核心设计思想,以及 tcp 和 udp 之间的权衡取舍。回答的时候不仅要讲清楚是什么,更要说明白为什么。 最后我们来做一个核心要点总结,第一, http 一 点一式文本协议存在 http 层的对头堵塞。第二, http 二通过二禁制分帧和多路复用解决了 http 层的堵塞问题。第三, http 三基于区块与 dp 协议彻底解决了 tcp 层的堵塞问题。第四,面试的重点在于区分应用层和传输层对头堵塞的区别。

第一个问题, http 为什么不安全?因为它是铭文传输,所以它就存在以下三个风险,第一个窃听风险,第二个篡改风险,第三个是冒充风险,因为它铭文传输嘛,所以你可以在这个通信电路上截取这个通信内容, 那么这也是 h t t p s。 对 它进行的一个改进,就是解决了它这个安全隐患。 h t t p s。 在 h t t p。 与 tcp 层之间加入了一个 s s l t l s。 协议, 它通过信息加密啊,通过校验机制和身份证书解决了这个我们说的窃听、篡改,还有冒充风险。 第二个问题, http 和 http s 的 区别。那么第一点就是我们刚刚讲到的安全问题, http 呢,它是超文本传输协议,它的信息是铭文传输的,所以它存在安全隐患。 h t t p s。 通过在 t c p 层与 h t t p 层之间加入了这么一个 s s l t l s。 安全协议,使得这个豹纹能够加密传输,就解决了 h t t p。 不 安全的这个问题。 第二个 h t t p。 连接的建立相对简单,它只需要 t c p。 三次握手就可以 进行豹纹的传输,而 h t t p s。 在 t t p s。 完成三次握手之后,还要进行 s s l 和 t o s。 的 握手, 才可以进行豹纹传输。第三个区别啊,第三个区别是两者的默认端口不一样,这也是我们呃,前面讲到的 h t t p s。 的 默认端口是四四三。 第四个, https 协议呢?它需要向证书权威机构申请这么一个数字证书,来保证你的服务器身份是可信的。 第三个问题, http 一 点一版本和二点零版本的区别是什么?那么二版本它相比一点一版本,它做出了四个方面的改进。第一个改进是头部压缩, 什么意思?什么叫 http 二版本会压缩头呢?是如果你同时发出多个请求,并且呢它们的头是一样的,或者说相似的,那么协议呢,就会帮你消除重复的部分, 这怎么做呢?是我们在客户端和服务端同时维护一张头信息表, 所有的字段呢,都会存入这个表当中,生成一个锁引号,这样呢,我们只需要发送一次就可以了啊,以后呢,就不需要再发送同样的字段,只需要发送锁引号就可以了,这是大大提高了这个传输的效率。 第二个优化点是二进制格式 h t t p 二版本它不再像一点一版本那样, 它的报文是纯文本形式的。这一点一版本,那二版本它是全面采用二进制格式,头信息和数据体呢,它都是二进制, 并且呢我们把它统称为帧头信息帧和数据帧,也就是 header frame 和 data frame, 这样虽然对这个用户也好,但对计算机非常好,因为计算机它本身就只能读懂零根一, 收到报文之后呢,就不需要把这个报文从明文转换成二进制,而是直接解析这个零根一,这个二进制报文,这就大大提高了它的解析效率。第三点油画是并发传输,也是多路复用, 它解决的是一点一版本当中对头阻滞的问题。什么叫对头阻滞?就是你同时请求多个资源, 你必须要等到上一个请求它响应完成了,下一个请求才能发出去,也就是说它的这个请求响应呢,是串行的, 在同一个 t、 c、 b 里面它是串行,那么它通过并发传输就解决这个问题。比如说呢,我们现在想要同时请求 html、 css 还有 js, 那么你必须要等到 atm 请求响应完成了,它响应回来了,你才能发出 css 的 请求, 你必须得等到 css 的 响应回来了,才能发出 js 的 请求,也就是串起。那么假设你这三环当中有一环,它传输但凡慢了,你整个流程就慢了,你后面的人都得排队等, 这就是串形它的这个问题所在。那么它通过并发传输解决了这个问题, 它引入了 stream, 就是 流这个概念,多个 stream 附用在一条 tcp 连接上,就实现了这个并行嘛。并且呢,我们前面说到这个帧,也就是 frame, 它也起到了一定的作用, 发送方会把这个帧呢?会不是会把帧,是会把数据切割成呃,一个一个的小块,就是他先把这个数据变成二进置嘛,然后他再把它切割成一个个小块, 这个一个小号就叫帧,这个帧呢,它的大小是不固定的,这个具体的取决于当时的网络情况,还有这个流控的策略好,那么它切克上一个又一个的帧之后,这些帧呢?会为这个帧 呃,附一个 stream id, 这个好处是什么呢?这个好处在于这些帧呢,可以乱序传输 啊,你有多个通道因为它并行吗?并且在多个通道里面呢,你可以乱去传输,谁跑得快就让谁先跑就可以了,就跑得慢的就不要在前面堵着,那跑得快的 那乱去传输,它怎么办呢?就是通过这个 stream id 解决,你接收方只要接收这个 stream id 就 可以了,他就知道啊,我应该怎么组装,他只要通过这个 stream id 来再组装就可以了。这样的话呢, 通过并行传输啊,并发传输,它大大提高了这个传输的效率。通过并行传输啊,并且还通过这个 stream id 啊,就进一步提高了这个传输的效率。就是我让跑得快的人先跑,跑得慢的人就不要在前面堵着,那跑得快啊。第四个优化点在于服务器,它可以主动推送资源,就是二版本,它在运程上它 改善了这种传统的请求响应的模式,服务器并不在。是啊,被动的去接收,被动的响应可以主动的向客户端发送消息,发送消息 好。第四个问题, http 进行 tcp 连接之后,在什么情况下会中断?那么有三种情况,第一种情况是当服务端或者客户端执行的 close 的 系统调用的时候,就会发送这个 f i n 报文, 进行四次挥手。第二种情况是发送方他发送的数据之后,接收方超过一段时间没有响应这个 a c k 报文发送方,并且这个发送方呢,重传的数据达到最大次数的时候呢,就断开 t c p 连接。 什么意思呢?什么叫 ack 豹纹? ack 豹纹就是 acknowledge, 它的前三个字母 ack 就是 我告诉你,我已经收到你的消息了,就是 acknowledge, 我们说 tcp, 他 再次握手,就是先发送 syn 客户端,先发送 syn 告诉服务端啊,我要发消息了,接着服务端呢,回他一个 syn, 加上 ack 豹纹。这个 ack 豹纹什么意思?就是他服务器服务端告诉客户端 我接收到了你的豹纹,然后呢,他的 syn 什么意思?就是告诉客户端我也要准备给你发送 豹纹了,因为我确实要给你发送 ack 豹纹嘛。好,接着呢,客户端他收到了服务端的 ack 豹纹加 s y n 豹纹之后呢,他也会给服务端返回一个,发送一个 s y n 豹纹,就告诉服务端我也能正常接收你的豹纹。那么通过这三次握手呢,他就确保了 收发双方啊,就是双方都有这个收发消息的能力,也就说 ack 豹纹他是什么呢?就是确定我已收到这一回事啊。那么发送方发送数据之后呢, 接收方也应该给它返回这个 ack 豹纹,因为他要告诉发送方我收到豹纹了,否则呢,这个发送方可能会觉得你这个数据是不是丢包了啊?是不是被截断了?他肯定会执行重传。 好,那现在如果他接受方超过一段时间没有响应 a c k 报文,并且呢,我重传的次数已经达到上限了,就要断开这个 t c p 连接,因为他可能真的这个接受方已经失去了这个接受消息的能力。 好,第三个情况就是当 h t t p 它长时间没有进行请求或者响应的时候,超过一定时间就会释放这连接。第五个问题, h t t p socket 还有这个 t c p 的 区别? h t t p 是 一种,呃,它是一种超,这个传输超文本数据的这个应用层协议,它定义了客户端与服务端传输数据的格式与规则, 它可以用于在客户端和服务端之间传输数据,或者显示一些外部页面啊。 socket 呢, 是一种计算机网的抽象,它描述了这个通信两端的当中一端,它提供了这个底层的通信接口,可以实现不同的 设备计算机之间的数据交换。 tcp 呢,则是面向连接的可靠的传输层协议,它负责在通信的两岸之间建立可靠的这个数据传输连接。举 一个形象的例子,就像是两个人在桥的两岸通过一个喇叭来传话, sockets 就是 这个喇叭,它提供了这个讲话的这么个接口啊,这样你就可以听得到,通过这个喇叭对方就可以听得到。 t c p 呢,就是那个剑桥的人,他建立的是一个连接,一个可靠的连接。 而 h t c p 是 什么呢?是两个人就是互相喊喇叭,两个人的君子约定, 他约定什么呢?约定说你们俩,我们俩都要说中文对不对?这样我们都能听得懂,都得说中文,对吧?就是他定义了客户端与服务端两个人之间的这个 交数据交换的这个格式与规则啊,这就是 h t t p, socket 还有 t c p 的 区别。

不知道你是不是遇到过这样一个问题,网络显示已连接,但是网页打不开,百分之九十是 dns 出现了问题。想确定是不是 dns 的 问题,很简单,我们现在打开浏览器,随便输入一个网址,我们等它加载一下, 其这个时候加载半天进不去,但是右下角的网络图标又是好的, 多半率就是 d n s 的 问题,诊断无法访问此页面。诊断问题指找不到百度的 d n s 地址,这个时候我们就要检查我们电脑的 d n s 地址是不是设置正确的。 右击网络图标,打开网络和 internet 设置,然后点击更改适配器选项,我们右键属性, 右键属性了之后呢,我们点 internet 协议版本四,然后这里点击属性,下面自动获得 d n s 服务器地址,我们给它更改为使用下面的 d n s 服务地址。 我这边个人推荐用幺幺四的,就是幺幺四点幺幺四点幺幺四点幺幺四,这个非常好记啊。然后备用 dns 地址,我们填八点八点八点八, 我们点击确定,点击关闭。 ok, 我 们这个时候再打开浏览器,随便输入一个网址啊,这是不是就可以进来了呢? 觉得有用的话点个赞关注我,教你更多电脑技巧,我们下期再见!

六月二十二号,有网友在社交平台发帖称自己在使用 divesic 人工智能大模型查找资料时, divesic 输出了一个并不存在的科研结果,并且编造了科研团队、科研细节和商业化进展。 这名网友在向科研院所求证无果后,选择了向 dipstick 反馈错误。随后, dipstick 模型在回答中进行了纠错和致歉,并表示 立即停用错误信息,同时提出将补偿该网友三千元人民币。六月二十三号,该网友告诉记者,这三千元人民币自己并没有收到,并表示 tipsik 模型反馈的补偿措施可能又是一条错误信息。 tipsick 官网的用户协议中规定,本软件的输出不应成为您进一步作为或不作为的依据。 您根据输出的内容所做出的任何判断或者句子做出的后续相关操作行为所带来的后果和责任,均由您自行承担。随后,记者通过电子邮件向 bixic 平台进行了求证,但截止到发稿时,对方尚未回应。

最近最火的就是在 mac 里面养龙虾,这个龙虾不是你吃的龙虾,而是 ai 全能助手龙虾, 你们可以上网查一下,养龙虾是中文的手法,实际上它叫 open call。 今天我不把 open call 装在 max 里边,因为 max 不 可能二十四小时开机。我把 open call 尝试着装在我的私有云 max 里面,大家看我能不能装得好。第一步,先用电脑进入我的 max 网络模式, openclaw 我 已经装到我的电脑里了,我现在已经进入到了我的小龙虾 openclaw 的 聊天界面,但是它有两个红色的内容,这个内容大概的意思就是说我用的是 http, 它不符合这个 openclaw 的 那个安全标识,所以它现在显示的是错误 健康状态,也是离线版本不适合,也就是我安装过程中出现问题。我这装了好久了,我从昨天晚上的九点多一直装到凌晨一点半,然后第二天早上起来我又装了很久, 到最后告诉我显示还是有问题。嗯,所以要学 ai 其实还要花点脑筋呢。 这现在的问题就是在于,他说我的与 t t p 不 符合他的安全标准,他要用 h t t p s 如何调整,明天再说,有兴趣的关注我,我们一起学习。 等我安装好了,如果你们需要的尽管问我教你们。今天的视频就到这里, goodbye!

htep 报文包含哪些部分?我们分请求报文和响应报文来说明。请求报文有四个部分,第一个部分是请求行, 包含请求方法,请求的目标,还有这个 hte 的 协议版本。请求方法一般有四个, get, 就是 字面意思,直接获取资源。第二个是 put, 一 般用于更新资源。第三个是 post, 一 般用于这个提交些数据。 最后一个是 delete, 也是字面意思就是用于删除。第二个部分是请求头,请求头包含关于请求的一些附加信息,比如说 host, user agent 还有这个 content type, 实际上这个过程可以想象,可以想象成两个人在聊天,他们要建立一个连接,那么这个客户端呢?想跟服务器建立连接,他要告诉服务器我是谁, 我要找谁,以及我跟你说的话,也就是我给你发送数据是什么格式?好,那个 hos, 首先 hos 他 就是解决一个我要找谁的问题,他代表他就是他指定的是请求的目标域名和端口, 那么服务器它说请求之后,它要通过 host 字典才能判断要访问这个服务器上的哪一个网站。嗯,一般说在 hdd, 呃,一点一版本当中呢? host 它是必须包含,那么请求头如果没有的话,服务器会返回这个四百兆的码,就是 back request。 好。第二个是 user agent, user agent 也就是简称 u a 了,它就解决的是我是谁这个问题,我们前面说 host 解决是我要找谁的问题, user agent 解决是我是谁的问题, 那 agent 像是代理的意思吗?也就是 user agent 就是 客用户,代理就可以理解成它是客户端的身份,一个一个身份的标识啊,就告诉服务器我是用什么浏览器,用什么设备,用什么程序啊,向你发出请求。 那比如说服务器可以根据你的 u a 去判断你是手机还是电脑,那么就给你返回不同的页面了,根据你这个 u a, 第三个就是 content type, 它解决的就是我跟你说的东西是什么,就比如说我跟你说的是英语还是德语,还中文还是日语,就解决这个问题,它就告诉服务器我给你, 我给你发的数据包是什么格式的。那这一般来说肯定是只有在有请求体的时候才会使用,因为,呃,你 get 方式一般就没有请求体嘛,他不会有这个头啊。 pos 像提我们说提交数据 它就有请求体, put 也有请求体是吧?好,那么一般是常见的,最常见就是前后端分离开发里面的那个 application 杠 jason 就 请求的是一个 jason, 字不串,但如果你要上传文件的话也有这个。呃, multi pop form data, 就 上传文件用这个请这个 comtext。 好,那么这是请求报文的第二个部分,请求头部。第三个部分是空行,就是用来分割请求头与这个请求体。 好,第四个部分就是我们前面提到这个请求题,请求题是什么?就是它包含你要请求数据,一般来说用于这个 pos 请求这些需要传输数据的情况。我们说 pos 它用于什么?是提交数据吗?对不对? pos 用于更新数据,这是请求报文的四个部分,请求行、请求头、控行,还有一个请求体。 那么接着再说响应报文。响应报文也是四个部分,第一个部分是状态行,状态行包含 h d p 的 协议版本、状态码,状态码有五大类啊。对,我们后面再讲。还有状态信息 第二个部分是响应头,呃,这个跟这个响应报文是差不多对应的。第二部分是响应头,响应头包含这个关于响应的附加信息,比如说 content type, content length 啊,还有这个如果是状态码是三开的话,就可能还有 location, 就 资源重叠项目。 这大伙在讲那 content time 跟 content life 也是这面意思,就是服务端告诉客户端我给你返回的数据是什么类型的,什么格式的, 以及我给你返回多大的数据。好,那么 content time 就 不用说了,就是也是一样,就是你要你要知道对方说什么语言才能沟通嘛。啊?那 content life 为什么要 content life 呢?是因为有 content life, 客户端就可以知道 我接收的情况怎么样。那一般说客户将他接收请求之后呢?他会先得到这个 content name, 从这个选项里面得到 content name 就 知道啊,比如说我这次我要接收呃,幺零二四个字节这么大小的数据,这么大小这么这么一个大小的数据啊。 好,那么他开始读之后,就是他先得到这个 content name 再开始读数据嘛?接受数据好, 如果他接受数据发现我实际接受的字结束比这个幺零二三还小,就已经结束了,那么他就可以判断哦,这次他可能丢包了,或者是网络出问题了,那么他会可能会触发重连啊,或者直接就出错了,是吧?这就是 ctrl shift, ctrl shift 之类的。第三个部分也是空行,用来分割响应头跟响应体。 第四个部分就是响应体就包含相应的数据了,就比如说你请求的这个呃,就服务端返回给你的返回给返回给你这客户端的这个 html 或者 json 这些内容。好,那么前面说到状态码有五大类, htp 长端的码有五大类,分别是以一、二、三、四、五开头的,那么一开头的一般是一个中间状态,就表示它是,它是一个提示性,就表示就是是处于一个协议处理当中的一个中间状态, 是一看到用的比较少这个东西。二的话呢,二呢是我们想看见的,就表示服务器它成功处理了客户端的请求。三开头表示资源同性相, 就是扣端他请求的资源发生了变动,他的位置发生了变动,你要用新的 u r 幺去发送,重新发送这个请求去获取资源,这就是重进项,那么三零幺就是永久重进项,三零二就是暂时重进项。 四开头状态码就我们最常见的四零四,对吧?四零四,四开头状态码就表示客户端它发送的这个豹纹有误,服务端就无法处理。 五开的状态码就表示客户端他请求的报文是正确的,但是服务器在处理的时候内部发生了错误啊,这属于服务器端的这个错误码。比如说,呃,当我们就做餐餐外卖的时候,你服务器端你写了一个呃,除以零的这么一个式子,那他就给你报五百状态码,因为你服务器内部出现错误了。 好,那接着五零二还有个五零二跟五零四的区别, 五零二就表示 bad gateway, 就是 作为网关或者代理工作的这个呃,服务器它尝试执行请求的时候,它从上游服务器接收到了无效的响应。 bad gateway 嘛,就很好理解, bad 就是 无效的响应, 五零四呢,就是 gateway timeout, 就 很好理解了,就是超时了,就作为网关或者代理工作的服务器,它尝试执行请求的时候呢,从没有及时, 没有能够及时的从上游服务器收到这个响应。比如说,呃,我们使用 nix 作为这个代理服务器啊,然后他收到客户端请求之后呢,他会将这个请求转发给我们的后端服务器 tomcat, 那 如果 nix 他 收到了无效的响应,那就返回五零二, 这是 bad gateway, 如果他超过了自己配置的时间之后,还没有收到这个请,还没有收到这个响应的话呢,他就会返回五零四, 这就是状态码,状态码就五种幺三四五开头的,然后三零一就是永久重进项,就表示请求资源不存在了啊,三零二就表示临时重进项,就暂时重进项,请求资源还在,但是需要用另一个 url 返回。 然后我们前面也说了,三零一跟三零二都是在响应头里面,响应头字段里面就有个字段,使用一个字段 location, 就 指定你后续要跳转这个 url, 然后 呃,五一二三四五三,说明了一下,五也说明了一下。五零二跟五零四,一个是 bad gateway, 就是。 呃,收到无效的响应,五零四就是 gateway timeout, 就是 没能及时收到响应。