第一章 了解Web及网络基础

8 篇文章 0 订阅
5 篇文章 0 订阅

第一章 了解Web及网络基础

1.1 网络基础TCP/IP

1.1.1 TCP/IP的分层管理

应用层

向用户提供应用服务时通信的活动

支持的协议:FTP,DNS,HTTP等

传输层

提供处于网络连接中的两台计算机之间的数据传输

支持的协议

  1. TCP(Transmission Control Protocol,传输控制协议)提供面向连接,可靠的数据传输服务
  2. UDP(User Data Protocol,用户数据协议)提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)
网络层

用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。

该层规定了通过怎样的路径(所谓的传输线路)到达对方计算机,并把数据包传给对方

与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输线路

数据链路层

用来处理连接网络的硬件部分(包括操作系统,网卡,光纤等物理可见部分),硬件上的范畴均在链路层的作用范围之内

分层管理优势

便于后期优化

之前某个地方需要改变设计时,就必须把所有部分整体替换掉。而分层之后只需把变动的层替换掉即可

减少冗余

把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动

解耦

处于应用层上的应用可以只考虑分配给自己的任务,而不需要弄清对方在地球上的哪个地方,对方的传输线路是怎样的,是否能确保传输送达等问题

1.1.2 TCP/IP通信传输流

在这里插入图片描述

使用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接受端则从链路层往上走

  1. 发送端的客户端在应用层(HTTP协议)发出一个想看某个Web网页的HTTP请求。
  2. 为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
  3. 网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。
  4. 接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。

在这里插入图片描述

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

1.2 与HTTP关系密切的协议:IP,TCP和DNS

1.2.1 负责传输的IP协议

  1. IP(Internet Protocol)网际协议位于网络层。

  2. “IP”其实是一种协议名称(可能有人会将“IP”和“IP地址”搞混)。

  3. IP协议的作用是把各种数据包传送给对方。需要满足两个重要条件。

    1. IP地址

    2. MAC地址

      IP地址指明了节点被分配到的地址。

      MAC地址是指网卡所属的固定地址

      IP地址可以和MAC地址进行配对,IP地址可以变换,但MAC地址基本上不会更改。

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

IP间的通信依赖MAC地址,在网络中,通信的双方在同一局域网(LAN)内的情况很少,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用ARP协议(Address Resolution Protocol)。ARP是一种用于解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。

路由选择(routing)

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

在这里插入图片描述

1.2.2 确保可靠性的TCP协议

  1. TCP位于传输层,提供可靠的字节流服务。
    1. 字节流服务(Byte Stream Service):为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。
确保数据能到达目标
  1. TCP协议采用了三次握手策略,握手过程中使用了TCP的标志(flag)——SYN(synchronize)和ACK(acknowledgement)
    1. 发送端首先发送一个带有SYN标志的数据包给对方。
    2. 接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。
    3. 发送端再回传一个带ACK标志的数据包,代表“握手”结束。
    4. 如果握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送同样的数据包。

在这里插入图片描述

1.2.3 负责域名解析的DNS服务

  1. DNS(Domain Name System)服务是位于应用层的协议,它提供域名到IP地址之间的解析服务。
  2. DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

在这里插入图片描述

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

1.3.1 IP协议,TCP协议和DNS服务在使用HTTP协议的通信过程中各自作用

在这里插入图片描述

1.4 URI和URL

1.4.1 概述

  1. URI(Uniform Resource Identifier,统一资源标识符)
  2. URL(Uniform Resource Locator,统一资源定位符),即访问Web页面时需要输入的网页地址。

1.4.2 统一资源标识符

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

  2. 采用HTTP协议时,协议方案就是http。此外还有ftp,mailto,telnet,file等。标准的URI协议方案有30种左右。

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

  4. “RFC3986:统一资源标识符(URI)通用语法”中列举了几种URI例子。

    ftp://ftp.is.co.za/rfc/rfc1808.txt 
    http://www.ietf.org/rfc/rfc2396.txt 
    ldap://[2001:db8::7]/c=GB?objectClass?one 
    mailto:John.Doe@example.com 
    news:comp.infosystems.www.servers.unix 
    tel:+1-816-555-1212
    telnet://192.0.2.16:80/
    urn:oasis:names:specification:docbook:dtd:xml:4.1.2
    

1.4.3 URI格式

  1. 表示指定的URI,要使用涵盖全部必要信息的绝对URI,绝对URL以及相对URL。相对URL,是指从浏览器中基本URI处指定的URL,如/image/logo.gif

  2. 绝对URI格式

在这里插入图片描述

登录信息(认证)指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证)。可选。
服务器地址使用绝对URI必须指定待访问的服务器地址。地址可以是类似hackr.jp这种DNS可解析的名称,或是192.168.1.1这类IPv4地址名,还可以是[0:0:0:0:0:0:0:1]这类用方括号括起来的IPv6地址名。
服务器端口指定服务器连接的网络端口号。可选,省略则自动使用默认端口。
带层次的文件路径指定服务器上的文件路径来定位特指的资源。与UNIX系统的文件目录结构相似。
查询字符串针对一指定的文件路径内的资源,可以使用查询字符串传入任意参数,可选。
片段标识符使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置)。但在RFC中并没有明确规定其使用方法。可选。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值