版本号

SSL与TLS的区别

时光毁灭记忆、已成空白 提交于 2019-12-29 07:36:00
SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议 加密 层,最初是由网景公司(Netscape)研发,后被IETF(The Internet Engineering Task Force - 互联网工程任务组)标准化后写入(RFCRequest For Comments 请求注释),RFC里包含了很多互联网技术的规范! 起初是因为HTTP在传输数据时使用的是明文(虽然说POST提交的数据时放在报体里看不到的,但是还是可以通过抓包工具窃取到)是不安全的,为了解决这一隐患网景公司推出了SSL安全套接字协议层,SSL是基于HTTP之下TCP之上的一个协议层,是基于HTTP标准并对TCP传输数据时进行加密,所以HPPTS是HTTP+SSL/TCP的简称。 由于HTTPS的推出受到了很多人的欢迎,在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制(但是几乎和SSL3.0无差异),标准化后的IETF更名为TLS1.0(Transport Layer Security 安全传输层协议),可以说TLS就是SSL的新版本3.1,并同时发布“RFC2246-TLS加密协议详解”,如果想更深层次的了解TLS的工作原理可以去RFC的官方网站:www.rfc-editor.org,搜索RFC2246即可找到RFC文档! SSL连接过程

Nginx服务优化------(隐藏版本+缓存+修改用户与组+日志分割+进程超时)

北慕城南 提交于 2019-12-29 00:20:51
[TOC] 文章目录 一、配置Nginx隐藏版本号 1.1、修改配置文件法 1.2、修改源码法 二、修改Nginx用户与组 2.1、修改配置文件指定用户与组 三、配置Nginx网页缓存时间 四、配置日志分割 五、实现连接超时 nginx的安装已经提前配置好了,需要的可以参考我的博客,链接为:Nginx 的配置 一、配置Nginx隐藏版本号 在生产环境中,需要隐藏Nginx的版本号,以避免安全漏洞的泄漏 查看方法 使用fiddler工具在Windows客户端查看Nginx版本号 在CentOS系统中使用"curl -I 网址”命令查看 Nginx隐藏版本号的方法 修改配置文件法 修改源码法 1.1、修改配置文件法 1、先查看版本基本信息 curl -I http://自己的IP地址 2、Nginx的配置文件添加:server_tokens 选项的值设置为off vim /usr/local/nginx/conf/nginx.conf http { include mime.types; default_type application/octet-stream; #下面添加一段,关闭版本显示 server_tokens off; 3、重启服务 //先关闭服务,再开启服务 service nginx stop service nginx start 4、再用 curl 命令查看版本 1

高性能Mysql学习日志(三)

不问归期 提交于 2019-12-27 11:47:48
1.4多版本并发控制 Mysql的大多数事务型存储引擎的实现都不是基于简单的行级锁。基于提升并发性能的考虑,它们一般都同时实现了多版本并发控制(MVCC)。它的实现是通过保存数据再某个时间点的快照来实现的。当一个事务开始进行时,他无论花了多少时间执行多少次相同的查询,他看到的数据都是一致的。而不同的事务在不同时间点开始事务时,每个事务对同一张表、同一个时刻看到的数据可能都是不相同的。 以最经典的InnoDB引擎(隔离级别为REPEATABLE READ)为例,它的MVCC实现方法是通过在每行记录后面保存两个隐藏列来实现的。一个列保存行的创建时间,一个列用来保存列的过期时间(删除时间),他存储的不是实际的时间值,而是系统版本号,每当开始一个新的事务,系统版本号就会自动递增,该事务开始的时刻的版本号即为该事务的版本号,用来和该事务要查询的每行记录的版本号进行比较。 SELECT: InnoDB会根据以下两个条件检查每行记录: a.InnoDB只会查找版本小于或等于当前事务版本的数据行,这样可以保证事务读取的行要么在事务开始前已经存在了,要么是事务他自身插入或修改过的行。 b.行的删除版本要么未定义,要么要大于当前事务的版本号。这可以确保事务读取到的行,一定是在该事务开始时未被删除的数据行。 INSERT/DELETE: InnoDB为新插入(新删除的

maven快照版本和发布版本

时光总嘲笑我的痴心妄想 提交于 2019-12-26 23:53:47
maven快照版本和发布版本区别 转自 https://www.cnblogs.com/wuchanming/p/5484091.html 在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升级组件的版本号,可这样就明显不符合要求和实际情况了。但是,如果是基于快照版本,那么问题就自热而然的解决了,而maven已经为我们准备好了这一切。 maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上 -SNAPSHOT 即可(注意这里必须是大写),如下: <groupId>cc.mzone</groupId> <artifactId>m1</artifactId> <version>0.1-SNAPSHOT</version> <packaging>jar

Git常用命令

人走茶凉 提交于 2019-12-26 20:21:33
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 —— 百度百科 PS:这篇博文相当于字典,方便查阅用。而如果想要重零开始学习Git的使用技巧,推荐去 廖雪峰的官方网站 上学习。还有就是,下面的 $ 都是可以省略的。 基础操作命令 $ git init 可以通过这个命令把当前目录变成Git可以进行管理的仓库,会生成隐藏的 .git 文件。 $ git add file_name 通过这个命令可以指定的要添加的当前目录中的文件,也可以使用 git add . 直接上传当前目录下所有的文件。 $ git commit -m ‘’ 正式提交之前 git add 所添加的文件,后面则是当前提交所要对自己或者他人说明的信息。比如说 'v0.1版本' 。 $ git status 此命令可以查看仓库当前的状态,包括有哪些修改后的文件没有添加或者提交到仓库中。 $ git diff file_name diff即difference,顾名思义就是查看文件名所对应的文件有什么跟仓库中不同的敌方,显示格式则是Unix通用的diff格式。 $ git log 很明显,就是查看当前git的使用日志,俗称历史记

三、SpringBoot项目探究

末鹿安然 提交于 2019-12-26 05:49:49
1.pom文件 父项目 1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>2.0.4.RELEASE</version> 5 </parent> 6 7 spring-boot-starter-parent 的 父项目是这个 8 <parent> 9 <groupId>org.springframework.boot</groupId> 10 <artifactId>spring-boot-dependencies</artifactId> 11 <version>2.0.4.RELEASE</version> 12 <relativePath>../../spring-boot-dependencies</relativePath> 13 </parent> 14 15 父项目里面的定义了个软件的版本号,当我们引入相关包的时候,不需要再写包版本号,如果里面没有的,那就肯定要写版本号了。 16 称之为:SpringBoot的版本仲裁中心 启动器 1 <!-- 导入Spirng Boot web 所需的jar包 --> 2 <dependency> 3 <groupId>org

http报文

时光总嘲笑我的痴心妄想 提交于 2019-12-25 22:35:15
一、什么是报文 报文,是网络中交换和传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的 数据信息,其长短很不一致,长度不限且可变。HTTP报文是由一行一行简单的字符串组成的。HTTP报 文都是纯文本,不是二进制代码,所以人们可以很方便地对其进行读写。如果说HTTP是因特网的信使, 那么HTTP报文就是它用来搬东西的包裹了。 二、 HTTP报文的执行顺序:    一次HTTP请求,HTTP报文会从      “客户端” --------> "代理" ------------> "服务器"。    在服务器工作完成之后      "服务器" -----------> "代理" ---------------->"客户端" 三、报文的组成部分 HTTP报文是简单的格式化文本。如下图所示。每条报文都包含一条来自客户端的请求或者一条来自服务器的响应。 它们由三部分组成:对报文进行描述的起始行、包含属性的首部块以及可选的、包含数据的主体部分。 所有的HTTP报文都可以分为两类:请求报文和响应报文。请求报文会向Web服务器请求一个动作。响应报文会将请求 的结果返回给客户端。请求报文和响应报文的基本报文结构相同。 1、报文的语法 请求报文的格式: <method> <request-URL> <version> <headers> <entity-body> 响应报文的格式

虚拟机系列之 类文件结构

喜夏-厌秋 提交于 2019-12-25 16:29:25
类文件结构 类文件结构 1 魔数 2 常量池 3 访问标志 4 类索引、父类索引与接口索引集合 5 字段表集合 6 方法表集合 7 属性表 类文件结构 Class的结构不像xml等描述语言,由于它没有任何分隔符号,所以无论是顺序还是数量,都被严格限定,字节含义和长度先后顺序等,都不允许改变。 1 魔数 每个class文件的头4个字节称为魔数,它的唯一作用是用于确定这个文件是否为一个能被虚拟机接受的class文件。(不用扩展名是因为扩展名可以被随意改动,不安全)。class文件的魔数为:0xCAFEBABE; 紧接着魔数的4个字节是存储的class文件的版本号,第5和6个字节是次版本号,7,8个字节是主版本号。 后续讲解以以下代码为例: public class TestClass { private int m ; public int inc ( ) { return m + 1 ; } } 2 常量池 常量池是class文件结构中与其他项目关联最多的数据类型,也是占用class文件空间最大的数据项目之一。 常量池中主要存放两大类常量:字面量和符号引用。 常量池中的每一项常量都是一个表,共有11种结构各不相同的表结构数据,这11种表开始的第一位是一个u1类型的标志位,代表当前这个常量属于哪种常量类型。 其他同理,常量表如下: 3 访问标志 4 类索引、父类索引与接口索引集合 5

Xcode中的Version和Build的区别

…衆ロ難τιáo~ 提交于 2019-12-25 07:04:30
Version( 应用程序发布版本号 ) Version对应的是 CFBundleShortVersionString 。 Version 一般由产品部门确定,版本号是由分隔的整数组成的字符串,一般有2段或者3段式, 如:1.2, 1 .2.3 二段式: 第一个段:(主版本号)大功能的新增或者有迥异的变化 第二个段:(副版本号)既包含小功能更新也会包含 bug 修复 三段式: 第一个段:重大修改的版本,如实现新的大功能或重大变化的修订。 第二个段:实现较突出的特点,如新功能添加和大问题修复。 第三个段:代表维护版本,修复bug。 版本号的管理是一个谨慎的事情,希望各位开发者了解其中的意义。 Build( 应用程序内部标示 ) Bulid 是给内部使用,与 Version 不会有太大联系. Bulid对应的是 CFBundleVersion 。标识(发布或未发布)的内部版本号。用以记录开发版本的,每次更新的时候都需要比上一次高。 作用: 发布build版本供测试团队进行测试。 代码获取Build和Version Object-C NSDictionary *info= [[NSBundle mainBundle] infoDictionary]; info[@"CFBundleShortVersionString"]; //Version info[@"CFBundleVersion

Nginx服务优化------(隐藏版本+缓存+修改用户与组+日志分割+进程超时)

依然范特西╮ 提交于 2019-12-25 04:46:15
文章目录 一、配置Nginx隐藏版本号 1.1、修改配置文件法 1.2、修改源码法 二、修改Nginx用户与组 2.1、修改配置文件指定用户与组 三、配置Nginx网页缓存时间 四、配置日志分割 五、实现连接超时 nginx的安装已经提前配置好了,需要的可以参考我的博客,链接为: Nginx 的配置 一、配置Nginx隐藏版本号 在生产环境中,需要隐藏Nginx的版本号,以避免安全漏洞的泄漏 查看方法 使用fiddler工具在Windows客户端查看Nginx版本号 在CentOS系统中使用"curl -I 网址”命令查看 Nginx隐藏版本号的方法 修改配置文件法 修改源码法 1.1、修改配置文件法 1、先查看版本基本信息 curl - I http : / / 192.168 .220 .134 / 2、Nginx的配置文件中的server_tokens 选项的值设置为off server_tokens off ; //关闭版本显示 3、重启服务 service nginx restart 4、再用 curl 命令查看版本 1.2、修改源码法 Nginx 源码文件 /usr/src/nginx-1.12.0/src/core/nginx.h 包含了版本信息,可以随意设置 重新编译安装,隐藏版本信息 1、修改版本号 vim / opt / nginx - 1.12 .2 /