《图解HTTP》读书总结-第一章-了解Web及网络基础

本文涉及的产品
.cn 域名,1个 12个月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 本文为个人总结的《图解HTTP》第一章的读书笔记
注:本文是博主阅读《图解HTTP》写的读书笔记,将书中的个人认为的重要知识点提炼总结,并以问题形式作为小标题方便大家查看自己需要了解的知识点。

了解Web及网路基础

1、Web使用的是什么协议?

Web 使用一种名为 HTTP ( HyperText Transter Protocol,超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。 而协议是指规则的约定。可以说,Web是建立在HTTP切议上通信的

注:HTTP通带被译为超文本传输协议,但这种译法并不严谨。严谨的译名应该为”超文本转移协议

2、HTTP的诞生日期?

1989年3月

3、WWW 构建技术

现在已提出了 3 项 WWW 构建技术,分别是:

  • 把 SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言的 HTML(HyperText Markup Language,超文本标记语言)
  • 作为文档传递协议的 HTTP
  • 指定文档所在地址的 URL(Uniform Resource Locator,统一资源定位符)

4、HTTP的发展

HTTP/0.9

HTTP 于 1990 年问世。那时的 HTTP 并没有作为正式的标准被建立。现在的 HTTP 其实含有 HTTP1.0 之前版本的意思,因此被称为 HTTP/0.9。

HTTP/1.0

HTTP 正式作为标准被公布是在 1996 年的 5 月,版本被命名为HTTP/1.0,并记载于 RFC1945。虽说是初期标准,但该协议标准至今仍被广泛使用在服务器端。

HTTP/1.1

1997 年 1 月公布的 HTTP/1.1 是目前主流的 HTTP 协议版本。当初的标准是 RFC2068,之后发布的修订版 RFC2616 就是当前的最新版本。

可见,作为 Web 文档传输协议的 HTTP,它的版本几乎没有更新。新一代 HTTP/2.0 正在制订中,但要达到较高的使用覆盖率,仍需假以时日。

5、什么是TCP/IP 协议族?

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

在这里插入图片描述

像这样把与互联网相关联的协议集合起来总称为 TCP/IP。也有说法认为,TCP/IP 是指 TCP 和 IP 这两种协议。还有一种说法认为,TCP/IP 是在 IP 协议的通信过程中,使用到的协议族的统称。

6、TCP/IP 的分层管理

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

应用层

应用层决定了向用户提供应用服务时通信的活动

TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)DNS(Domain Name System,域名系统)服务就是其中两类。

HTTP 协议也处于该层。

传输层

传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输

在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议)

网络层(又名网络互连层)

网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

链路层(又名数据链路层,网络接口层)

用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

在这里插入图片描述

在这里插入图片描述

7、IP、TCP 和 DNS

IP协议

IP(Internet Protocol)网际协议位于网络层,IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是 IP 地址MAC地址(Media Access Control Address)

注:IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC地址基本上不会更改。

TCP协议

TCP 位于传输层,提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方

TCP协议三次握手(重要)

为了准确无误地将数据送达目标处,TCP 协议采用了三次握手(three-way handshaking)策略。用 TCP 协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了 TCP 的标志(flag)——SYN(synchronize)和 ACK(acknowledgement)

发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包

在这里插入图片描述

除了上述三次握手,TCP 协议还有其他各种手段来保证通信的可靠性。

DNS 服务

DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的协议它提供域名到 IP 地址之间的解析服务

计算机既可以被赋予 IP 地址,也可以被赋予主机名和域名。用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP 地址访问。

DNS诞生的原因:人更擅长记忆字母配合数字的计算机名,计算机更擅长处理一长串数字,所以才有了DNS,DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务

在这里插入图片描述

8、各种协议与HTTP协议的关系

在这里插入图片描述

9、URI 和 URL的区别

  • URI(Uniform Resource Identifier,统一资源标识符):由某个协议方案(协议类型名称,如http)表示的资源的定位标识符
  • URL(Uniform Resource Locator,统一资源定位符):简单理解URL就是Web网页地址

RFC2396 分别对这3 个单词进行了如下定义。

Uniform

规定统一的格式可方便处理多种不同类型的资源,而不用根据上下文环境来识别资源指定的访问方式。另外,加入新增的协议方案(如 http: 或 ftp:)也更容易。

Resource

资源的定义是“可标识的任何东西”。除了文档文件、图像或服务(例如当天的天气预报)等能够区别于其他类型的,全都可作为资源。另外,资源不仅可以是单一的,也可以是多数的集合体。

Identifier

表示可标识的对象。也称为标识符。

URI 用字符串标识某一互联网资源,而 URL 表示资源的地点(互联网上所处的位置)。URL 是 URI 的子集(URL < URI)

URI的格式

在这里插入图片描述

使用 http: 或 https: 等协议方案名获取访问资源时要指定协议类型。不区分字母大小写,最后附一个冒号(:)。也可使用 data: 或 javascript: 这类指定数据或脚本程序的方案名。

  • 登录信息(认证)

指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证)。此项是可选项。

  • 服务器地址

使用绝对 URI 必须指定待访问的服务器地址。地址可以是类似hackr.jp 这种 DNS 可解析的名称,或是 192.168.1.1 这类 IPv4 地址名,还可以是 [0:0:0:0:0:0:0:1] 这样用方括号括起来的 IPv6 地址名。

  • 服务器端口号

指定服务器连接的网络端口号。此项也是可选项,若用户省略则自动使用默认端口号。

  • 带层次的文件路径

指定服务器上的文件路径来定位特指的资源。这与 UNIX 系统的文件目录结构相似。

  • 查询字符串

针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选。

  • 片段标识符

使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置)。但在 RFC 中并没有明确规定其使用方法。该项也为可选项。

10、什么是RFC,所有程序都符合吗?

有一些用来制定HTTP协议技术标准的文档,它们被称为 RFC(Request for Comments,征求修正意见书)。并不是所有的应用程序都符合 RFC

由于不遵照 RFC 标准实现就无法进行 HTTP 协议通信,所以基本上客户端和服务器端都会以 RFC 为标准来实现 HTTP 协议。但也存在某些应用程序因客户端或服务器端的不同,而未遵照 RFC 标准,反而将自成一套的“标准”扩展的情况。不按 RFC 标准来实现,当然也不必劳心费力让自己的“标准”符合其他所有的客户端和服务器端。但设想一下,如果这款应用程序的使用者非常多,那会发生什么情况?不难想象,其他的客户端或服务器端必然都不得不去配合它。

尾声:创作不易,如果本文的内容对您有帮助,还望客官可以三连支持一下博主,👍+✏️+⭐️是我创作的巨大动力!
目录
相关文章
|
24天前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
50 4
|
2月前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
86 1
|
8天前
|
运维 安全 网络安全
Web安全-企业网络架构
Web安全-企业网络架构
15 1
|
24天前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
19 1
|
2月前
|
数据库 开发者 Python
Python网络编程:Web框架基础(Flask/Django)
Python作为一种功能强大且易于使用的编程语言,广泛应用于Web开发领域。Python的丰富生态系统中,有两个非常流行的Web框架:Flask和Django。本博文将详细介绍这两个框架的基础知识,并通过综合示例展示如何使用它们构建Web应用。
|
2月前
|
SQL 监控 安全
|
2月前
|
SQL 运维 安全
GitHub爆赞的Web安全防护指南,网络安全零基础入门必备教程!
web安全现在占据了企业信息安全的很大一部分比重,每个企业都有对外发布的很多业务系统,如何保障web业务安全也是一项信息安全的重要内容。 然而Web 安全是一个实践性很强的领域,需要通过大量的练习来建立对漏洞的直观认识,并积累解决问题的经验。 Web安全与防护技术是当前安全界关注的热点,今天给小伙伴们分享的这份手册尝试针对各类漏洞的攻防技术进行体系化整理,从漏洞的原理到整体攻防技术演进过程进行详细讲解,从而形成对漏洞和web安全的体系化的认识。
|
2月前
|
XML SQL 安全
【网络安全】Web Hacking网络黑客手册,GitHub星标3.7K!
在黑客攻击的演变过程中,防火墙只是一个减速带。黑客攻击不断发展,变得越来越复杂,适应能力和创造力都在不断增强,造成的破坏也越来越大。通过网络端口进行的 Web 攻击影响巨大。 今天给小伙伴们分享的这份手册主要讲解了Web黑客攻击方向。描述了 Web 语言和协议、Web 和数据库服务器以及支付系统。介绍了完整的方法论,包括技术和攻击、对策、工具,以及案例研究和 Web 攻击场景,展示了不同攻击的工作原理及其工作原理。
|
2月前
|
SQL 运维 安全
GitHub爆赞的Web安全防护指南,网络安全零基础入门必备教程!
web安全现在占据了企业信息安全的很大一部分比重,每个企业都有对外发布的很多业务系统,如何保障web业务安全也是一项信息安全的重要内容。 然而Web 安全是一个实践性很强的领域,需要通过大量的练习来建立对漏洞的直观认识,并积累解决问题的经验。 Web安全与防护技术是当前安全界关注的热点,今天给小伙伴们分享的这份手册尝试针对各类漏洞的攻防技术进行体系化整理,从漏洞的原理到整体攻防技术演进过程进行详细讲解,从而形成对漏洞和web安全的体系化的认识。
|
2月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
下一篇
无影云桌面