一、HTTP和HTTPS
HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS。HTTP是超文本传输协议,信息是明文传输,而HTTPS是具有安全性的ssl加密传输协议。
1、默认HTTP的端口号为80,HTTPS的端口号为443。
2、为什么HTTPS安全?
因为网络请求需要中间有很多的服务器路由器的转发,中间的节点都可能篡改信息,而如果使用HTTPS,密钥在你和终点站才有。HTTPS之所以比HTTP安全,是因为他利用SSL/TSL协议传输。它包含证书,卸载,流量转发,负载均衡,页面适配,浏览器适配,refer传递等,保障了传输过程的安全性。

HTTPS能够加密信息,以阻止敏感信息被第三方获取,很多银行网站或电子邮箱等安全级别较高的服务都会采用HTTPS协议。

采用HTTPS协议的服务器必须要有一套数字证书(一对公钥和私钥),可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。

二、资源访问

1、https页面访问http资源

网站的域名是https协议,那么该网站下的图片,css,js,都必须是https协议,不能是http协议。下面提供4种解决方案。

A、更改资源

把资源都放到https域名下,这样https页面访问https的资源。

B、相对路径

<link rel="stylesheet" href="//url/xxx.css" type="text/css">
<script type="text/javascript" src="//url/xxx.js"></script> .logo { background: url(//baidu.com/logo.png); }

C、iframe方式

用iframe把http的资源嵌入https页面。

D、ajax请求

2、http页面访问https资源

网站的域名是http协议,那么该网站下的资源域名可以是http,也可以是https。

三、HTTP2.0

HTTP2.0可以说是SPDY的升级版,HTTP2.0支持明文HTTP传输,而SPDY强制使用HTTPS;HTTP2.0消息头的压缩算法采用HPACK,而SPDY采用的DEFLATE。
HTTP - HTTPS - SPDY - HTTP2.0,一路进化,下面介绍HTTP2.0的新特性。

1、采用二进制格式传输数据,而非http1.1的文本格式,二进制格式在协议的解析和优化扩展上带来更多的优势和可能;
2、对消息头采用HPACK进行压缩传输,能够节省消息头占用的网络的流量,而http1.1 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源;
3、多路复用,就是多个请求都是通过一个TCP连接并发完成,http1.1虽然通过pipeline也能并发请求,但是多个请求之间的响应会被阻塞的,所以pipeline至今也没有被普及应用,而http2.0做到了真正的并发请求,同时还支持优先级和流量控制。
4、服务端能够更快的把资源推送给客户端,例如服务端可以主动把JS和CSS文件推送给客户端,而不需要客户端解析HTML再发送请求,当客户端需要的时候,它已经存在。

 

HTTP那些事儿的更多相关文章

  1. 说说Makefile那些事儿

    说说Makefile那些事儿 |扬说|透过现象看本质 工作至今,一直对Makefile半知半解.突然某天幡然醒悟,觉得此举极为不妥,只得洗心革面从头学来,以前许多不明觉厉之处顿时茅塞顿开,想想好记性不 ...

  2. 总结iOS开发中的断点续传那些事儿

    前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...

  3. setTimeout那些事儿

    一.setTimeout那些事儿之单线程 一直以来,大家都在说Javascript是单线程,浏览器无论在什么时候,都且只有一个线程在运行JavaScript程序. 但是,不知道大家有疑问没——就是我们 ...

  4. Javascript中关于cookie的那些事儿

    Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...

  5. webpack那些事儿

    webpack那些事儿01-webpack到底是什么 webpack那些事儿02-从零开始 webpack那些事儿03-热插拔 hot webpack那些事儿04-spa项目实战分析 webpack那 ...

  6. 关于JSON的那些事儿

    JSON的那些事儿 曾经有一段时间,XML是互联网上传输结构化数据的事实标准,其突出特点是服务器与服务器间的通信.但是业内不少人认为XML过于繁琐.冗长,后面为了解决这个问题也出现了一些方案,但是由于 ...

  7. MVC之前的那点事儿系列(10):MVC为什么不再需要注册通配符(*.*)了?

    文章内容 很多教程里都提到了,在部署MVC程序的时候要配置通配符映射(或者是*.mvc)到aspnet_ISPAI.dll上,在.NET4.0之前确实应该这么多,但是.NET4.0之后已经不要再费事了 ...

  8. MVC之前的那点事儿系列(8):UrlRouting的理解

    文章内容 根据对Http Runtime和Http Pipeline的分析,我们知道一个ASP.NET应用程序可以有多个HttpModuel,但是只能有一个HttpHandler,并且通过这个Http ...

  9. CSS知识回顾--读《CSS 那些事儿》笔记

    由于之前有了解过CSS的相关知识,有了一定的基础,所以读起<CSS 那些事儿>不是很有难度,况且我现在读起来时,CSS3和HTML5比较流行,这里只是记录一些CSS知识记录,不做详细铺开, ...

  10. 在一个老外微信PM的眼中,中国移动App UI那些事儿

    本文编译自Dan Grover的博客,他现在是腾讯微信的产品经理.以下是他从旧金山搬到广州后的近半年时间里,在试用过微信微博等中国主流移动App后,总结出的中美App在设计理念上的差异,并对中国移动A ...

随机推荐

  1. XML解析技术简介——(一)

  2. Java对象与JSON互相转换jsonlib以及手动创建JSON对象与数组——(二)

    首先声明一下,jsonlib转换与GSON相比太差劲了,操作不是一般的繁琐.GSON可以直接转换成各种集合与对象类型.强烈推荐使用GSON.而且GSON一个方法就可以解决,jsonlib转来转去太繁琐 ...

  3. Django开发笔记一

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.运行 python manage.py runser ...

  4. Dubbo服务降级

    当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或简单处理,从而释放服务器资源以保证核心业务正常运作或高效运作. 可以通过服务降级功能临时屏蔽某个出错的非关键服务并定义 ...

  5. Mysql被攻击

    日志: show global variables like '%general%'; set global general_log=on; 默认Path:/var/run/mysqld/mysqld ...

  6. MVC 带扩展名的路由无法访问

    在MVC中,路由是必不可少的,而且MVC对Url的重写非常方便,只需要在路由中配置相应的规则即可.假如我们需要给信息详情页配置路由,代码如下: routes.MapRoute( name: " ...

  7. SharePoint 2010管理中心服务器提示“需要升级”

    共3台服务器,只有管理中心所在服务器提示需要升级: 执行命令:stsadm –o localupgradestatus,返回结果类似如下: [2] content database(s) encoun ...

  8. 关于Mybatis的SQL映射文件中in关键字的用法

    有一个需求是可以选择多个设备进行删除,于是想到将多个设备id拼成字符串作为参数,以逗号隔开,如:"123,234,456". SQL如下: <delete id=" ...

  9. python闭包的理解说明

    什么是闭包: 闭包(closure)是函数式编程的重要的语法结构.函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式).在面向过程编程中,我们见到过函数(function):在面向 ...

  10. PYTHON-操作系统基础-2-练习

    #===============================================# # 1.简述cpu.内存.硬盘的作用# cpu是人的大脑,负责控制全身和运算# 内存是人的记忆,负责 ...