HTTP,HTTPS,HTTP2笔记】的更多相关文章

HTTP 网络协议分层 应用层 -> HTTP FTP 为应用软件提供了很多服务 构建于TCP协议之上 屏蔽网络传输的相关细节 传输层 -> TCP UDP 向用户提供可靠的端对端的服务(end to end) (数据量过大,会分包发送) 网络层 -> 为数据节点之间传输创建逻辑链路 数据链路层 -> 物理连接完成后,需要通过软件进行连接 物理层 -> 网线,光纤等传输硬件设备 TCP/IP协议 计算机与网络设备相互通信,双方就必须基于相同的方法,无论是语言之间的通讯,设备,…
超文本传输协议(HyperText Transfer Protocol) 伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层,HTTP是建立在TCP协议之上的. HTTP的基本优化 影响一个HTTP网络请求的因素主要有两个:带宽和延迟. 带宽:单位时间能通过链路的数据量.通常以bps来表示,即每秒可传输之位数. 延迟: 浏览器阻塞:浏览器对于同一个域名同时只能有 4 个连接,超过浏览器最大连接数限制,后续请求就会被阻塞. DNS 查询:将域名解析为 IP 的过程,…
Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev(或者OpenSSL),且ln -s /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/,然后在编译配置Nginx时要指定--with-http_ssl_module和--with-http_v2_module.另外,若要在本地运行openssl命令,要安装OpenSSL包,本人用的OpenSSL-1.0.2g.注:本文采用Ubuntu 16.04上的操作实例. 下…
在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root CA及签发子证书.学习主要参考官方文档:https://www.feistyduck.com/library/openssl-cookbook/online/ch-openssl.html# 一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备…
一.http状态码 1xx(信息性状态码,接受的请求正在处理) 2xx(成功状态码,请求正常处理完毕)200 OK204 No Content:请求成功但没有资源返回206 Partial Content:范围请求 3xx(重定向状态码,需要进行附加操作以完成请求)301 Moved Permanently:永久性重定向()302 Found:临时性重定向303 See Other:同302,用GET获取资源304 Not Modified: 内容没有改,响应不包含主体部分       (请求头…
1. 下载     https://caddyserver.com/   注意选择应该包含的模块,此次包含了git 插件   2. 配置    使用 Caddyfile    内容如下:     rongfengliang.com gzip git git@github.com:dalong123/appdemo.git root appdemo    3. 启动caddy server   ./caddy   4. 成功提示的信息            访问即可,通过谷歌浏览器可以方便的看到支…
简单说明: 目前多个大型网站都实现全站HTTPS,而SSL证书是实现HTTPS的必要条件之一. StartSSL是StartCom公司旗下的.提供免费SSL证书服务并且被主流浏览器支持的免费SSL.包括Chrome.Firefox.IE.360.搜狗等浏览器都可以正常识别StartSSL,任何个人都可以从StartSSL上申请免费一年的SSL证书.(到期前两周会得到邮件通知,此时可以免费续签) StartSSL的官方网站是http://www.startssl.com,网站需要提供一个邮箱来申请…
为何要升级到HTTPS和HTTP2? http://baijiahao.baidu.com/s?id=1602041305989767011&wfr=spider&for=pc https://www.jianshu.com/p/67c541a421f9 HTTPS 一.所需条件 域名 Web服务器(Nginx,Apache,IIS都行) SSL证书(可通过腾讯云.阿里云等申请) 需要Nginx支持SSL(命令nginx -V中,如果出现 ‘-with-http_ssl_module’ 字…
在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Padding加密,也可以用来防止报文的篡改,使用RSA2048withSHA256签名验证,使用MD5签名等.如果这些不清楚,即使学习简单能做一个HTTPS的服务器和客户端,实际项目上遇见这类问题还是束手无策,下面介绍下数字加密的一些常用的术语. 一.密码学基础概念 1.密码 : 对文本进行编码,使偷…
首先推荐一本书,<HTTP权威指南>我就是看这本书入门的,对http协议有了更好的理解,学习https的理论知识我认为需要了解以下几点,需要一步步的深入学习: 1.HTTPS的基本概念? 2.HTTPS和HTTP的差别?HTTP + 数据加密技术 =HTTPS ?HTTPS 所谓的安全是指哪里安全? 3.HTTPS 的详细交互过程? 4.基础的密码学知识学习:数字加密,对称密钥,非对称密钥,数字签名,数字证书的基本概念. 5.使用openssl怎么制造自签证书? 6.实现简单的https的客户…