HTTP和HTTPS部分知识

一、HTTP 定义

一种网络传输协议,在tcp/ip协议族中处于顶层---应用层
http html一起诞生,用于网络上请求和传输html内容

URL格式

协议类型://服务器地址[:端口号] 路径
例如https://www.zhihu.com/question/41101031

报文

请求报文

image

响应报文

image

请求方法

1.GET

  • 用于获取资源
  • 对服务器数据不进行修改
  • 不发送body

2.POST

  • 用于增加或者修改数据
  • 发送给服务器的内容写在body中

3.PUT

  • 用于修改资源
  • 发送给服务器的资源写在body中

4.DELETE

  • 用于删除资源
  • 不发送body

5.HEAD

  • 和GET使用方法完全相同
  • 和GET唯一的区别在于返回的响应中没有body

Status Code状态码

  • 1xx:临时性消息。如:100 (继续发送)、101(正在切换协议)
  • 2xx:成功。最典型的是 200(OK)
  • 3xx:重定向。如 301(永久移动)、302(暂时移动)、304(内容未改变)。
  • 4xx:客户端错误。如 400(客户端请求错误)、401(认证失败)、403(被禁⽌)、404(找不到内容)。
  • 5xx:服务器错误。

Header首部

报文中的第二部分 ,HTTP消息的metadata。

1.Host

目标主机。不是在网络上用于寻址的,而是在目标服务器上用于定位子服务器的。

2.Content-Type

指定body的类型,主要有:text/html x-www-form-urlencoded multipart/form-data

3.Content-Length

指定 Body 的⻓度(字节)

4.Transfer: chunked (分块传输编码 Chunked Transfer Encoding)

⽤于当响应发起时,内容⻓度还没能确定的情况下。和 Content-Length 不同时使⽤。⽤途是尽早给出响应,减少⽤户等待。

5.Location

指定重定向的⽬标 URL

6.User-Agent

⽤户代理,即是谁实际发送请求、接受响应的,例如⼿机浏览器、某款⼿机 App。

7.Range / Accept-Range

按范围取数据,用于断点续传、多线程下载。
Accept-Range: bytes 响应报⽂中出现,表示服务器⽀持按字节来取范围数据
Range: bytes=<start>-<end> 请求报⽂中出现,表示要取哪段数据
Content-Range:<start>-<end>/total 响应报⽂中出现,表示发送的是哪段数据

7.其他header..

  • Accept: 客户端能接受的数据类型。如 text/html
  • Accept-Charset: 客户端接受的字符集。如 utf-8
  • Accept-Encoding: 客户端接受的压缩编码类型。如 gzip
  • Content-Encoding:压缩类型。如 gzip

8.Cache

作⽤:在客户端或中间⽹络节点缓存数据,降低从服务器取数据的频率,以提⾼⽹络性能。

9.Authorization

常用于验证身份,就像登录后以后的请求不再需要登陆账号密码验证
两种主流⽅式: Basic 和 Bearer
Basic :Authorization: Basic <username:password(Base64ed)>
Bearer:Authorization: Bearer <bearer token>
bearer token 的获取⽅式:通过 OAuth2 的授权流程

REST

简单来说,就是正常使用HTTP,符合 HTTP 规范的设计准则

二、对称加密与非对称加密

1.对称加密

通信双方使用同一个密钥。使用加密算法配合上密钥来进行加密,使用解密算法配合上密钥来进行解密
经典算法如:DES(因密钥太短,逐渐弃用) AES(现在最流行)

2.非对称加密

使用公钥对数据进行加密得到密文,使用私钥对密文进行解密,得到原数据
使⽤⾮对称加密通信,可以在不可信⽹络上将双⽅的公钥传给对⽅,然后在发消息前分别对消息使⽤对⽅的公钥来加密和使⽤⾃⼰的私钥来签名,做到不可信⽹络上的可靠密钥传播及加密通信。
公钥和私钥互相可解,所以非对称加密还可应用再数据签名上。
对原数据的签名,通常是先对原数据进行hash后再签名,为了减小签名的大小。
经典算法如:RSA(签名和加密都可用) DSA(仅用于签名,但速度更快)
相对于对称加密,非对称加密由于更复杂的计算,性能会略差一些

三、HTTPS

HTTP over SSL 的简称,即⼯作在 SSL (或 TLS)上的 HTTP。实际上就是再HTTP之下增加了一个安全层
本质就是在客户端与服务器之间用非对称加密协商出一个对称加密的密匙,然后使用对称加密达到加密传输。

HTTPS建立的大致过程

  • 客户端请求建立TLS连接
  • 服务端发回证书
  • 客户端验证证书
  • 客户端信任服务器后,与其协商出对称加密的密钥
  • 使用对称加密的密钥进行加密通信

HTTPS建立的详细过程

  • 客户端发送消息给服务器,想要建立加密连接了,并附加信息TLS可选的版本集合,可选的加密套件(也就是使用那种算法),客户端随机产生的一个数
  • 服务器发送给客户端消息,信息有 TLS版本,各种算法的选择,服务器生成的随机数
  • 服务器再发送证书给客户端(证书为一系列数据,如服务器一些信息,服务器公钥,及其签名,以及签名要用的公钥,及这个公钥的密匙。。。。最后到根证书的信息及公钥)
  • 客户端用服务器证书签名一下,在发送一个随机数(pre-master secret)
  • 通过三个随机数,通过某个算法,计算出一个master secret。然后通过其得出客户端加密密钥,服务端加密密钥,客户端MAC secret 服务端MAC secret
  • 客户端通知下服务端,将使用加密通信了
  • 发送个测试消息给服务端,看是否能解读
  • 服务端也通知客户端,将使用加密通信
  • 发送个测试消息给客户端,看能否解读正常
  • 在之后,就是建立加密通信后的真正消息了

什么可能会导致建立失败: 比如缺少证书了。。。在证书验证环节断了

作者:星宇V
链接:https://www.jianshu.com/p/a3a04d04f7bb
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容