Nginx - 介绍
Ngnix 的功能
Nginx 同 Apache、Tomcat 一样,是一种服务器软件。它是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。因此,使用 Ngnix 可以搭建网站,也可以实现负载均衡的功能,还可以作为邮件代理服务器来接受和发送邮件。Ngnix 1.9.0 以后的版本还可以作为通用的 TCP/UDP 代理服务器,也可以提供一定的缓存服务功能。
Nginx 同 Apache、Tomcat 一样,是一种服务器软件。它是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。因此,使用 Ngnix 可以搭建网站,也可以实现负载均衡的功能,还可以作为邮件代理服务器来接受和发送邮件。Ngnix 1.9.0 以后的版本还可以作为通用的 TCP/UDP 代理服务器,也可以提供一定的缓存服务功能。
说明:本文章非原创,转载自 HTTP 和 HTTPS 协议,看一篇就够了_不一样的博客 - CSDN 博客
超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于 TCP/IP 协议传输数据,互联网上应用最为广泛的一种网络协议, 所有的 WWW 文件都必须遵守这个标准。设计 HTTP 的初衷是为了提供一种发布和接收 HTML 页面的方法。
中我们分析了如何使用 HTTP 来进行 RTSP 交互,而在一些使用场景中,RTSP 和 HTTP 的明文交互带来了很多安全性问题,而 HTTPS 的出现,大大提高了数据交互的安全性,而在 RTSP Over HTTP 协议中,我们也可以参考 HTTP 和 HTTPS 的修改,实现 RTSP Over HTTPS 协议,从而可以应用在一些安全性要求较高的场景中。
RTSP 的标准端口是 554,但是由于各种不同的防火墙等安全策略配置的原因,客户端在访问 554 端口时可能存在限制,从而无法正常传输 RTSP 报文。 但是 HTTP 端口(80 端口)是普遍开放的,于是就有了让 RTSP 报文通过 80 端口透传的想法,即 RTSP Over HTTP。
在 H264
编码预测时,选择哪种预测方式是一个永远躲避不了的一个问题,我们希望找到一个最优的预测方式,即预测的亮度 / 色度值与真实的亮度 / 色度值最为接近。这就需要有一种计算方法来评价各种预测方式的效果,我们称这种计算方法为代价计算。
在帧内预测模式中,预测块 P 是基于已编码重建块和当前块形成的。对亮度像素而言,P 块用于 4×4 子块或者 16×16 宏块的相关操作。4×4 亮度子块有 9 种可选预测模式,独立预测每一个 4×4 亮度子块,适用于带有大量细节的图像编码;16×16 亮度块有 4 种预测模式,预测整个 16×16 亮度块,适用于平坦区域图像编码;色度块也有 4 种预测模式,类似于 16×16 亮度块预测模式。编码器通常选择使 P 块和编码块之间差异最小的预测模式。
CAVLC(Context-based Adaptive Variable-Length Code)
:基于上下文的可变长度编码,是 H.264
中进行 4x4
像素块进行熵编码的方法,基本 (baseline) 档次中只能使用 CAVLC
,只有主要 (main) 档次和扩展 (extern) 档次才能使用 CABAC
。
SDP 全称是 Session Description Protocol,翻译过来就是描述会话的协议。主要用于两个会话实体之间的媒体协商。
什么叫会话呢,比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。
那为什么要去发这个描述文本呢,主要是为了解决参与会话的各成员之间能力不对等的问题,如果参加本次通话的成员都支持高质量的通话,但是我们没有去进行协议,为了兼容性,使用的都是普通质量的通话格式,这样就很浪费资源了。所以 SDP 的作用还是很有必要的。
在 流媒体传输 - RTSP 协议 中,我们分析 RTSP 协议交互的整个流程,在本篇文章中,我们对交互中携带的报文进行详细分析。
Request = Request-Line ; Section 6.1
*( general-header ; Section 5
| request-header ; Section 6.2
| entity-header ) ; Section 8.1
CRLF
[message-body] ; Section 4.3
在计算机科学中,并查集是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个联合 - 查找算法(union-find algorithm)定义了两个用于此数据结构的操作:
由于支持这两种操作,一个不相交集也常被称为联合 - 查找数据结构(union-find data structure)或合并 - 查找集合(merge-find set)。
一笔画问题:给定一个 n 个点 m 条边的图,要求从指定的顶点出发,经过所有的边恰好一次。
定义:
- 注:定义中边经过且仅经过 1 次,顶点的经过次数不受限制。
将具有相同值的连续串用其串长和一个代表值来代替,该连续串就称为游程,串长称为游程长度。
去除像素冗余:用游程的灰度和游程的长度代替游程本身。
算术编码是 1980 年代发展起来的一种熵编码方法。
基本原理是将被编码的数据序列表示成 0 和 1 之间的一个间隔 (也就是一个小数范围),该间隔的位置与输入数据的概率分布有关。信息越长,编码表示的间隔就越小,因而表示这一间隔所需的二进制位数就越多 (由于间隔是用小数表示的)。
Huffman 编码是 1952 年为压缩文本文件所设计的编码方法,也是目前消除视频信息冗余最常使用的方法之一;其对出现概率最大的符号赋以最短的码字,概率越小表示的码字越长,从而使表示每个符号的平均比特数最小。
信息量:表示该符号所需要的位数。
考虑用 0 和 1 组成的二进制数码为含有 n 个符号的某条消息编码,假设符号 \(a_{j}\) 在整条消息中重复出现的概率为 \(P_{j}\) ,则该符号的信息量定义为:
\[E_{n} = -log_{2}(P_{j})\qquad(0\le P_{j}\le1)\]
信息量表示为以 2 为底的对数,是正值。