天道酬勤,学无止境

HTTP各版本简介

HTTP0.9

只支持GET请求,不支持请求头

HTTP1.0

1. 请求方法

GET,POST,HEAD

2. 缺点
  1. 无状态:服务器不会记录上一次请求的任何内容,会出现类似于重复验证身份的情况。(可通过cookie, session, token解决)
  2. 短连接:每个http请求都需要建立一次TCP连接,多次TCP连接握手耗时。
  3. 不安全:数据以明文传输,容易被窃取;没有对访问对象进行身份验证,容易出现假网站情况;报文完整性难以验证,容易出现被插入恶意广告等情况。
3. GET vs. POST
  1. GET 主要用于从服务器获取资源;POST 主要是利用服务器上的一段代码来做处理,并获取处理结果。
  2. 从格式上看,GET请求参数在URL上,一般有长度限制(长度限制是来自于浏览器,HTTP协议本身无限制。大部分为2K);POST请求参数在Body中,一般无长度限制。
  3. GET不会修改服务器上的数据,且是等幂方法(多次发起同一GET请求,请求结果一致);POST可能会修改服务器上的数据,且是非等幂方法(多次发起同一POST请求获得的结果一般不同)。
  4. GET在请求资源时效率较POST高。
  5. POST安全性较GET高,GET将请求参数直接置于URL中,用户可以在浏览器历史记录的URL中直接获取类似于账号密码等数据。

HTTP1.1

1. 改进
  1. 新增请求方法 PUT,PATCH,DELETE,OPTIONS,TRACE,CONNECT
  2. 新增头部(Cache-Control、ETag、If-None-Match…)以优化缓存策略
  3. 带宽优化:新增Range头部,允许请求资源的某一部分(响应码206, Partial Content)。断点续传
  4. 支持长连接:新增Connection:keep-alive头部,使得一个TCP连接允许进行多次http请求。(注意长连接不会一直保持,服务器会限制连接时间、最大请求次数等;客户端在判定传输数据完成后会主动断开连接(利用Range判断))
  5. Pipelining 数据的管道运输方案(串行数据请求-响应):
    非流水线:客户端需等待上一次请求响应完成后才可发起下一次请求;
    流水线:客户端可以连续按顺序发起多次请求,服务端也会按顺序连续响应(每次请求可节省一个RTT);但会出现队头堵塞的情况
  6. Host头处理,在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址。HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)。
  7. 新增一些响应码。

HTTP2.0

1. 改进
  1. 头部压缩:对于多个相似请求,可以在客户端与服务器端做一个约定:共同维护一张Header字段的索引映射表,使用索引值来代替Header字段,进而实现头部的压缩。
  2. 多路复用并行数据请求-响应)
    客户端可以并行发起多个请求,服务器也会并行响应,服务器会对每个请求使用类似时间片的方式处理,这样可以避免HTTP1.1中的队头堵塞情况。
  3. 数据统一使用二进制编码
  4. 每个请求/响应的数据包会有相应的编码并且不会再连续发送,可以通过设置优先级使得某些请求/响应数据包优先处理。
  5. 支持服务器推送

HTTPS

https就是安全的http,在传输层与应用层中间对http数据包新增SSL/TLS安全处理,对http传输数据进行安全加密以及所访问服务器进行身份验证。HTTPS使用新特定端口443

1. 过程

一、建立TCP连接
二、协商加密方法
在这里插入图片描述

  1. 客户端向服务器(443端口)发起HTTPS请求,携带客户端支持的加密算法列表等。
  2. 服务器选择好合适的加密算法,并携带服务器的CA认证证书(含非对称加密公钥),发送给客户端。
  3. 客户端验证CA证书,随机生成一个对称加密私钥并使用证书的公钥进行非对称加密,发送给服务器。
  4. 服务器使用与CA证书公钥配套的私钥对数据进行解密(非对称),得到对称加密私钥,对数据进行对称加密并发送给客户端。

三、数据传输。此后,客户端与服务器使用对此加密私钥来加密数据,进行数据传输。

2. HTTPS和HTTP的区别
  1. 常用端口不同。http是80端口,https是443端口。
  2. 安全性不同。
    (1)数据传输方式:http明文传输,https密文传输
    (2)身份验证:http无,https需要CA证书要身份以保证客户端请求到服务器端之后,传回的响应是来自于服务器端。
    (3)数据完整性保护:http无,https有。
  3. HTTPS=HTTP+加密+认证+完整性保护。

参考
HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事
HTTPS请求的整个过程的详细分析
HTTPS加密(握手)过程

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 【ubuntu】Ubuntu 各版本代号简介
    一、版本及代号说明 Ubuntu中,每个版本都有一个更为特色的名字,这个名字由一个形容词和一个动物名称组成,并且,形容词和名词的首字母都是一致的。 Ubuntu版本的命名规则是根据正式版发布的年月命名,Ubuntu 16.04 也就意味着 2016年4月发布的Ubuntu,研发人员与用户可从版本号码就知道正式发布的时间。 大家都知道 Debian 的开发代号来源于电影《玩具总动员》,而脱胎于 Debian 的 Ubuntu,其开发代号同样很有意思。 二、查看Ubuntu版本 # cat /etc/issue # cat /proc/version # uname -a # lsb_release -a 三、Ubuntu历史版本与代号一览 Ubuntu 发布版本的官方名称是 Ubuntu X.YY ,其中 X 表示年份(减去2000),YY 表示发布的月份。 Ubuntu 没有像其它软件一样有 1.0 版本,是因为其第一个版本是发布于 2004 年,所以Ubuntu的生日是10月20日。 每两年的 4 月份,都会推出一个长期支持版本(LTS),其支持期长达五年,而非 LTS 版本的支持期通常只有半年。 对于 Desktop 版本和 Server 版本,Ubuntu 会提供至少18个月的技术支持。 四、关于当前版本codename # lsb_release -a
  • http协议各版本区别详解
    HTTP(Hypertext Transfer Protocol )超文本传输协议,是一个应用协议用于分布式协作,多媒体信息统计。HTTP是Word Wide Web的通信基础,其中html文档指向用户可以轻松发文其他资源的超链接,例如,通过单击鼠标或者Web浏览器中点击屏幕. HTTP协议的发展历程 HTTP/0.9 http协议的第一个版本仅适用于数据信息的简介交换,即仅文本传输,只接受GET这一种请求方式,且不支持请求头,由于不支持POST方式,大多数敏感信息无法交换,至此客户端无法向服务器传递过多信息。 缺点: 信息种类过于单一,无法满足需求,串行处理 HTTP/1.0 第一个在通讯中指定版本号的HTTP协议版本,常用于代理服务器,成为了面向事务的应用层协议,;支持cache, MIME, method该协议需要每请求一次响应建立并拆除一次连接,1.0引入了POST和HEAD命令,相对于一版本在一定程度上保障的数据的传输安全,是一个典型的串行连接事务。 缺点: 串行处理,效率低下 HTTP/1.1 引入持久连接机制并被默认采用,且更好的配合代理服务器工作,还支持管道方式同一连接下同时发送多个请求,以降低线路负载,提高传输速度,新增方法: PUT、PATCH、OPTIONS、DELETE 缺点: 同一TCP连接里,所有通信按次序进行,服务器只能顺序处理回应,如果前面处理过慢
  • idea常使用到的设置操作使用介绍
    学习时,使用IDEA开发Java的时候,有不少经常使用到的设置。下面介绍idea的经常使用到的设置。 idea常用设置介绍的目录 一、 设置面板目录概览1.1 设置面板打开方式1.2 各部分作用 二、 自定义背景字体2.1 自定义背景样式2.2 自定义字体大小 三、 修改代码提示四、 自动导入包功能五、 代码缩进及编码设置5.1 设置代码缩进5.2 设置全局编码 一、 设置面板目录概览 简介:介绍设置面板各部分的作用。 1.1 设置面板打开方式 选择 File --> Settings快捷键:ctrl + alt + s 1.2 各部分作用 打开设置面板,熟悉各部分的作用 Appearance & Behavior ( 外观和行为 ) 配置主题、字体、字号、工具类,以及其他视图工具。 keymap ( 快捷键 ) 创建,编辑和删除特定环境的自定义键盘映射,并更改与操作相关联的快捷键。 Editor ( 编辑器 ) 与编辑器相关,主要包括常用设置、字体、模板等。 Plugins ( 插件 ) 与插件相关。 Version Control ( 版本控制 ) 与版本控制相关,包括csv、git、svn等。 Build,Execution,DeployMent ( 构建,执行,部署 ) 与构建,执行,部署相关的一些设置。 Languages & FrameWorks ( 语言和框架 )
  • Linux下svn 安装搭建配置流程
    Linux下svn搭建配置流程 一、 源文件编译安装。源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1/187a3087a49b71b42ba4d4a300b6278746011506/gz/subversion-1.6.1.tar.gz 2. 下载subversion依赖文件 subversion-deps-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1/48f59892a78763e7215ae94628c7e97f46011512/gz/subversion-deps-1.6.1.tar.gz 注意:两个文件版本必须一致,否则很容易产生问题. 二、 解压文件,并编译配置 subversion 1.解压文件 [root@DB2 tfhudong]# tar zxf subversion-1.6.1.tar.gz [root@DB2 tfhudong]# tar zxf subversion-deps-1.6.1.tar.gz 注意:务必将两个文件解压到相同的目录下,否则会产生下面提到过的问题。 2.进入解压后的subversion目录 [root@DB2 ~]# cd /usr/local/subversion-1.6
  • Android简介及发展历程
    简介 Android是基于Linux系统的开源操作系统,是由Andy Rubin于2003年在美国加州创建,后被Google于2005年收购。在2008年的时候发布了第一部Android智能手机,随后Android不断发展更新,占据了全球大部分的手机市场。 Android每一个版本都会用一个按照A-Z开头顺序的甜品来命名,但从Android P之后Google改变了这一传统的命名规则,可能是没有那么多让人熟知的甜品代号供使用以及甜品名字并不能让人直观的了解到哪一个甜品有什么特性,于是Google直接采用数字来命令系统,并且加深了logo的颜色,不再使用甜品作为代号。 下面是Android各版本代号、图片及市场占有率 Platform VersionAPIVersion CodeLogoPublish Date各系统版本比率(2020-07)11.030android 112020(Q3)<1%10.029android 1020198.2%9.028pie(红豆派)201831.3%8.0/8.126/27Oreo(奥利奥饼干)201731.3%7.0/7.124/25Nougat(牛轧糖)201613%6.023Marshmallow(棉花糖)201511.2%5.0/5.121/22Lollipop(棒棒糖)20149.2%4.419/20Kitkat(奇巧)20134%4.1
  • PyTorch简介与GPU版本的安装
    PyTorch简介与GPU版本的安装 Pytorch简介Pytoch优点Pytorch适合人群Pytorch 安装(GPU版本) 最近在学习pytorch,在此做好相关入坑记录。 Pytorch简介 2017年1月,FAIR(Facebook AI Research) 发布Pytorch。 PyTorch是在Torch基础上用python语言重新打造的一款深度学习框架。Torch是采用Lua语言为借口的机器学习框架,但因为Lua语言较为小众,导致Torch知名度不高。 2017年1月正式发布PyTorch。2018年4月更新0.4.0版,支持windows系统,caffe2正式并入PyTorch。2018年11月更新1.0稳定版, 已成为GitHub增长第二快的开源项目。2019年5月更新1.1.0版本,支持TensorBoard,增强可视化功能。2019年8月更新1.2.0版,更新torchvision,torchaudio 和 torchtext,增加更多功能。 Pytoch优点 上手快: 掌握Numpy和基本深度学习概念即可上手;代码简洁灵活: 用nn.module封装使网络搭建更方便;基于动态图机制,更灵活;Debug方便: 采用动态图调试,调试PyTorch就像调试Python代码一样简单 ;文档规范: PyTorch官方文档可查看各PyTorch版本的文档资源多:
  • 360 cassandra 简介
    cassandra简介cassandra在我们公司用的还是⽐较广泛的,但是版本⽐较老,现有版本和新版本之间还是有⼀定差距,但大体架构还是没怎么变.⽂章就cassandra的大体架构,读写删,以及cassandra 的数据一致性方法(readrepair,hintedhandoff,merkletree等机制)做一个简单的介绍,以及对应的介绍下我们在实际运⽤中遇到的⼀些问题以及解决办法,某些部分会结合⾼低版本介绍;这⾥先⼤体介绍下,然后后续慢慢的把各个细节介绍清楚.架构cassandra号称cap理论⾥面的ap做的⽐较好;一个所谓的,分布式的⾼可用的列式数据库,数据模型借鉴了bigtable;如上图就可以认为是⼀个4个节点的cassandra集群(实际上我经常就单机eclipse跑单节点的cassandra),A,B,C,D四个节点,如果按照⽆无vnode的情况,是每一个节点⼀个配置好的token,设叫TA,TB,TC,TD,那么各个节点负责的范围就A(TD,TA],B(TA,TB],C(TB,TC],D(TC,TD];若是vnode的话,集群会基于配置文件⾥面的num_tokens计算好每个节点负责的vnode的范围;这玩意⽐较轻量级,不会类似hbase那样,依赖很多东⻄.为啥说cassandra是可用性⽐较好呢?因为cassandra是一个去中心化的系统,每⼀个节点都是对等的
  • ECMAScript 2016(ES7)新特性简介
    简介自从ES6(ECMAScript 2015)在2015年发布以来,ECMAScript以每年一个版本的速度持续向前发展。到现在已经是ECMAScript 2020了。每个版本都有一些新的特性,今天本文将会讲解ES7中带来的新特性。TC39和ECMAScript先讲一下ECMA的历史,ECMA在于1960年4月27日成立的制造商协会,其目的是统一标准,方便在不同的制造商之间移植。于是这个协会被命名为European Computer Manufacturers Association,简称ECMA。在1994,为了体现ECMA协会的全球性活动,改名为欧洲标准化信息和通信系统协会 European association for standardizing information and communication systems。虽然名字还保留了欧洲的字样,但是其本身已经是一个国际性协会了。我们大概看一下ECMA协会的会员都有哪些,优先级最高的会员叫做Ordinary Members,基本上都是国际的大公司组成的:然后次一级的叫做Associate Members:可以看到里面有几个中国的公司,说明中国已经在世界上的规则制定方面有了一定的话语权。TC39就是ECMA协会下属的一个专门用来指定ECMAScript标准的委员会。TC的意思是 Technical Committees
  • Swagger(一) Swagger/Springfox 入门简介
    Swagger/Springfox 入门简介 一、 Swagger 简介 1 前言 接口文档对于前后端开发人员都十分重要。尤其近几年流行前后端分离后接口文档又变成重中之重。接口文档固然重要,但是由于项目周期等原因后端人员经常出现无法及时更新,导致前端人员抱怨接口文档和实际情况不一致。 很多人员会抱怨别人写的接口文档不规范,不及时更新。当时当自己写的时候确实最烦去写接口文档。这种痛苦只有亲身经历才会牢记于心。 如果接口文档可以实时动态生成就不会出现上面问题。 Swagger 可以完美的解决上面的问题。 2 Open API 是什么 Open API 规范(OpenAPI Specification)以前叫做 Swagger 规范,是REST API 的 API 描述格式。 Open API 文件允许描述整个 API,包括: 每个访问地址的类型。POST 或 GET。 每个操作的参数。包括输入输出参数。 认证方法。 连接信息,声明,使用团队和其他信息。 Open API 规范可以使用 YAML 或 JSON 格式进行编写。这样更利于我们和机器进行阅读。 OpenAPI 规范(OAS)为 RESTful API 定义了一个与语言无关的标准接口,允许人和计算机发现和理解服务的功能,而无需访问源代码,文档或通过网络流量检查。正确定义后,消费者可以使用最少量的实 现逻辑来理解远程服务并与之交互
  • JavaScript历史—ECMAScript和JavaScript的关系
    文章目录 简介JavaScript和ECMAScript的关系ECMAScript(ES)版本介绍各版本规范地址专业名词补充说明 简介 JavaScript 是一种高级的、解释型的编程语言。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。 JavaScript 在 1995 年由 Netscape 公司的 Brendan Eich,在网景导航者浏览器上首次设计实现而成。 JavaScript和ECMAScript的关系 JavaScript是脚本语言,ECMAScript是规范。JavaScript是基于ECMAScript规范的脚本语言。 JavaScript只是ECMAScript的其中一种实现,除此之外还有其他的实现。 ECMAScript(ES)版本介绍 以下ES简写代表:ECMAScript 时间版本说明1997年7月ES1.0 发布当年7月,ECMA262 标准出台1998年6月ES2.0 发布该版本修改完全符合ISO/IEC 16262国际标准。1999年12月ES3.0 发布成为 JavaScript 的通行标准,得到了广泛支持2007年10月ES4.0草案发布各大厂商意见分歧,该方案未通过2008年7月发布ES3
  • MySQL高可用之组复制(1):组复制技术简介
    1.MySQL高可用的背景 数据库的主从复制是一个很实用的功能,但如何保证它的高可用却是一件难事。实现MySQL主从复制高可用的工具,常见的有: (1).MMM:淘汰了,在一致性和高并发稳定性等方面有些问题。(2).MHA:有些人还在用,但也有些问题,也是趋于淘汰的MySQL主从高可用方案。(3).Galera:引领时代的主从复制高可用技术。(4).MariaDB Galera Cluster:MariaDB对Galera的实现。(5).PXC:Percona XtraDB Cluster,是Percona对Galera的自我实现,用的人似乎很多。(6).GR:Group Replication,MySQL官方提供的组复制技术(MySQL 5.7.17引入的技术),基于Paxos算法。 MariaDB Galera Cluster、PXC、GR是类似的,都各有优点。但GR是革命性的,基于原生复制技术,据传很多方面都优于PXC。 但是,上面每个高可用实现方法,都有这样那样的缺点,甚至mmm还是通过perl脚本来自动化模拟高可用环境的。到了Galera,这是一个引领潮流的高可用技术,它主要针对具有事务特性的Innodb存储引擎,Percona和MariaDB都分别实现了自己的Galera技术:MariaDB Galera Cluster和Percona XtraDB Cluster
  • 分布式RPC框架dubbo、motan、rpcx、gRPC、thrift简介与性能比较
    Dubbo Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。曾有一段时间放弃维护,不过当前已经阿里已经重启对Dubbo的维护,并发布了多个更新版本。 Motan Motan是新浪微博开源的一个Java 框架。它诞生的比较晚,起于2013年,2016年5月开源。Motan 在微博平台中已经广泛应用,每天为数百个服务完成近千亿次的调用。 rpcx rpcx是Go语言生态圈的Dubbo, 比Dubbo更轻量,实现了Dubbo的许多特性,借助于Go语言优秀的并发特性和简洁语法,可以使用较少的代码实现分布式的RPC服务。 gRPC gRPC是Google开发的高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。本身它不是分布式的,所以要实现上面的框架的功能需要进一步的开发。 thrift thrift是Apache的一个跨语言的高性能的服务框架,也得到了广泛的应用。 性能测试 测试是在两台机器上执行的,一台机器做服务器,一台机器做客户端。 两台机器的配置都是一样的,比较老的服务器: CPU: Intel(R) Xeon(R) CPU E5
  • ROS简介
    1.什么是 ROS 机器人是一个系统工程,它涉及机械、电子、控制、通信、软件等诸多学科。以前,开发一个机器人需要设计机械、画电路板、写驱动程序、设计通信架构、组装集成、调试、以及编写各种感知决策和控制算法,每一个任务都需要花费大量的时间。然而随着技术进步,机器人产业分工开始走向细致化、多层次化,如今的电机、底盘、激光雷达、摄像头、机械 臂等元器件都由不同厂家专门生产,社会分工加速了机器人行业的发展。而各个部件的集成就需要一个统一的软件平台,在机器人领域,这个平台就是机器人操作系统 ROS。 ROS 是一个适用于机器人编程的框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构。ROS 虽然叫做操作系统,但并非 Windows、Mac 那样通常意义的操作系统,它只是连接了操作系统和开发的 ROS 应用程序,所以它也算是一个中间件,基于 ROS 的应用程序之间建立起了沟通的桥梁,所以也是运行在 Linux 上的运行时环境,在这个环境上,机器人的感知、决策、控制算法可以更好的组织和运行。 以上几个关键词(框架、中间件、操作系统、运行时环境)都可以用来描述 ROS 的特性,作为初学者我们不必深究这些概念,随着你越来越多的使用 ROS,就能够体会到它的作用。 2. ROS 的特点 ROS 主要具有以下特点: (1)分布式、点对点 ROS 采用了分布式的网络框架,使用了基于 TCP
  • 开源日志监控采集平台ELKF部署
    文章目录 一、ELKF介绍1.kibana简介2.elasicsearch简介3.logstash简介4.filebeat简介5.部署前注意事项 二、部署logstash三、部署elasicsearch四、部署kibana五、部署filebeat 一、ELKF介绍 1.kibana简介 Kibana是一个使用 Apache 开源协议, 基于浏览器的 Elasticsearch 分析和搜索仪表板。 Kibana 非常容易安装和使 用。 整个 项目都是用 HTML 和 Javascript 写的, 所以 Kibana 不需要任何服务器端组件, 一个纯文本发布服务器就够了。 Kibana 和 Elasticsearch 一样, 力争成为极易上手, 但同样灵活而强大的软件。 2.elasicsearch简介 Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动。 3.logstash简介 Logstash是一个开源数据收集引擎,具有实时管道功能
  • 最详细的搭建深度学习环境(TensorFlow-GPU版本)
    前言: 搭建目标——Windows10+Anaconda3+Tensorflow-GPU+(VS)+CUDA+CUDNN+Pycharm 一、准备工作: 1.安装Anaconda 简介:Anaconda是一个管理Python版本、 依赖工具包、开发环境的软件。 可以建立独立的开发环境,在独立的开发环境中下载各依赖工具包。 步骤: (1)网址https://www.anaconda.com/distribution/#download-section (2)下载64位、Python3.7版本 (3)下载完成后点击 (3)点击Next (4)选择I Agree (5)选择Just Me (6)建议修改为自定义路径 (7)全选,点击Install 2.建立开发环境 (1)点击开始,选择Anaconda Prompt(anaconda3) (2)建立独立开发环境(注:在此环境中可指定python版本,Python) (3)激活开发环境 (4)查看此环境中各依赖包 (5)安装包命令 (注:此处由于不是国内镜像,下载会比较缓慢) 所以,为了减少安装时间,此处提供国内镜像地址,具体用法如下 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 由此可得,安装工具包的通用命令为:pip install -i https://pypi.tuna
  • GNSS-SINEX文件格式简介
    背景 SINEX (Solution INdependent EXchange Format) 是大地测量学界标准的数据处理成果文件格式。该文件格式最早由 IGS 提出,之后陆续被 ILRS 和 IVS 等组织采用并丰富。现用于发布 国际地球自转与参考系统服务(IERS)、国家激光测距服务(ILRS)、国际 GNSS 服务(IGS)、国际 DORIS 服务(IDS) 和 国际 VLBI 服务(IVS) 等生产的各种数据处理产品,如 ITRF 地球坐标参考框架,各基站坐标、速度与震后形变参数,地心和地球自转参数等等。 本文将从历史、格式和含义等方面着手,介绍 SINEX 文件的内容。 命名 SINEX 的含义为 “与解算无关的文件交换格式”,这里的 “解算” 既包括数据处理软件,也包括观测技术。因此 GNSS、SLR、VLBI 和 DORIS 等现代大地测量方法的手段,不管使用何种数据处理软件和方法,其结果都可以保存为 SINEX 格式。SINEX 格式既可以保存数据处理结果,也包含数据处理时关键的中间结果,方便用户在其基础上做进一步的数据处理。 SINEX 是一种纯文本的数据格式,但并非纯 ASCII 字符,其文件的扩展名一般为 .snx。目前 SINEX 的最新版本为 2.02,广泛采用的版本还有 2.00 和 2.01。 IGS 各分析中心的 SINEX 文件产品以 <agy>
  • 金融行业如何基于开源软件自主开发自动化运维系统?
    一、背景与痛点随着我行业务的迅猛发展,金融科技引领的效果不断增强,业务系统数量不断攀升,对应的软硬件基础架构也越来越庞大,各系统相应的运行与维护工作的难度和复杂度也与日剧增,规范化、精细化运维得不到有效施展,越来越多的运维痛点问题开始不断涌现,与此同时带来各种运维风险,影响业务连续性。其痛点主要体现在以下六个方面:1、信息资源数据难管理、难使用、准确性低的痛点。(1)运用多张EXCEL表格维护几千台服务器和100余个应用系统的软硬件资源信息,信息无法共享和及时同步更新,数据错误率高,容易造成运维工作误判。(2)为保证EXCEL表格数据准确性,需经常进行信息资产盘点,耗时耗力。(3)数据间的关联无法得到体现,数据用不活,更无法被信息系统利用。2、基础监控盲点多,覆盖面不全,信息系统故障得不到及时响应,告警信息无法正确匹配软硬件资源而产生误告的痛点。(1)信息资产多,信息更新快,监控部署和清除跟不上变化,需经常查漏补缺,未及时被监控的系统风险极大。(2)未被自动化运维系统管控的计算实例,无法自动采集信息、批量查询、操作和巡检等,需要人工梳理和发现。(3)未被监控和自动化运维的计算实例无法通过有效地手段告知运维人员。3、运维人员忙乱于繁杂的软硬件与运行环境的部署、安装、创建与配置,整体运维效率低下,精细化水平不高。(1)运维人员的大部分精力耗费在运维环境部署上,尤其体现在新系统上线频度高
  • Fiddler工具简介
     一、前言  Fiddler 是目前最强大最好用的调试工具之一,它能记录所有客户端和服务器的http和https请求,设置 CGI 请求的断点,甚至修改输入输出数据。  fiddler 的工作原理,是它在 web server 和 web browser 之间搭了一层 proxy,所有的请求都会经过它,如下图所示:    fiddler可以针对web端和移动端网络请求进行抓包分析,如何安装和实现抓包,以及如何在无数请求中运用强大的过滤机制进行精准定位,这里不再进行介绍。fiddler除了进行以上常用功能之外,还能针对抓包过程和请求进行设置。以下将按照fiddler菜单和fiddler script分类介绍fiddler的一些功能。  二、Fiddler 菜单页面  除了对web端和移动端进行抓包之外,fiddler菜单还可以实现以下常用功能。  · 设置断点  · Fiddler AutoResponder 请求地址重定向  · fiddler限速  1. 设置断点  断点可以分为request和response断点。request断点是打在request请求的时候,未到达服务器之前,response断点是打在服务器响应之后,在Fiddler将响应传回给客户端之前拦截。可以通过打断点,修改请求内容,达到需要的目的。  Fiddler可以修改以下请求:  · Fiddler设置断点
  • mysql组复制版本要求_MySQL高可用之组复制(1):组复制技术简介
    MySQL组复制系列文章: 1.MySQL高可用的背景 数据库的主从复制是一个很实用的功能,但如何保证它的高可用却是一件难事。实现MySQL主从复制高可用的工具,常见的有: (1).MMM:淘汰了,在一致性和高并发稳定性等方面有些问题。 (2).MHA:有些人还在用,但也有些问题,也是趋于淘汰的MySQL主从高可用方案。 (3).Galera:引领时代的主从复制高可用技术。 (4).MariaDB Galera Cluster:MariaDB对Galera的实现。 (5).PXC:Percona XtraDB Cluster,是Percona对Galera的自我实现,用的人似乎很多。 (6).GR:Group Replication,MySQL官方提供的组复制技术(MySQL 5.7.17引入的技术),基于Paxos算法。 MariaDB Galera Cluster、PXC、GR是类似的,都各有优点。但GR是革命性的,基于原生复制技术,据传很多方面都优于PXC。 但是,上面每个高可用实现方法,都有这样那样的缺点,甚至mmm还是通过perl脚本来自动化模拟高可用环境的。到了Galera,这是一个引领潮流的高可用技术,它主要针对具有事务特性的Innodb存储引擎,Percona和MariaDB都分别实现了自己的Galera技术:MariaDB Galera
  • OpenBmc开发10:hwmon简介
    1 简介 hwmon即hardware monitoring framework,硬件监视框架,包括了温度传感器、风扇、电源等器件驱动的框架。Hwmon硬件监视系统主要借助sysfs提供的api接口,实现对硬件监控器件的通信。通过sysfs的文件中的配置文件,实现应用程序与hwmon器件的通信。 在linux3.10及之前的版本中,hwmon子系统实现的内容不是太多,也就是实现了一个hwmon class,并提供了一个hwmon的注册接口hwmon_device_register(就是对device_register的囊括),而硬件驱动,在调用hwmon_device_register注册之前调用sysfs_create_group完成属性参数的注册,并提供属性的store、show接口。此时的hwmon子系统略显单薄; 在linux4.4版本以后,hwmon子系统的内容渐渐丰富起来,不再是只做对device_register的包裹,还提供了硬件监控参数的抽象,主要提供了接口hwmon_attr_show、hwmon_attr_store,同时抽象了针对温度芯片、风扇芯片、电源芯片等硬件监控芯片相关参数的支持,即温度芯片、风扇芯片、电源芯片等硬件监控芯片相关参数的访问接口,均会在接口hwmon_attr_show、hwmon_attr_store中被统一调用,而温度芯片、风扇芯片