HTTP技术
文章平均质量分 77
大飞飞鱼
做自己喜欢的事情,任凭别人去说吧
展开
-
VB.net与VB6 调用Websocket功能的方法--Websocket For VB
如何在VB.net与VB6 实现Websocket的功能方法,介绍了一个现成的免费组件的使用,该组件简单易用,性能优越。该组件功能全面,支持TLS,全面支持WS与WSS协议原创 2022-10-06 21:34:06 · 2802 阅读 · 1 评论 -
HTTPS 协议的握手过程笔记
http协议是无加密的,客户端发起tcp连接成功后发送请求头,然后服务器响应数据给用户。但https不一样,客户端在发送资源请求之前必须经过握手,传递资源数据加密的密码,然后才发送请求,处理响应。HTTPS在采用SSL协议,SSL协议依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。具体是如何进行加密,解密,验证的,且看下图,下面的称为一次握手。具体步骤解析:1、 客户端发起HTTPS请求 这一步先建立TCP连接,然后通过ssl协议进行握手。2、传送证书采用HT..原创 2022-01-13 15:58:33 · 408 阅读 · 0 评论 -
Linux下PHP 7源码编译过程
一、安装依赖包yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel原创 2021-11-23 17:24:32 · 229 阅读 · 0 评论 -
Chrome 94版本及以后公网网页不能向私网POST请求的问题
问题:以前的系统将网页部署在公网,应用服务器部署在私网,用Chrome浏览器一直能够正常工作,今天,突然发现不能工作了,而系统代码未做任何改动,就不行了。通过搜索发现问题的原因如下:从2021年9月22号,Chrome 94 已正式发布。Chrome 94 默认开启“阻止不安全的专用网络请求”,将使得http的站点请求私有网络接口被拦截。通过查看Chrome的版本信息如下:原来我的Chrome浏览器被Google公司偷偷地升级为94版本了,所以出现了问题。问题解决办法1、临.原创 2021-10-10 12:58:38 · 2069 阅读 · 1 评论 -
SSL 根证书的相关概念
什么是可信任根证书库 我们在浏览一个 HTTPS 网站的时候,服务器会发送证书链,但光有证书链,客户端是不能完成证书校验的,必须在浏览器本地机器上有一张根证书才能完成签名认证,也就是说客户端必须信任根证书才能构建信任基础。各个 CA(证书签发机构) 机构为了开展业务,必须申请将自己的根证书嵌入到各个操作系统平台中,如果申请(向微软、苹果或Linux发布厂家申请)被拒绝,CA 机构将无法开展业务,即如果操作系统厂家不允许某个CA机构在自己的操作系统里打包安装该CA的根证书,则该CA签发的证书是不...原创 2021-09-09 15:54:52 · 1375 阅读 · 0 评论 -
Webrtc 源码分析起步
本文是从Webrtc实际应用的方面介绍如何快速理解Webrtc的源码。Webrtc是用于web的实时通信框架,也可以直接使用Google开源的Webrtc实现来开发非Web的APP。要理解如何使用webrtc的源码,最好是先懂得Webrtc通信的流程,请查看用Webrtc实现免费的1对1高清实时视音频会议系统就可以了解Webrtc的接口使用流程,了解这个流程后就可以快速理解Google开源的那部分Webrtc源码了,并为自己使用。需要掌握Webrtc的js部分的PeerConnection,js部...原创 2021-08-21 01:06:41 · 1915 阅读 · 0 评论 -
SSL 服务器与客户端样本代码
本文为了方便进行SSL编程参考而整理,SSL编程调用的大多数流程就如如下样本代码,通过本样本代码可以比较快的测试SSL相关API。原创 2021-08-14 13:53:12 · 2764 阅读 · 0 评论 -
Windows下用OpenSSL生成CA根证书及签发server端证书
一、先下载编译好的OpenSSL程序,并展开后放在E:盘,目录结构如下所示目前放在的目录为:E:\OpensslX64二、打开一个CMD控制台窗口,设置好openssl.cnf路径用以下控制台命令进入到E:\OpensslX64\bin,并设置好openssl.cnf路径。E:cd E:\OpensslX64\binset OPENSSL_CONF=E:\OpensslX64\conf\openssl.cnf三、在当前目录E:\OpensslX64\bin 里创建两个...原创 2021-08-14 11:11:07 · 9290 阅读 · 0 评论 -
通用Websocket客户端组件,适用于C#,VB.net与VB6 的开发使用,支持WSS
近期由于业务需要,需要与视频会议服务器整合开发,由于会议服务器的控制方式要求采用Websocket方式,并且是WSS(加密Websocket协议), 由于一直采用VB6、VB.Net开发,因此就在网上搜索是否有合适的解决方案,花了两天事件都没有找到合适的。找到一些实现方案,要么就是VB实现的,不支持WSS,要么就是C#实现的,不支持VB开发,要么不支持64位Windows程序调用,反正没有找到合适的。因此下专心自己作一个。 笔者,完全按照H5的Websocket对象实现了一个Websoc.....原创 2021-02-24 02:21:04 · 4082 阅读 · 6 评论 -
谷歌浏览器 Chrome 最新版离线安装包下载地址
很多的时候下载Google 谷歌浏览器 Chrome 时候,从度上搜索到的都是广告网站,其实谷歌浏览器 Chrome 离线安装包的位置是固定的,只是很多朋友不知道而已,应该通过Google自己的网站来下载谷歌浏览器 Chrome安装程序,在这里下载的谷歌浏览器Chrome离线安装程序都是最新的,而且不会被第三方篡改,确保安全 。下载地址如下,直接点击链接或者复制链接即可进行下载:适合于64位操作系统的离线安装包地址是:http://www.google.cn/chrome/bro...原创 2020-11-03 11:23:46 · 8806 阅读 · 2 评论 -
Windows 下 openssl 生成服务端证书 server.key 与 server.crt
Key是私用秘钥,通常是RSA算法Csr是证书请求文件,用于申请证书。在制作csr文件时,必须使用自己的私钥来签署申,还可以设定一个密钥。crt是CA认证后的证书文,签署人用自己的key给你签署凭证。key的生成openssl genrsa -out server.key 2048这样是生成RSA密钥,openssl格式,2048位强度。server.key是密钥文件名。csr的生成openssl req -new -key server.key -out server.csr,原创 2020-10-21 18:30:09 · 3147 阅读 · 1 评论 -
Nginx 关闭静态文件与某个目录或连接的访问日志
今天突然发现服务器上的硬盘没有空间了,后检查 发现原来是nginx的日志过大所致,其中 access.log 有16GB,error.log有14GB。于是,便想关闭nginx的日志,对于静态文件(例如:图片,js等)关闭日志,对于访问量达的URL关闭日志。网上查了一下nginx关闭日志的配置,提出了以下配置关闭静态文件的访问日志:location ~ \.(css|js|jpg|png|gif|swf)$ { access_log off; log_not_found原创 2020-08-17 19:37:45 · 1049 阅读 · 0 评论 -
用nginx反向代理功能将WS转为加密websocket (wss)
原来写的服务器端程序支持websocket非加密协议,即仅支持 ws://ip/file形式的访问,现在网站的主协议变成了https了,再通过ws://协议来访问原服务器,浏览器阻止了。查找原因就是,如果一个网页的协议是https的,则内部的子连接必须也是安全套接字,如果原理是ws协议,则现在必须变为wss协议。 由于时间紧,来不及修改原服务器了。发现nginx可以将ws协议通过反向代理的方式转为wss,目前苟且采用这种替代方案吧。nginx配置成websocke...原创 2020-08-08 23:19:50 · 5454 阅读 · 2 评论 -
OPENSSL BIO服务器端伪代码
最近在做服务器端的SSL支持,服务器端用的网络IO库是libuv,由于libuv官方是不会支持ssl的,因此得自己实现。原理应该是将libuv获取到的数据喂给OPENSSL的BIO,然后判断是否握手完毕。注意:SSL的客户端发送给服务器端的数据首先是SSL握手数据,然后再是http等头数据。本文仅仅是记录了在服务器端初始化的流程,便于以后参考。在用OPENSSL做服务器端时 ,服务器端需要首先配置证书与私钥文件,然后用SSL_set_accept_state() 来设置为服务器端,这个函数...原创 2020-08-08 15:09:21 · 872 阅读 · 1 评论 -
Websocket Frame 格式(Websocket 数据帧格式)
今天,公司要求在媒体服务器上实现websocket-flv播放,即通过Websocket技术来实现flv播放。笔者以前曾用Websocket协议实现过一个百万级别的即时通信服务器,但到今日已有时日,对Websocket协议的帧格式是记不清楚了,今日正好重新复习一下,做笔记如下,已备忘。 浏览器通过GET方式发送Websocket请求,服务器通过判断其请求头部是否包含 ...原创 2019-12-29 23:29:31 · 9363 阅读 · 0 评论 -
git 代理设置
git设置代理的方式如下,Windows 与 Linux通用。任选如下方法的一种即可。一、通过命令行(方法一)1.1设置代理假设代理服务器的配置为:Socks5 代理,端口为1080,地址为:127.0.0.1,则直接在命令行输入如下命令:git config --global http.proxy 'socks5://127.0.0.1:1080'git config --...原创 2019-12-09 00:14:07 · 19337 阅读 · 1 评论 -
Apache 服务器的 .htaccess 正则表达式规则
正则表达式是非常难记住的,为了方便 htaccess 编写正则,这里整理了一下 htaccess 的正则规则,便于以后查找。# —— 位于行首时表示注释。[] —— 匹配一个字符集合,例如[xyz]可以匹配x, y或者z[]+ —— 例如[xyz]+会以任何顺序、次数匹配x,y,z的出现[^] —— 字符^表示字符集的补集。[^xyz]将匹配没有x,y或者z的字符串[a-z] —— 连...原创 2019-11-10 23:24:15 · 718 阅读 · 0 评论 -
免费开源的几款Web服务器软件简介
由于最近在部署云服务器主机,在对Web服务器软件的选型方面进行了摸索,把笔记记下来,便于以后查阅。一、NGINX 俄罗斯人Igor Sysoev从2002年开始开发NGINX,并在2004年发布了第一个公开版本。NGINX的开发是为了解决C10K(C10K是如何处理1万个并发连接的简写)问题,目前,它是第二流行的开源web服务器,全球有超过30%的网站在使用它。NGINX依...原创 2019-10-31 16:36:42 · 31147 阅读 · 1 评论 -
osmf grindPlayer的各种api。
FeaturesQuality switcherAlternate audio track switcherBuilt-in scrubbar thumbnailsSubtitlesAdvertisementLocalizationSettings remember (volume, quality)Statistics infoDifference between Grind a转载 2017-08-21 17:45:23 · 946 阅读 · 0 评论 -
HTTP文件上传服务器-支持超大文件HTTP断点续传的实现办法
最近由于笔者所在的研发集团产品需要,需要支持高性能的大文件http上传,并且要求支持http断点续传。笔者在以前的博客如何实现支持大文件的高性能HTTP文件上传服务器已经介绍了实现大文件上传的一些基本概念,其实非常简单,这里在简要归纳一下,方便记忆:服务器端由C语言实现,而不是用java、PHP这种解释型语言来实现; 服务器端即时写入硬盘,因此无需再次调用move_uploade...原创 2018-06-03 21:45:58 · 32722 阅读 · 2 评论 -
HTML5文件上传,断点续传的开发实现笔记
本文基于HTML5 的FILE API 实现了一个HTTP断点续传系统,支持HTTP超大文件断点续传,兼容目前主流浏览器,可移植性非常好,可以适应与PC、iOS与Android系统。原创 2018-06-05 20:30:46 · 7274 阅读 · 0 评论 -
Windows 下Nginx、Mysql与PHP环境的搭建
1)下载安装nginx:nginx的下载地址:http://nginx.org/en/download.html下载 nginx-1.14.0.zip 下载后将以上Nginx文件解压到c:\wnmp(任意目录均可)目录下,打开c:\wnmp\nginx\conf\nginx.conf配置文件,注意Nginx的端口默认是80,如果当前计算机上已经有监听80端口的程序,例如apache、...原创 2018-08-25 17:12:50 · 1582 阅读 · 0 评论 -
PHPJiaMi 解密脚本推介-免费开源
今天,在做一个小PHP项目时,用到了别人的PHP源代码,当用编辑器打开看时,发现这堆代码里有部分文件是经过编码变换的,摘取其中一个文件的开头部分样本如下:<?php /* PHP Encode by http://Www.PHPJiaMi.Com/ */error_reporting(0);ini_set("display_errors", 0);if(!defined...原创 2019-05-13 12:03:29 · 3776 阅读 · 0 评论 -
Chrome 离线安装包的下载方法
如果要安装Chrome浏览器,建议从Google网站下载离线安装包,只有从原始地址下载的才值得信任。适合于64位操作系统的离线安装包地址是:http://www.google.cn/chrome/browser/desktop/index.html?standalone=1&platform=win64适合于32位操作系统的离线安装下载地址是:http://www.goog...原创 2019-06-27 08:40:17 · 12218 阅读 · 2 评论 -
Nginx在linux平台部署 的运行优化原理
本文是探讨如何在linux平台上对Nginx的运行进行优化,进一步提高系统性能,从原理上给予阐述。1.NGINX模块Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模...原创 2019-09-30 21:12:25 · 223 阅读 · 0 评论 -
如何实现支持大文件的高性能HTTP文件上传服务器
HTTP文件上传是做Web开发时的常见功能,例如上传图片、上传影片等。实现HTTP文件上传也比较简单,用任何Web端的脚本都可以轻松实现,例如PHP、JSP都有现成的函数或者类来调用。但笔者最近在做项目时遇到了一个大问题,项目需要上传视频文件,这些视频文件的尺寸一般大于2GB,用PHP开发时,将服务器端的上传尺寸设置得足够大,但用Chrome、FirFox等浏览器上传时,经常出...原创 2017-08-12 21:48:12 · 26612 阅读 · 1 评论