首页
学习
活动
专区
圈层
工具
发布

HTTP2探索第二篇——工具及应用

目录结构: HTTP/2环境搭建Step by step wireshark使用 fiddler使用(会持续更新) nginx的简单配置 h2o服务器及其Server Push策略思想简介 —— h2o...第一次推送时,服务器端set-cookie,将要推送的路径+etag存入一个集合,通过算法生产指纹编码为base64存入cookie,之后通过cookie来判断是否需要推送该文件; 这里着重介绍h2o,...客户端接收到服务器端发送的PUSHPROMISE Frame后,可以通过是否发送RST Frame来拒绝掉服务器推送的文件,但是在这个过程中,服务器推送的文件可能已经发送一部分过来了,如果客户端决定不接收服务器推送的文件...,那么之前发送的部分就是浪费掉的流量,h2o就是为了解决这个问题;在设置好h2o后,我们来看看第一次访问的结果: ?...而开启HSTS后,第一次(之前访问过该域名)之后的访问浏览器会自动强制使用HTTPS访问; 对证书问题的宽容:未开启HSTS时,如果证书有问题,客户端只会提示警告,而不是禁止访问,开启HSTS后,会被禁止访问

3.2K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MPQ Storm库 源代码分析 一个

    星际争霸,魔兽争霸游戏中都有使用。该工具内含游戏资源加密和压缩等功能。...在StormLib的样例中,有先删除同一文件夹想的同名文件,再创建MPQ文件的逻辑。 3》创建一个空的MPQ文件。...4》假如不是第一次建立新文件。则此时,通过TMPQHash的dwBlockIndex值。在FileTable做dwBlockIndex偏移。获取新文件的入口TFileEntry。...2》调用SFileCloseArchive,找到能够写入HET、BET、HASH、FILETABLE表的位置,然后将这些表的数据写入到新的MPQ文件里。写入后MPQ文件内部如图三。...也能够先调用SFileHasFile推断是否有该文件。 2》调用SFileGetFileSize获取文件大小,申请内存空间。调用SFileGetFileInfo获取文件信息,不是数据。

    65140

    腾讯云直播接入说明

    腾讯云直播接入方式有两种: 一种是频道模式,主要针对中小客户,用户可以在管理台或通过api来对频道进行管理,如创建频道,删除频道,查询频道信息等。...典型的接入流程:用户创建频道,拿到推流进行推流,并用获取到的下行播放地址进行播放。...频道模式 通过管理平台或api进行频道操作、水印管理 提供多码率(原始码率、普清、高清),多协议(rtmp、flv、hls) 提供web播放器代码 通过api创建录制或截图任务,并通过api获取结果 支持推流和播放...由于防盗链采用动态生成方式,该功能开启后,原有播放器代码和文件URL将不可用。 4.开通直播码需要哪些信息?...防盗链的基本逻辑如下 图:防盗链基本逻辑 4.如何开通和使用防盗链? 准备工作:开启服务和获取密钥 该功能目前需要人工手动开启。开启后,用户可获取密钥KEY,该信息为32bit系统随机生成字符。

    69.5K101

    深入iOS系统底层之映像文件操作API介绍

    所以说程序文件和程序被加载后在内存中映像之间并不是一一对应的。程序文件和映像之间的关系就如程序和进程之间的关系是一样的。...在程序运行后对其在进程中所有的mach-o数据结构的访问都是基于映像而不是基于程序文件的。 Slide机制 构建一个程序时为了方便计算和处理会为这个程序设定一个默认在内存中加载的基地址。...一个程序在构建时的基地址值可以在程序的第一个名为__TEXT的代码段描述结构体struct segment_command中的vmaddr数据成员中获取,而程序被加载后的得到的映像的mach-o头部结构体...mach-o文件中的段和节信息 进程映像(Image)操作API 对映像进行操作的API都在o/dyld.h>中声明。你可以import这个头文件来使用里面定义的函数。...段(Segment)和节(Section)操作API 对段和节进行操作的API都在import o/getsect.h>中声明。你可以import这个头文件来使用里面定义的函数。

    1.7K10

    ffmpeg解析MP4封装的avc1编码问题「建议收藏」

    0、问题   遇到的问题:使用ffmpeg直接读取avc1编码的mp4视频,将读取到的帧写下来(H264码流),播放失败。   ...原因: ffmpeg解码获取的AVPacket只包含视频压缩数据,并没有包含相关的解码信息(比如:h264的sps,pps头信息),这些解码信息包括编码的profile,level,图像的宽和高,deblock...必须添加上后才能播放。...sps,pps之后就是I帧的数据起始码为00 00 00 01或00 00 01 上图中黑框内就是sps和psp数据,蓝色框为起始码(00 00 00 01)及I帧标志码(06 50) 2、SPS...,PPS在ffmpeg   H.264码流的SPS和pps信息存储在AVCidecContext结构体的extradata中,添加这些信息需要使用ffmpeg中名称为”h264_mp4toannexb”

    3K90

    深入理解HTTP2:nghttp2库源码解析及客户端实现示例

    HTTP/2 使用二进制帧来传输数据,这使得数据传输更加高效和可靠。 在 nghttp2 中,二进制帧的实现可以在 nghttp2_frame.c 文件中找到。...在 nghttp2 中,多路复用的实现可以在 nghttp2_stream.c 文件中找到。nghttp2 使用优先级队列来管理多个流,以实现多路复用。...HTTP/2 使用 HPACK 算法压缩头部,减少了网络传输的开销。 在 nghttp2 中,头部压缩的实现可以在 nghttp2_hd.c 文件中找到。...二、使用 nghttp2 库创建一个 HTTP/2 客户端 理论知识了解了之后,接下来我们通过一个实例来看看如何使用 nghttp2 库创建一个 HTTP/2 客户端。...在主函数中,我们增加了错误检查,以处理获取地址信息、创建套接字和连接套接字时可能出现的错误。我们还设置了套接字的接收超时。如果在指定的时间内没有接收到数据,read 函数将返回一个错误。

    1.2K10

    爬取全网资源 you-get大法使用详解

    官方文档中强烈推荐安装上FFmpeg,下载链接如下: FFmpeg下载链接:https://www.ffmpeg.org/download.html [1rx5u16hoj.png] 下载到本地后,...三、下载B站视频 以下载小姐姐跳舞视频为例: [f40c3awggn.png] 当观赏感兴趣的视频时,您可以使用 --info/-i 以查看所有可用画质与格式: [qsvmzopz9i.gif] 标有...DEFAULT 为默认画质,如果希望保存为其他格式(mp4),可以使用 -i 查看所有可用画质与格式给出的其他选项进行下载 使用其他选项进行下载:download-with(之后的):you-get -...URL 使用 --output-dir/-o 设定路径,–output-filename/-O 设定输出文件名 下载过程中可以使用 Ctrl+C 暂停下载 you-get -o D:\test --format..., --format STREAM_ID Set video format to STREAM_ID -O FILE, --output-filename

    7.4K30

    NimHollow:基于Nim实现的进程镂空PoC

    除此之外,Nim也是一个编译型的具有垃圾收集的系统编程语言,有着极其卓越的生产/性能比 功能介绍 1、使用NimlineWhispers或NimlineWhispers2直接触发Windows本机API...-o OUTPUT, --output OUTPUT 输出文件名 --whispers2 使用NimlineWhispers2...生成syscalls.nim --debug 不从Nim二进制文件中获取调试信息 --upx 使用upx压缩Nim二进制文件 --...rm 编译代码后删除Nim文件 NimHollow进程镂空机制 1、以挂起状态创建目标进程,例如svchost.exe: 2、查询创建的进程以从PEB(进程环境块)...提取其基址指针: 3、读取镜像基址指针指向的8字节内存(对于64位体系结构),以获取镜像基址的实际值: 4、读取已加载EXE映像的0x200字节并分析PE结构以获取入口点地址: 5、向入口点地址写入

    63310

    使用DCHQ自动部署和管理Docker Cloud 虚拟Java微服务

    一旦配置好了应用程序,用户就可以: 监视正在运行的容器的CPU,内存和I / O, 获取通知和提醒, 访问应用程序备份,自动缩放工作流及插入工作流来更新正在运行的容器。...CPU,内存和I / O 与Jenkins一起启用持续交付工作流程,以在构建触发时更新正在运行的微服务的JAR文件 现在我们将详细介绍每个步骤: 获取Event Store的凭据 为了单独运行微服务,您需要获取...应用修补程序并构建JAR文件 Docker映像中使用的JAR文件是从该项目构建的。 所有的JAR文件都是在2015年12月27日建立的,并在此处嵌入Docker镜像。...监控正在运行的容器的CPU,内存和I / O利用率 一旦应用程序启动并运行,我们的开发人员将监视正在运行的容器的CPU,内存和I / O,以便在这些度量标准超出预定义阈值时收到警报。...保存此策略后,任何时候触发构建,DCHQ都会从Jenkins获取最新的WAR文件,并将其部署到正在运行的应用程序服务器上。

    4.8K40

    【IOS开发高级系列】dyld专题

    系统内核在加载Mach-O文件时,会使用该路径指定的程序作为动态库的加载器来加载dylib。...      -o用来指定提取出来的文件所要保存的路径,如果不指定,默认就在当前目录下创建一个叫做“library”的目录保存。...我们可以通过Mach-O文件查看器MachOView查看一个测试项目(这里放上地址)编译后的可执行文件内容: Mach-O文件内容         这里可以看到,程序需要的dyld...弱符号主要用于面向对旬语言中的符号重载,典型的有c++中使用new创建对象,默认情况下会绑定ibstdc++.dylib,如果检测到某个映像使用弱符号引用重载了new符号,dyld则会重新绑定该符号并调用重载的版本...在动态加载一个Mach-o文件的时候,最终都调用了load这个API。

    1.1K60

    【docker】入门

    与其他容器隔离,并运行自己的软件、二进制文件和配置。 什么是容器映像 image? 运行容器时,它使用隔离的文件系统。此自定义文件系统由容器映像提供。...Containers------实例(被用image创建的) 容器是映像的可运行实例。您可以使用 Docker API 或 CLI 创建、启动、停止、移动或删除容器。...Dockerfile 中的每个指令都会在映像中创建一个图层。当你 更改 Dockerfile 并重建映像,仅更改那些具有 更改后重建。这是使图像如此轻巧,小巧, 与其他虚拟化技术相比,速度更快。...器皿 容器是映像的可运行实例。您可以创建、启动、停止、 使用 Docker API 或 CLI 移动或删除容器。...容器由其映像以及任何配置选项定义 在创建或启动它时提供它。删除容器后,对 未存储在持久存储中的状态将消失。

    1.6K30

    MPEG-PS和MPTG-TS 媒体封装实例解析和说明

    PS和TS封装码流数据格式分析-PS部分 问题背景: 前面分析了TS封装格式的码流,从实际应用上讲,TS这种封装格式文件应用的场合比较多,机顶盒,苹果家族产品,游戏直播等领域现在都用。...PS文件在当时的DVD时代应用比较多,后面又应用在安防上,所以和自己工作比较相关也需要研究和分析下。 前面研究TS文件封装格式时,基本已经研究了这部分内容。...被保留供ISO/IEC将来使用。它的值应为'111 1111',除非ISO/IEC对它作出其它规定。 十六机制:7F 二进制:0111 1111 十进制:0 12....} for (i=0;ii++){ PES_packet_data_byte 8bslbf} } else if (stream_id = = program_stream_map...多路复合器能使用该字段来区分安排基本流中数据的优先级。传输机制不应改动该字段。

    3.1K30

    关于容器和容器运行时的那些事

    建立一个与原系统隔离的系统目录结构,方便用户的开发;使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。...memory i/o 等等) 的机制。...CGroup的主要功能: 资源限制,可以将组设置为不超过配置的内存限制,其中还包括文件系统缓存[8] [9] 优先次序,一些组可能会在CPU利用率或磁盘I / O吞吐量中获得更大份额。...Docker的主要特性有: • 分层容器 Docker使用AUFS / devicemapper / btrfs使用文件系统的只读层来构建容器。容器由只读层组成,这些只读层在提交后将成为容器映像。...通过功能强大的API和简单的工具,它使Linux用户可以轻松地创建和管理系统或应用程序容器。 LXC是一个系统容器运行时,旨在执行“完整的系统容器”,通常由完整的操作系统映像组成。

    2K20

    kvm qcow2,raw 磁盘格式、磁盘存储策略介绍

    qcow2磁盘分配策略 off:缺省策略,即不使用预分配策略,采用动态分配磁盘空间的方式,只在需要时分配实际数据所需的空间,稀疏映像类型。...metadata:分配元数据(metadata),预分配后的虚拟磁盘仍然属于稀疏映像类型,实际占用的空间比off策略稍大一些 full:分配文件的块并标识状态为未初始化,即只分配空间,但不置零(不格式化...预分配后的虚拟磁盘属于非稀疏映像类型,磁盘文件实际占用的空间和分配的空间相同大小 falloc:分配所有磁盘空间并置零,预分配后的虚拟磁盘属于非稀疏映像类型,在创建时预分配所有空间并将物理设备上保留的数据置零以提高创建速度...encryption::设置加密 1.创建一个新的磁盘映像文件 qemu-img create -f ``磁盘映像的格式,支持Raw...调整磁盘映像大小 qemu-img resize `` 待调整的虚拟磁盘文件路径 ``调整后的文件大小 磁盘在原来基础上增加

    4.2K10

    【linux命令讲解大全】127.Linux光盘制作工具mkinitrd和mkisofs详解

    参数 映像文件:指定要创建的映像文件; 内核版本:指定内核版本。...使用此参数可以将备份文件加入映像文件中; -A或-appid:指定光盘的应用程序ID; -abstract文件>:指定摘要文件的文件名; -b映像文件>或-eltorito-boot...,mkisofs会将开机映像文件中的全部内容作为一个文件; -C:将许多节区合成一个映像文件时,必须使用此参数; -copyright文件>:指定版权信息文件的文件名;...-d或-omit-period:省略文件后的句号; -D或-disable-deep-relocation:ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660...:省略ISO 9660文件中的版本信息; -o映像文件>或-output映像文件>:指定映像文件的名称; -p或-preparer:记录光盘的数据处理人; -print-size

    64410
    领券