HTTP之2 HTTP优化(HTTP性能优化、安全的HTTP协议)

一、HTTP性能优化

HTTP连接过程

HTTP连接性能优化

- 网站性能优化最主要的就是要减少HTTP请求及每次响应中内容的长度。可以从连接过程中的下列方面加以考虑

- 域名解析

尽可能减少域名解析次数---减少跨站外部资源的引用

- 创建连接

努力减少连接创建次数----使用Keep-Alive避免重复连接

- 发送请求

尽力减少请求次数----合理设置Expires时间,资源合并

- 等待响应

提高服务器端运行速度----提高数据运算及查询速度

- 接受响应

尽可能减少响应数据长度---启用压缩

二、安全的HTTP协议

HTTPS协议

- HTTP协议本质上属于"明文传输",可能被窃听和篡改

- 政府、银行等机密应用需要"安全版本的HTTP"

- HTTPS 协议将消息发送给TCP层之前,先交给了一个安全层(由SSL或者TLS协议实现),安全层负责对消息进行加密和解密操作

- 使用非安全的HTTP的URL Scheme为http

- http://www.icbc.com.cn/icbc/

- 使用HTTPS的URL Scheme为https

- https://mybank.icbc.com.cn/icbc/perbank/index.jsp

安全连接建立过程

- 客户端建立到服务器上的443端口上的连接

- 双方初始化SSL层,沟通加密参数,交换秘钥

- 客户端发送请求消息,在SSL层加密,服务器接收到密文,在服务器SSL层解密,得到请求明文,对请求进行处理

- 服务器发送响应消息,在SSL层加密,客户端接收到密文,在SSL层进行解密,得到响应明文,解析响应内容

- SSL关闭通知

- TCP连接关闭

总结:本章内容主要介绍了 HTTP优化(HTTP性能优化、安全的HTTP协议)

时间: 2024-08-03 17:37:25

HTTP之2 HTTP优化(HTTP性能优化、安全的HTTP协议)的相关文章

Tomcat多实例集群架构 安全优化和性能优化

Tomcat多实例 复制tomcat目录 #将tar解压出来的tomcat复制出两个实例来cp -a /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat1 cp -a /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat2 修改多实例配置文件 #创建多实例的网页根目录 mkdir -p /data/www/www/ROOT #修改多实例配置文件的以下三行 vim /usr/local/tomcat/co

MYSQL之性能优化 ----MySQL性能优化必备25条

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被

前端性能优化jQuery性能优化

一.使用合适的选择器 $("#id"); 1.使用id来定位DOM元素无疑是最佳提高性能的方式,因为jQuery底层将直接调用本地方法document.getElementById();如果这个 方式不能直接找到你需要的元素,那么你可以考虑调用find()方法,代码如下: $("#domo").find("div"); 使用以上代码可以有效的缩小你定位的DOM元素. 2.标签选择器的性能也是不错的,它是性能优化的第二选择. 二.缓存对象 在写代码

性能优化——应用服务器性能优化

核心知识点: 网站性能优化第一定律:优先使用缓存. 1.分布式缓存 (1)缓存原理 a.什么是缓存?(将数据存储在相对较高访问速度的介质中,以供系统处理) b.缓存的优点:访问速度快,如果需要计算可以减少计算时间 c.缓存的本质是一张以键值对存储的内存hash表 d.主要用来存储:读写比例高,很少变化的数据 e.网站的访问遵循28定律 (2)合理使用缓存应该注意以下问题 a.频繁更新的数据(数据还没有读就已经失效,一般要求读写比在2:1以上才有意义) b.没有热点数据(无疑浪费资源) c.数据不

性能优化——存储性能优化

核心知识点: 存储性能优化无非从磁盘类型.数据结构以及存储备份方式来进行,根据业务场景选择最合适的方案. 1.机械vsSSD(磁盘类型) a.机械:由于每次访问数据,都需要移动磁头臂,因此连续访问和随机访问性能差别比较大.快速顺序读写.慢速随机读写 b.SSD:使用硅晶体存储数据,因此像内存一样随机访问,功耗和噪音也比较小,但是可靠性和性价比有待提高. 2.B+树 vs LSM树(数据结构) a.为了优化磁盘的随机读写能力,文件系统或数据库系统会先将数据排序,保证数据更新.插入.删除之后依然有序

nginx安全优化与性能优化

1.1 Nginx优化分类 安全优化(提升网站安全性配置) 性能优化(提升用户访问网站效率) 1.2 Nginx安全优化 1.2.1 隐藏nginx版本信息优化 官方配置参数说明:http://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens 官方参数: Syntax: server_tokens on | off | build | string;    #后面这俩参数收费的 Default: server_token

web前端优化--DOM性能优化

1.DOM访问与修改的优化: DOM访问是有代价的,修改DOM则会引起DOM的重绘与重排,而这两种操作会消耗性能. (1)缓存DOM:将频繁访问的对象或属性使用变量缓存起来,每次访问的时候,直接使用变量,而不是再次去访问DOM. (2)减少重绘与重排: 批量修改:使用文档片段documentFragment.使用类名一次性修改多个样式.或者使用CSSText属性 如 ele.style.cssText = 'color:red;border:1px solid green'; 元素脱离文档流,再

关于java内存优化和性能优化

1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收.有时,开发者会将经常调用的对象或者变量定义为static,以便提高程序的运行性能.因此,不是常用到的对象或者变量,不要定义为static类型的变量,尤其是静态类对象的定义,一定要仔细考虑是否有必要.例如 类在加载时,静态变量会加载进方法区,只要类没被回收,静态变量就不会被回收 2.充分利用单例机制 实用单例可以减少对资源的加载,缩短运行的时间,提高系统效率.

Android性能优化之LINT使用总结

实话啊,重视lint吧. lint工具对于android应用开发中内存优化.性能优化.代码规范等有灰常灰常大的帮助作用.每个模块开发完成后,lint一下,有意想不到的收获. 介绍: 静态代码分析工具,无需运行,无需测试用例 扫描整个项目,分析以下潜在的问题,分类指出问题描述.问题位置,并提供合理的修改建议(这是才是关键啊,不管有木有大问题,看看这些问题及描述,也能过把瘾啊): ==================================== correctness 正确性 securit