【笔记】【HTTP】《图解HTTP》第1章 了解Web及网络基础

news2024/12/22 19:10:50

前言

  • 有输入就要有产出,该笔记是本人看完《图解HTTP》后对每章涉及到的知识进行汇总
  • 博客将会已书的每章为一篇发布,下一篇博客发布时间不确定
  • 笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。

免责声明

  • 本博客是本人在学习《图解 HTTP》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。
  • 为了方便,博客有些图与书中的图一致,因此没有自行截图,而是采取引用他人博客图片地址,感谢这些博主提供的图床。
  • 此笔记用于记录本人对于该知识的汇总。以方便日后的工作与学习。
  • 内容与原书不完整,请读者结合原书观看
  • 如有侵权请告知,马上删除。

第1章 了解Web及网络基础

1.1 使用HTTP协议访问Web

1. 客户端

  • 通过发送请求获取服务器资源的Web浏览器等。

2. 协议

  • 是指规则的约定

    计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。

    • HTTP协议:
      1. 超文本传输协议
      2. Web使用的协议规范,完成从客户端到服务端等一系列运作流程。(即Web是建立在HTTP协议上通信的)

1.2 HTTP的诞生

1. HTML1.0

  • 以in-line(内联)等形式显示HTML的图像
  • 该协议标准至今任然被广泛使用在服务端

2. HTTP协议

  1. 主要是为了解决文本传输的难题

1.3 网络基础TCP/IP

1. TCP/IP 协议族

  • [协议](#2. 协议:)中存在各式各样的内容从电缆的规格到 IP 地址的选定方法、寻找异地用户的方法、双方建立通信的顺序,以及 Web 页面显示需要处理的步骤,等等。

    • 像这样把与互联网相关联的协议集合起来总称为 TCP/IP。

2. TCP/IP 的分层管理

  • TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层。

    • 分层的好处:

      未使用分层使用分层
      如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。只需把变动的层替换掉即可。
      • 把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动了。
    • 应用层:决定了向用户提供应用服务时通信的活动

      • TCP/IP 协议族内预存了各类通用的应用服务。
        • FTP:文件传输协议(File Transfer Protocol)
        • DNS:域名系统(Domain Name System)
      • HTTP 协议也处于该层。
    • 传输层:对上层应用层,提供处于网络连接中的两台计算机之间的数据传输

      • 遵循协议
        • TCP:传输控制协议(Transmission Control Protocol)
        • UDP:用户数据报协议(User Data Protocol)
    • 网络层(网络链路层):用来处理在网络上流动的数据包

      • 数据包:是网络传输的最小数据单位
      • 该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
    • 链路层(数据链路层|网络接口层):用来处理链接网络的硬件部分


3. TCP/IP 通信传输流

  • 发送端从应用层往走,接收端则往应用层往走。

    • 封装:数据信息包装起来的做法
      • 发送端的封装:在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息
      • 接收端的封装:在层与层传输数据时,每经过一层时会把对应的首部消去

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

1. 负责传输的IP协议

  • 位于:网络层

  • IP协议!==IP地址

    • IP协议:
    • 作用:把各种数据包传送给对方。
    • 保证确实传送成功条件
      1. IP地址
      2. MAC地址
    IP 地址MAC 地址
    指明了节点被分配到的地址指网卡所属的固定地址
    地址可变换地址基本上不会更改。
    • IP 地址可以和 MAC 地址进行配对

2. 确保可靠性的TCP协议

  • 位于:传输层

  • 提供可靠的字节流服务

    • **字节流服务(Byte Stream Service)**是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。
  • 为了更容易传送大数据才把数据分割,而且 TCP 协议能够确认数据最终是否送达到对方


如何确保数据能到达目标?

  • TCP三次握手策略

    第几次握手行为标志
    1发送端发送一个待SYN标志的数据包给对方发送握手请求
    2接收端收到后,回传一个带有SYN/ACK标志的数据包通信成功
    3发送端接受到后,再回传一个带ACK标志的数据包握手结束

    注意】若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包


3. 负责域名解析的DNS服务

  • 位于:应用层的的协议

  • 提供域名到IP地址之间的解析服务。

    • DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。

4. 各种协议与HTTP协议的关系


1.7 URI 和 URL

1. URI

  • 统一资源标识符(Uniform Resource Identifier)

    • Uniform:统一的格式

    • Resource:资源

      • 资源
        • 可以标识的任何东西
        • 除了文档文件、图像或服务等能够区别于其他类型的。
        • 可以是单一的,也可以是多数的集合体
    • Identifier:标识符

  • 是由某个协议方案标识的资源的定位标识符

    • 协议方案
      • 访问资源所使用的协议类型名称
  • 用字符串标识某一互联网资源

  • 格式:

    • 绝对URI

      字段说明表示规范
      协议方案名获取访问资源时要指定的协议类型1. 不区分字母大小写。
      2. 最后附上:
      登录信息(认证)指定用户名和密码作为从服务器获取资源时必要登录信息(身份认证)可选
      服务器地址使用URI必须指定待访问的服务器地址1. 必须指定
      2. 可以是DNS可解析地址
      3. 可以是IPv4地址名
      4. 可以是IPv6地址名
      服务器端口号指定服务器上连接的网络端口号可选(若省略则自动使用默认端口)
      带层次的文件路径指定服务器上的文件路径来定位特指的资源与UNIX系统的目录结构相似
      查询字符串针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数可选
      片段标识符标记出已获取资源中的子资源(文档内的某个位置)可选
    • 相对URI

      • 从浏览器中基本URI处指定的URL

2. URL

  • 表示资源的地点 (互联网上所处的位置)
  • 是URI的子集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/504920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Notion AI 中轻松打造您的AI私人助理,提供卓越的工作体验

大家好,我是瓜叔。 相信平时喜欢做笔记的人对notion 选应该不陌生近年来越来越多人开始把notion 选当做他们的主力笔记软件。 我自己也用了约4年的时间。如果你也是notion的爱好者但还不知道notion AI是什么。那这篇文章,我会分享我是如何实际操作使用技…

Windows terminal+wsl+ohmyzsh+powerlevel10k打造更美丽的终端

安装wsl 安装 WSL 和 Linux 的默认 Ubuntu 发行版。 了解详细信息https://learn.microsoft.com/zh-cn/windows/wsl/install。 还可以使用此命令通过运行 wsl --install 来安装其他 Linux 发行版。 若要获取发行版名称的有效列表,请运行 wsl --list --online。 wsl -…

AIOps探索 | 新形势下,中小银行如何学好数字化转型“必修课”?

一、强化数智驱动 推进转型升级 2023年4月21日,在江苏省支付清算服务协会、山东省支付清算协会的大力支持下,由金科创新社(鑫知)主办的“2023农村中小银行数字化转型研讨会”在江苏南京成功举办。 ​本次大会以“强化数智驱动 推…

深入浅出堆—C语言版【数据结构】

二叉树概念博客:http://t.csdn.cn/XIW84 目录 1. 了解堆 1.1 堆的概念 1.2 堆的性质: 1.3 堆的结构图片 1.3.1 小堆 1.3.2 大堆 2. 堆的实现 2.1 插入数据进堆 2.2 向上调整函数 2.3 堆的删除 2.4 向下调整 3. 堆的应用 3.1 建堆&#xff…

赚钱单页产品

今天写一篇文章,讲一个最近看的赚钱单页产品。 先下定义,什么是赚钱的单页产品: 能赚钱:需求切的准单页产品:通常只有少数几个页面就完成了产品的核心功能,一个程序员可以在1天左右,完成开发 先…

快速理解基本的cookie、session 和 redis

一、Cookie 1、什么是Cookie 1、Cookie实际上是一小段的文本信息,是一种keyvalue形式的字符串。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端会把Cookie保存起来。 2、当浏览器再请求…

跨境电商系统开发需要注意的问题

跨境商城系统开发需要考虑许多特殊问题,比如涉及跨国支付、物流、法律和政策、文化差异等等。下面将列出一些重要的问题,来帮助您更有效地开发跨境电商系统。 1、税务问题 当涉及跨国交易时,涉及不同国家和地区的税收政策和税率。特别是在国…

2023亚马逊云科技中国峰会开启报名 6月27-28日上海见

2023年6月27-28日,2023亚马逊云科技中国峰会,亚马逊云科技将聚焦构建新技术加速的产品创新、新架构提升的业务弹性、云计算引领的创新模式,围绕价值加速实现,企业敏捷稳健,行业全新机遇等热门话题,携手众多…

( 位运算 ) 136. 只出现一次的数字 ——【Leetcode每日一题】

❓136. 只出现一次的数字 难度:简单 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量…

学习dtw-python库内容 动态弯曲距离(DTW)具体实现

文章目录 一、install 数据包二、函数功能三、函数的参数以及含义四、具体实现 一、install 数据包 简单的pip install一下就好了,注意最后提示Successfully installed dtw-python-1.3.0 pip install dtw-python二、函数功能 执行 DTW 算法,并计算两个…

网页端操作提示「msg.js」库简介

这段时间我正在完成我的第一本个人图书,期间做了很多的案例,最近需要在网页端完成一个关于「恶意文本检测」的案例,为了让该案例表现的更加易用简洁、对用户友好,我需要在页面中添加一些用户操作提示信息,比如「正在加…

【HMS Core】Health Kit想要查看数据是来自用户的哪个设备,如何查看?

【问题描述1】 如何查看运动健康数据是来自用户的哪个设备? 【解决方案】 可以通过返回的数据中携带的dataCollectorId来查询提供数据的设备信息: 请求示例(以查询睡眠记录详情为例): 1、查询睡眠记录并关联睡眠状…

后端使用phantomjs对页面进行截图

最近碰到这样一些需求,后端需要对某个图表页面进行动态截图,将截图通过邮件发送到指定邮箱进行每日提醒。 这就需要用到无界浏览器进行此类操作。常见的无界浏览器有以下几种,知识来源于chatgpt3.5: Headless Chrome - Google C…

NC – 靶向特定功能的神经元细胞类型治疗脑部疾病

神经元是大脑的主要功能单位。这些细胞中传递的信号——以电波的形式——导致所有思维、感觉、运动、记忆和情感。 塞达斯-西奈医学中心的研究人员利用计算机模型来弥合“试管”神经元数据和这些细胞在大脑中的功能之间的差距。他们的研究有助于开发靶向特定功能的神经元类型治…

如何吸引主流媒体报道,强势刷屏?

传媒如春雨,润物细无声,大家好 五一小长假已经过去好几天了,大家渐渐的从假期舒适的闲暇转到正常的工作生活中了,但利用五一热点宣传的余温还在继续,今天胡老师就i注意到一篇题为:【强势刷屏!“…

【笔记】【HTTP】《图解HTTP》第2章 简单的HTTP协议

前言 有输入就要有产出,该笔记是本人看完《图解HTTP》后对每章涉及到的知识进行汇总博客将会已书的每章为一篇发布,下一篇博客发布时间不确定笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。…

Java每日一练(20230509) 下一个排列、分隔链表、随机指针链表

目录 1. 下一个排列 🌟🌟 2. 分隔链表 🌟🌟 3. 复制带随机指针的链表 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日…

操作系统—— 精髓与设计原理--期末复习

一、计算机系统概述 1、基本构成 计算机有四个主要的结构化部件: ①处理器(Processor):控制计算机的操作,执行数据处理功能。当只有一个处理器时,它通常指中央处理器(CPU) ②内存…

VINS_FUSION的EVO评价

一、虚拟机和windows桌面可以复制粘贴的方法 1)sudo apt-get autoremove open-vm-tools 2)sudo apt-get insall open-vm-tools-desktop 3)reboot 二、算法精度评价工具EVO 安装参考博文: 视觉SLAM基础:算法精度评…

计算机二级java经典题目及其解析

解析: 栈的存储空间为S(1:50),初始状态为top51,表示栈的可用空间从S(1)到S(50),栈顶指针初始指向S(51)的位置,表示当前栈为空。 经过一系列正常的入栈与退栈操作后,top50,表示栈顶指针已经向下移动了一个位…