http协议原理

http协议(超文本传输协议):

特点:简单快捷,灵活,无连接,无状态
应用层:规定了向用户提供服务时的传输协议,如DNS域名服务
传输层:处于网络中的两台计算机之间数据通信所使用的协议,包含tcp和udp两种协议,tcp是双全工,发送数据和接受数据是同步的,就像打电话一样,tcp协议在连接和断开的时候需要有三次握手和四次挥手,所以不够高效,udp是面向无连接的,传递数据之前不需要连接,udp不保证数据有序且不丢失的传送到对端,也就是说不够稳定,但正因为如此,它比较轻便和高效;
网络层:规定了数据通过怎样的路线传输到对方计算机,如ip协议
链路层:用来处理网络连接的硬件部分,包括操作系统,网卡,光纤等

HTTP2相对HTTP1的版本新增了以下功能:

  1. 新的二进制格式,HTTP/1.x的解析是基于文本的。基于文本协议的解析存在天然缺陷,文本的表现形式有多样性,要做到全面性考虑的场景必然很多。二进制则不同,只识别0和1的组合。基于这种考虑HTTP/2.0的协议解析采用二进制格式,方便且强大
  2. 多路复用:同一个tcp连接上面可以存在多条流,也就是可以发送多个请求,它们之间是并发的,一条请求不需要等待其他请求的相应,避免了线头阻塞的问题,提高了传输效率;
  3. 头部压缩:HTTP1.x的请求和响应头带有大量的信息,每次请求都要重复发送,HTTP2.0采用encoder来减少需要传输的头部的大小,通讯双方各自cache一份头部fields表,即避免了重复头部的传输,又减少了需要传输的大小;
  4. 服务端推送:指把客户所需要的css/js/img资源伴随着index.html一起发送到客户端,省去了客户端重复请求的步骤(从缓存中取)
HTTP请求方法:
  1. GET:get方法一般用于获取服务器资源
  2. POST:post方法一般用于向服务器传输数据
  3. PUT:put方法一般用于传输文件
  4. DELETE:delete方法用于删除文件
  5. HEAD:head方法用于获取报文首部,不返回报文主体
  6. OPTIONS:options方法用于询问请求URI资源支持的方法
HTTP常见状态码:

200:请求成功,从客户端发来的请求被服务器正确处理
204:请求成功,但是响应报文不含实体的主体部分

301:永久重定向:表示资源已被分配了新的URL
302:临时重定向,表示资源临时被分配了新的URL
303:表示资源存在着另一个URL,应使用GET方法获取资源
304:表示服务器允许访问资源,但请求未满足条件的状况
307:临时重定向,但是期望客户端保持请求方法不变向新的地址发出请求

400:bed request,请求报文存在语法错误
401:unauthorized,表示发送的请求需要有通过HTTP认证的认证信息
403:forbidden,表示队请求资源的访问被服务器拒绝,可在实体主体部分返回原因描述
404:not found,表示在服务器上没有找到请求的资源

500:internal server error,表示服务器在执行请求时发生了错误
501:Not Implemented,表示服务器不支持当前请求所需要的某个功能
503:service unavailable,表示服务器暂时处于超负荷状态或正在停机维护,无法处理请求

HTTPS:

HTTP本身没有任何保密性,所以HTTP传输的数据相当于都是在网上在以明文的方式裸奔。为了解决这个问题,出现了各种加密技术:

  1. 对称加密:唯一密钥key1可用来加密也可用来解密。这样的加密需要双方都拥有密钥key1,如果第一次传输密钥被第三方截获就玩完。
  2. 非对称加密:公钥key3和私钥key2都可用于对应的加密和解密,即可用公钥加密私钥解密,也可用私钥加密公钥解密。服务端会生成一对密钥,一个私钥保存在服务端,仅自己知道,另一个是公钥,公钥可以自由发布供任何人使用。客户端的明文通过公钥加密后的密文需要用私钥解密。非对称密钥在加密和解密的过程的使用的密钥是不同的密钥,加密和解密是不对称的,所以称之为非对称加密。与对称密钥加密相比,非对称加密无需在客户端和服务端之间共享密钥,只要私钥不发给任何用户,即使公钥在网上被截获,也无法被解密,仅有被窃取的公钥是没有任何用处的。
  3. 混合加密:服务端先用非对称加密的私钥key2加密对称加密的密钥key1并传给客户端,客户端用非对称加密的公钥key3解密出对称加密的密钥key1,双方都有了密钥key1,开始利用key1加密通信。缺点:中间人可以自己生成非对称加密公钥替换掉服务端公钥发送给客户端,而此时客户端并无法验证公钥的可信性。
  4. SSL:首先需要从证书认证机构申请证书(证书中含有证书签名和服务端公钥key3)。在客户端发起HTTP请求时,服务端将证书发送给客户端。客户端认证证书的真伪,然后解密出服务端公钥key3,用公钥加密自己生成的对称加密密钥key1并传给服务端,最后利用key1加密进行通话。至于安全性,由于私钥是机构的,可以避免第三方伪造证书。并且就算得到了服务端公钥,也无法解密出公钥key3加密过的对称加密密钥key1。
HTTPS基于HTTP协议,通过SSL或TLS提供加密处理数据,验证对方身份以及数据完整性保护,特点如下:
  1. 内容加密:采用混合加密技术,中间者无法查看明文内容
  2. 验证身份:通过证书认证客户端访问的是自己的服务器
  3. 保护数据完整性:防止传输的内容被中间人冒充或者篡改
HTTPS和HTTP的主要区别:
  1. HTTPS协议需要到CA(证书颁发机构)申请证书,一版面费证书很少,需要交费
  2. HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都是经过加密的
  3. HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
  4. HTTP的连接很简单,是无状态的;HTTPS协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,可以有效地防治运营商劫持,解决了防劫持的一个大问题,比HTTP协议安全
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容