《图解HTTP》第一章学习笔记

网安小白通过《图解HTTP》一书学习网络基础,学习之余做一点记录加深印象。

第一章

1.1-1.2 HTTP基础

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

HTTP协议的版本:

HTTP/0.9 于1990年问世,无正式的标准

HTTP/1.0 1996年的5月公布,版本被命名为HTTP/1.0,并记载于RFC1945

HTTP/1.1 1997年1月公布的HTTP/1.1是目前(直到现在2024.1.3我在工作中遇到的大部分HTTP仍是1.1)主流的HTTP

协议版本RFC2616

HTTP/2.0 新一代HTTP协议,至今仍未大规模使用

1.3-1.5 网络基础 TCP/IP 与HTTP关系密切的协议

计算机与网络设备相互通信要基于相同方法,这一切都需要一种规则,这种规则被称之为协议。

通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的。而 HTTP 属于它内部的一个子集。这里的TCP/IP指互联网相关的各类协议组的总称。

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

TCP/IP协议族中预存了各类通用的应用服务,如FTP,和DNS服务。HTTP协议也处于该层(应用层)

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

传输层有两个性质不同的协议:TCP(传输控制协议)和UDP(用户数据报协议)

网络层:网络层用来处理在网络上流动的数据包。该层规定了通过怎样的路径(所谓的传输路线)到达对方计 算机,并把数据包传送给对方。

链路层:用来处理连接网络的硬件部分。

利用TCP/IP协议族进行网络通信,会根据分层顺序与对方进行通信。发送端从应用层往下走,接收端从应用层往上走。

为了传输方便,在传输层(TCP 协议)把从应用层处收到的数 据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端 口号后转发给网络层。

在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链 路层。这样一来,发往网络的通信请求就准备齐全了。

接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用 层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP 请求。

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

几乎所有使用网络的系统都会用到 IP(Internert Protocol) 网际协议,TCP/IP协议族中的IP指的就是网际协议 "IP"其实是一种协议的名称,不能与"IP地址搞混"

IP 协议的作用是把各种数据包传送给对方。其中两个重要的条件是 IP 地址和 MAC 地址。IP 地址指明了节点被分配到的地址MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。

使用 ARP 协议凭借 MAC 地址进行通信:

IP 间的通信依赖 MAC 地址。在网络上,通信双方通常是经过多台计算机和网络设备中转 才能连接到对方。而在进行中转时,会利用下一站中转设备的 MAC 地址来搜索下一个中转目标。这时,会采用 ARP 协议。

ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。 主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和静态ARP表项。ARP协议可以将IPv4地址 (一种逻辑地址)转换为各种网络所需的硬件地址 (一种物理地址)。IPv6使用邻居发现协议 (NDP)替代

在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制称为路由选择(routing)

无论哪台计算机、哪台网络设备,它们都无法全面掌握互联网中的细节。

按层次分,TCP 位于传输层,提供可靠的字节流服务。

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

TCP协议采用了三次握手,握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) ACK(acknowledgement)

DNS(Domain Name System)和HTTP一样位于应用层的协议,是提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

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

下图展示了 IP 协议、TCP 协议和 DNS 服务在使用HTTP 协议的通信过程中各自发挥的作用。

URL和URI

URL(Uniform Resource Locator,统一资源定位符)是使用Web浏览器等访问页面时需要输入的网页地址。

URI(Uniform Resource Identifier,统一资源标识符)是由某个协议方案表示的资源的定位标识符。其中协议方案有http、ftp、mailto、telnet、file等,约有30种左右。

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

URI 就是由某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。

绝对 URI 的格式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值