HTTP协议的出现主要是为了解决文本传输的难题(大家互相共享文件没有一个规范),最初的设计理念是:借助多文档之间的关联形成超文本,成为相互参阅的WWW(万维网)

计算机和网络设备要通信,如何探测设备,怎么开始通信,什么语言,什么时候结束通信,一系列都要有规范,统称为TCP/IP协议族(包含HTTP,TCP,IP,UDP,DNS)

与互联网相关的协议加起来统称为TCP/IP,也有其他两种定义,这里不赘述。

TCP/IP协议按层次分为应用层,传输层,网络层,数据链路层

分层的好处:1.每层有修改只修改某一层 2.分开设计,设计简单

应用层:决定了向用户提供应用服务时通信的活动(FTP,DNS),HTTP也处于这一层

传输层:传输层对上层应用层,提供处于网络连接中的两台计算机进行数据传输(TCP,UDP)

网络层:处理网络上流动的数据包,规定了数据包通过哪条路径传给对方(IP协议:把各种数据包传送给对方,需要知道IP地址和MAC地址)

链路层:处理连接的硬件部分,通俗理解为服务于ip包的交通工具

访问一个页面的过程:客户端在应用层发出请求,之后传输层把这个请求分割成多个报文,各报文打上序号,到网络层加上mac地址,发给链路层,链路层传给对面,对面一层一层拆包删首部东西。

ARP协议:根据对方的IP地址反查出对应的MAC地址

发送信息像寄快递,没法知道完整的动向,一直中转。

TCP协议:将信息拆分为报文段(拆分就是可靠的字节流服务),并确定对方一定收到。确保方法:三次握手

发送端发带有syn标志的包,接收端收到之后发带syn/ack标志的包,发送端发带有ack标志的包,任意阶段收不到都以相同顺序再发包。

DNS:域名到IP之间的解析服务

请求报文:请求方法,uri,协议版本,首部字段,内容实体

响应报文,协议版本,状态码,原因短语,日期,首部字段,主体

HTTP是 不保存状态的实体,有时需要保存状态,比如登录京东之后买东西,这就有了cookie

持续连接:以前传输的数据较少,每次传输完一个东西就要TCP连接一次,比如发送一个文件和图片,都会分别建立TCP连接,增加开销,因此持续连接就很有必要。

持续连接(keep-alive)特点:只要任一端没有明确提出断开连接,则保持TCP连接状态。

持续连接使管线化成为可能,不用等待也可以发下一个请求,做到同时并行发送多个请求。

一个web服务器上搭建多个web站点,访问这个服务器上的两个网站时,DNS解析之后IP一样,因此发送时要带具体的uri信息

代理:接受客户端请求,转发给服务端。

每次代理之后都会在加入代理服务器的Via首部字段再转发

网关:接受客户端请求信息,像源服务器一样处理。网关能使通信道路上的服务器提供非HTTP协议服务

持有资源实体的服务器称为源服务器

隧道:在相隔远的客户端和服务器之间进行中转,并保持双方通信连接的程序。主要是确保客户端和服务器安全通信

使用代理服务器的原因:利用缓存减少网络宽带的流量,内部对特定网站的访问控制。

代理主要按两种方法分类:是否利用缓存,是否会修改报文

HTTPS:HTTP+SSL,SSL:第三方机构颁布的证书,确定对方身份

HTTPS=HTTP+加密+认证+完整性保护

共享密钥只有一个公钥,是对称加密。公开密钥采用非对称加密,发送者用公开的公钥加密,接收者用私有密钥解密。

HTTPS采用两个机制混合的方法,结合效率和安全性,在交换密钥环节使用公开密钥加密方法,之后的建立通信交换报文阶段则使用共享密钥加密方式。

但是,公开密钥加密还是有一定问题的,比如建立公开密钥通信时,原有的公开密钥被攻击者替换掉了,无法证明收到的公开密钥就是原先发送者发的。

因此引入了数字证书

客户端也有证书,但没法让所有用户统一搞,所以有的特殊业务才会引用,例如网银的终端,有客户端证书。有个问题是这只能证明客户端的存在,而无法证明是本人的使用。

HTTPS慢主要是SSL,SSL两个方面慢,一种是通信慢,因为加入了SSL通信,另一方面是因为加密处理,cpu负载大

很多不用https的原因,加密消耗资源,证书要钱。

学习《图解HTTP》有感相关推荐

  1. 学习《可复制的领导力》有感

    https://www.jianshu.com/p/fd9039d8656f 近期重新回顾了樊登的<可复制的领导力>,总结分享给大家. 首先,明确一下领导力的概念.领导力是一系列的工具,是 ...

  2. 樊登读书会极致读后感_【学习部落】樊登读书会可复制的领导力感悟

    原标题:[学习部落]樊登读书会可复制的领导力感悟 在听了樊登读书会<可复制的领导力>的线上课,同时也看了这本书,感受收获颇丰,能对自己的 工作起到指导性的作用,值得大家看一看! 第一部分: ...

  3. 读书感悟分享(1)--可复制的领导力

    2021年,我给自己的年度规划是要读50本非本职工作专业技术技能的书籍,悄悄的,我已经读了三分之一:去年这个时候,我接触了樊登读书会,于是在上下班路上开车的时候,我并没有浪费我在车上开车的时间,而是把 ...

  4. 《可复制的领导力》—精华解读

    一.什么是可复制的领导力 1.领导力是可以学会的 领导力可以学会吗?很多人会摇头.在东方,"领导力"被神化为一种"感觉",似乎无法通过学习学会.但在樊登的领导力 ...

  5. 读《可复制的领导力》

    最近很忙,是特别忙,连上厕所的时间都在回复着各种消息,但还是挤时间看完了<可复制的领导力>,这本书也是领导推荐的. 说起领导力,大多数人都会觉得得靠悟,并不能做到言传身教,但书名中却提到了 ...

  6. mysql errno 1146_Mysql学习MySQL复制出错 Last_SQL_Errno:1146的解决方法

    <MysqL学习MysqL复制出错 Last_sql_Errno:1146的解决方法>要点: 本文介绍了MysqL学习MysqL复制出错 Last_sql_Errno:1146的解决方法, ...

  7. 读书 | 可复制的领导力(内含思维导图)

    这本书是樊登老师写的,在看这本书前,听过这本书的语音讲解.樊登老师内部 3 天的领导力培训以及低风险创业的培训,大概对书里的内容已经有了初步的了解,也非常认可里面的一些理论实践,所以就花点时间去看. ...

  8. 可复制的领导力知识体系

    思维导图 #mermaid-svg-jp3MiFN4fYXzMZdc {font-family:"trebuchet ms",verdana,arial,sans-serif;fo ...

  9. VBA学习之复制粘贴表

    2019/9/30 1 建立测试文件夹 每张表的内容如下: 在文件夹里建立5个相同内容的副本: 2 百度网上代码进行试用 代码1(原代码链接): Sub MoveSheets()'在下面Array中列 ...

  10. linux复制文件命令cat ,Linux学习之四(复制移动文件命令cp等及查看文本命令cat等)2017-03-28...

    一.复制和移动文件 cp: copy -r:递归复制 -i:交互式命令 -f:强制性复制 -p:保留文件原有文件属性 -L:复制链接文件的指定文件,不保持链接属性 -P:复制链接文件并保持链接属性 - ...

最新文章

  1. Java获取各种常用时间方法
  2. 云计算实战系列四(Linux文件权限I)
  3. 学习 Python 的 14 张思维导图
  4. 深度学习基础 | 超详细逐步图解 Transformer
  5. 替代top的系统监控工具glances
  6. 【Java篇】 Java小游戏中加入背景音乐
  7. BP神经网络学习总结
  8. Gif表情包在线制作小程序
  9. 网关和路由器的区别?
  10. switch结构详解
  11. vue+weui 手机端项目
  12. Java写计算器自闭了
  13. HTTP重定向与服务器转发的区别
  14. 给定一个含n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数。
  15. java psyounggen_Java 虚拟机
  16. 抓拍机基线接口及C程序
  17. 线上故障排查全套路盘点
  18. 网页上的表格转Excel
  19. 2000-2021年中国科技统计年鉴(分省年度)面板数据
  20. ProCast导出节点应力数据并格式化

热门文章

  1. LeetCode 243. 最短单词距离
  2. LeetCode 1496. 判断路径是否相交(set)
  3. 数据结构--栈--浏览器前进后退应用
  4. python实现etl_为什么选择R而不是Python做ETL
  5. Android Studio 选项菜单和动画结合_Android 应用与iOS 应用之间的设计差异对比!
  6. python自动化入门_python自动化-python入门
  7. linux防火墙的复规则,Centos下iptables防火墙规则编辑方法 - YangJunwei
  8. winform响应时间最长是多少分钟_当詹姆斯退役时,他的总出场时间会达到多少分钟?...
  9. LeetCode之两数相加
  10. 论文浅尝 - EMNLP2020 | 跨媒体关键词预测: 多模态多头注意力和图像文本的统一框架...