前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速入门了解后端网络方面必备知识

快速入门了解后端网络方面必备知识

作者头像
冷环渊
发布2022-04-11 09:44:44
4980
发布2022-04-11 09:44:44
举报
文章被收录于专栏:冷环渊的全栈工程师历程

网络

冯诺依曼计算机

  1. 运算器
    1. CPU
    2. GPU(显卡)
  2. 存储器:
    1. 内存(断电数据清空,读写速度快)
    2. 硬盘 辅助存储(数据可以持久话,读写速度相对慢)
  3. 控制器
    1. 主板上的一些器件
  4. 输入设备
    1. 鼠标,键盘,麦克风,网口
  5. 输出设备
    1. 显示器,耳机,网口

网络连接起源

1969 四所大学内部网络商议互联

  • 加利福尼亚大学洛杉矶分校
  • 斯坦福大学
  • 加利福尼亚大学
  • 犹他州大学

互联网 ————Internet(因特网),网际网络

1989 欧洲粒子物理研究所提出 ----协议

WWW

计算机如何连通

团队研究的时候数据需要相互共享,那么他们就发明了一种网线来连起来电脑做数据传输,

网线 :

但是随着需要连接的需求变大显然不可以大规模使用,于是 新的办法就出现了

image-20220408153243512
image-20220408153243512

随着需求的变化 新的连接形式出现了,用一个中转的计算机来连接所有的计算机来实现多链接信息传输

也创造了一种传递消息的格式,你是谁,你要发给谁,发的内容是什么

image-20220408153912699
image-20220408153912699

局域网

一片区域的网络中 设备可以数据互通,但是不能和别的区域的设备进行数据传输

image-20220408234041551
image-20220408234041551

广域网

IP地址

IP地址的格式: XXX.XXX.XXX.XXX

每个段都是 0~255之间 每个段都是八个0,1组成的

IP地址分类

一个IP地址分为两个部分 :网络ID,主机ID

最常见的三种Ip 根据需要的主机数量来分配

A类:0.0.0.0 -> 127.255.255.255( A类一个网络可以有一千六百万+的主机)

B类:128.0.0.0-> 191.255.255.255 买过阿里云的可以发现 ip在(172.16.0.0.0~172.3.1.255.255)

C类:192.0.0.0~233.255.255.255 (192.168.0.x)

路由器IP是由运营商统一分配,我们的ip是路由器来给我们分配

公网IP

服务器 公网IP : 192.xxx.xxx.xxx

以发微信举例子

  • 我们发微信会通过 路由器连通运营商的网络
  • 访问腾讯微信的服务器,转发到地址运营商
  • 运营商网络发给设备响应
image-20220408235638091
image-20220408235638091

域名与DNS解析

为什么我们生活中没有去用公网IP来访问 而是www.baidu.com

我们平时使用的时候去记Ip 很费劲,但是记住一个关键字就可以了,域名根据需要应运而生

我们希望用域名来访问绑定的IP ,用域名和IP形成对应关系

域名访问

我们使用计算机的时候都不知道域名对应的IP的,

  • 问路由器,如果路由器记录了这个域名就会返回一个对应的IP之后计算机访问IP
  • 路由器没有就问上级路由器,市 省 国
  • 城市这个级别的路由器时候 就回去找DNS服务器
  • 如果这个DNS不存在就回去上级找 一定可以找到
  • DNS地区服务器回缓存,增加返回效率

经典问题 URL输入回车之后 网络会发生什么

  • 先找浏览器缓存
  • 之后找本机HOST文件
  • 家里路由器(一般路由器都有这个功能)
  • 上级路由 城市LDNS服务器
  • 继续向上级DNS寻找
  • GDNS服务器

网络模型

五层网络模型

软件了解主要是上三层

  • 应用层 HTTP协议 DNS协议
  • 运输层 TCP协议(可靠传输) 、UDP协议(传输不可靠)
  • 网络层 IP地址 – IP协议
  • 数据链路层 mac地址
  • 物理层
image-20220409150609707
image-20220409150609707

传输的时候协议之间是依赖存在的 比如 应用层传输

使用了 HTTP HTTP需要TCP 使用 TCP需要IP协议,是上而下的依赖关系

HTTP分为两部分 :

此时的请求形态很简单 : (http请求头 : hello)

请求 : Request

响应: Response

HTTP 请求头

image-20220409151610001
image-20220409151610001

HTTP 响应头

image-20220409151725865
image-20220409151725865

这是最上层,那我们肯定不可能去说 使用HTTP就可以直接访问拿到结果,其实是调用的操作系统去通过网络使用TCP/IP协议去通过网络 往外发送访问请求,

所以我们现在请求的形态是这样的 : tcp/ip(对方的IP,自己的IP,对方的端口)(http请求头 : hello)

小总结

五层模型协议不断地嵌套一直到物理层,才可以传输,一直到得到响应结果

image-20220409152645777
image-20220409152645777

HTTP协议(明文协议)

请求 : Request

请求头:请求方式 URL 协议版本

常用的请求方式 : GET/POST

  • Get : user? id = 1 &name = 2 (请求参数都在URL里)
  • Post : user 会有一个字段 传文件的信息

不常用的其他请求方式 : PUT DELETE HEAD

Host : 存放地址 域名

Connection : 连接状态

请求数据体

GET/POST 区别
  1. 基于什么前提 ,如果没有前提不适用规范,只考虑理论和语法 基本没区别
  2. 如果是基于RFC规范,
    1. 理论上: get和post 具有相同语法 但是又不同语义,get:获取 post:发送 其他方面没有区别
    2. 实践上 : 各个浏览器 来解析的也就是i实现RFC的实现者,常见的不同:
      1. GET 数据在URL是可见的 POST不显示在URL中
      2. GET 对长度有限制 , POST长度无限制
      3. GET请求的数据可以收藏为书签,POST不可以
      4. GET请求后 刷新和后退是无影响的,POST会重新提交
      5. GET编码类型 : application/x-www-form-url, POST编码有很多种
      6. GET的历史参数会被保留在浏览器里,POST不会被保存浏览器
      7. GET只允许 ASCⅡ POST没有编码限制
      8. GET 安全性较差,差距不大 因为 GET所发的数据是URL的一部分,但是POST依然是明文的只不过是不缓存和显示在浏览上

Cookie 与 Session

Cookie

  1. 如果我们用JS的变量来存数据,那么页面关闭的时候数据就会消失,
  2. 保持登陆状态就要用到Cookie /session
  3. 按照正常的HTTP协议来说 是做不到的,一位内上下文无关协议
  4. 所以前端页面上,有可以存储数据的东西,一旦登陆成功了就可以存储关键信息来保证登陆状态
  5. Cookie就是存储页面数据的一种方式,存在于浏览器,而不是存储于某i一个页面上,可以长期存储Cookie保存在浏览器里也是存放在不同的域名中,
  6. 每次请求域名,浏览器都会自动带上cookie,给服务器解析获取数据,确保保持登陆状态
  7. 缺点 : 如果有坏人拿到了Cookie 就可以操作你的账号

Session

  1. 存放在服务器内存中
  2. 缺点:如果用户量非常打的时候 上亿的用户 非常的消耗资源
  3. 后端不止一台服务器,用户的登录信息一般只存在一台服务器上,一位用户登录操作,在那台机器上执行的一般就存在哪台服务器上,通过轮询或者IP哈希来寻找

如何查看Cookie呢?

image-20220409182552638
image-20220409182552638
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/04/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网络
    • 网络连接起源
      • 计算机如何连通
        • 局域网
          • 广域网
            • 域名与DNS解析
              • 网络模型
                • HTTP协议(明文协议)
                  • 请求 : Request
                  • GET/POST 区别
                • Cookie 与 Session
                相关产品与服务
                弹性公网 IP
                弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档