• 【图解 HTTP】 Web及网络基础


    前言:提前祝大家国庆快乐了~~~~

    Web及 网络基础

    Web 建立在何种技术之上?
    HTTP 协议如何诞生和发展?

    1.1 使用 HTTP 协议访问 Web

    Web 使用 HTTP 协议作为规范,完成从客户端到服务器的一系列工作流程,Web 是建立在 HTTP 基础是进行通信的。

    1.2 HTTP 的诞生

    1.2.1 规划 Web

    就是一堆厉害的大能想通过网络共享知识,然后提出了 WWW(万维网)的概念,然后目前已经产生了3项 WWW 技术分别是: HTML(超文本标记语言)、HTTP(文档传输协议)、URL(统一资源定位符)

    1.2.2 Web 成长

    1990年 —— 研发出了第一台 Web 服务器和 Web 浏览器 ? 30多年过去了,Web 技术发展的真快!
    然后就是各种浏览器厂商出现,然后就是抢夺市场,最后谁留下,谁退场的故事
    我没啥技术追求,这部分我就不看了

    1.2.3 HTTP 驻足不前

    现在 HTTP 版本还是没更新,只不过以前就是为了解决 Web 场景,现在能做的事情更多了。

    1.3 网络基础 TCP / IP

    我们所使用的网络是在 TCP/IP 的协议族上运作的,而 HTTP 属于该协议族内部的一个子集

    1.3.1 TCP/IP 协议族

    1. 协议 Protocol: 计算机与网络设备间进行通信所使用的规则

    在这里插入图片描述
    把互联网关联起来的协议总称为 TCP/IP —— 只是一种说法,还要其他说法

    1.3.2 TCP/IP 的分层管理

    应用层: 向用户提供服务时通信的活动
    传输层:提供处于网络连接中两台计算机之间的数据传输
    网络层:处理在网络是流动的数据包 —— 规定通过怎样的路径到达对方计算机
    链路层:处理连接网络的硬件部分

    1.3.3 TCP/IP 通信传输流

    采用分层方式进行通信
    在这里插入图片描述

    以 HTTP 举例:

    1. 客户端在应用层(HTTP)发出想看某个 Web 页面的 HTTP 请求
    2. 在传输层(TCP协议)把从应用层收到的数据(HTTP 请求报文)进行分割
    3. 在网络层(IP协议)增加作为结束地址的 MAC 地址后(请求准备完毕),转发给链路层
    4. 接收端的服务器在链路层收到数据,按序向上发送,直到应用层(算接收到 HTTP 请求)。

    —— 在传输过程中发送端每经过一层打上该层的首部信息,接收端每经过一层把相应的首部削去 —— 这个过程称为封装

    1.4 与 HTTP 关系密切的协议:IP、TCP & DNS

    1.4.1 负责传输的 IP 协议

    IP: Internet Protocol ,是一种位于网络层的协议
    作用: 把各种 数据包 传输给对方,能传输到的两个重要条件是 IP地址 和 MAC(Media Access Control)地址

    IP地址:节点被分配到的地址
    MAC地址:网卡所属的固定地址

    IP间的通信依赖 MAC 地址。在网络上,通信的双方在同一局域网内的情况很少,要进行多计算机中转。进行中转时,依赖下一中转设备的 MAC 地址搜索下一中转目标。
    —— 采用 ARP(Address Resolution Protocol) 协议 ,一种根据通信方的 IP 地址反查出通信方 MAC 地址的协议。

    在这里插入图片描述

    1.4.2 确保可靠性的TCP协议

    1. TCP协议: 传输层协议,提供可靠的字节流服务

    字节流服务:将大块数据分解为以 segment (报文段) 为单位的数据包进行管理
    可靠:把数据准确传给对方

    2. 三次握手策略

    握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和 ACK(acknowledgement)

    1. 发送端首先发送一个带 SYN 标志的数据包给对方。
    2. 接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。
    3. 最后,发送端再回传一个带 ACK 标志的数据包,代表握手结束

    在这里插入图片描述

    1.5 负责域名解析的 DNS 服务

    1. DNS(Domain Name System): 位于应用层上的协议,提供域名到IP地址的解析服务
    相较于使用纯数字的IP地址访问,用户习惯使用主机名或域名访问对方计算机,因此需要域名解析器

    在这里插入图片描述

    1.6 各种协议与 HTTP 协议的关系

    在这里插入图片描述

    1.7 URI 和 URL

    1.7.1 统一资源标识符 URI

    1. URI: 全程Uniform Resourse Indentifier,由某个协议方案表示的资源的定位标识符。
    URI 用字符串标识某一互联网资源,URL 表示资源的地点

    1.7.2 URL格式

    表示指定的 URI,要使用涵盖全部必要信息的绝对 URI、绝对 URL 以及相对 URL。

    绝对 URI 格式:
    在这里插入图片描述

    • 服务器地址:
      使用绝对 URI 必须指定待访问的服务器地址。地址可以是类似 hackr.jp 这种 DNS 可解析的名称,或是 192.168.1.1 这类 IPv4 地址 名,还可以是 [0:0:0:0:0:0:0:1] 这样用方括号括起来的 IPv6 地址名。
    • 服务器端口号
      指定服务器连接的网络端口号。此项也是可选项,若用户省略则自动使用默认端口号(80)。
    • 带层次的文件路径
      指定服务器上的文件路径来定位特指的资源。
    • 查询字符串
      针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选。
    • 片段标识符
      使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置)。但在 RFC 中并没有明确规定其使用方法。该项也为可选项。
  • 相关阅读:
    C++多态-联编
    《Vue.js实战》8.2实战
    数组(1)
    【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(九)
    被阿里、腾讯、华为追捧为最牛逼的 Java 框架你知道是什么吗?
    Python的整数是如何实现的
    题目:一个整数,它加上100 后是一个完全平方数, 再加上168 又是一个完全平方数,请问该数是多少?
    TypeScript深度剖析:TypeScript 中接口的理解?应用场景?
    STL的常用遍历算法(20221128)
    关于ASO优化的分步入门指南2
  • 原文地址:https://blog.csdn.net/liuwanqing233333/article/details/127124765