计算机网络 | Web和网络基础 | [1]

摘要
本章介绍了TCP/IP的四层结构;
DNS、TCP、IP协议;
TCP三次握手;
URI和URL;
未完待续额~

了解Web和网络基础

客户端(client)
通过发送请求从服务器处获取信息(资源)

在客户端和服务器端的一系列运作流程都是通过HTTP协议完成的

HTTP - HyperText Transfer Protocol 超文本传输协议
所谓的协议就是约定的规则
计算机和网络设备之间进行通信,双方必须约定相同的方法;例如何如检测到通信目标;哪一方先发起通信;如何结束通信等等;这种共同的规则就是协议(Protocol)

TCP/IP

为了理解HTTP,先了解一下TCP/IP,这是互联网里各种相关的规则的统称
因为通常使用的网络(互联网)都是在TCP/IP协议簇上运作的
HTTP是TCP/IP的一个子集

TCP/IP分层管理

TCP/IP协议族里重要的一点就是分层管理
从上到下依次分为应用层、传输层、网络层和数据链路层

分层的好处在于,设计更加灵活、方便,只要规定好各层的接口,不同的层可以完成不同的任务

应用层

应用层位于最上层,也是直接和用户接触的一层

TCP/IP协议族中关于应用层的各种应用服务,
如:FTP(File Transfer Protocol)、DNS(Domain Name System) 域名系统
HTTP协议即位于该层

传输层

应用层下一层是传输层
提供两台设备之间的数据传输

传输层中最重要的两个性质不同的协议
TCP - Transmission Control Protocol 传输控制协议
UDP - User Data Protocol 用户数据报协议

网络层

网络层是用来处理网络上流通的各种数据包
数据包就是网络传输的最小单位
该层主要作用就是处理传输的路线
在多台设备联通的时候,网路层的作用就是在众多选择中选一条路线进行传输

数据链路层

用来处理网络的硬件部分
例如:控制操作系统、驱动网卡,处理光纤等物理硬件
硬件理论上均处于数据链路层的范畴

传输过程

利用TCP/IP协议族进行数据传输的过程中,在发送端,数据从上向下走,在接收端,数据从下向上走

两台计算机之间通信

1、作为发送端的客户端在应用层发出请求
2、接着在传输层把收到的应用层数据进行分割,并在分割后的各个报文上打上标记和端口号之后转发给网络层
3、网络层寻找目的地,确定数据传输路线后转发给数据链路层
4、数据链路层将数据通过物理层(物理的电线光纤等)传输
4、接收端收到数据后,将数据向上传输,直至应用层(面向用户的)

发送端的数据每经历一层,都会打上该层所属的首部信息,一层一层封装
接收端收到数据后,每经过一层会逐层清除该层对应的首部信息

DNS、TCP、IP

整个TCP/IP协议族中与HTTP关系最为密切的三个协议

DNS

Domain Name System
域名解析服务,和HTTP位于应用层

主要是因为人类通常使用主机名或者域名去访问资源(方便、好记、有个性)
例如百度;京东对应的域名为www.baidu.com;www.jd.com

但是计算机不认识这些域名,DNS的作用就是将域名和唯一的IP地址相映射

在命令行中输入ping www.baidu.com可以得到对应的IP地址112.80.248.76

TCP

TCP位于传输层提供可靠的字节流服务
所谓的字节流服务(byte stream service)是指,为了提高传输效率,将整段信息分割成报文段(segment)为单位的数据包进行传输。
可靠的意思就是TCP能够确认是否将数据传输给对方,而没有丢失。

可靠性传输的实现(重要!)

三次握手
TCP将数据传输给对方后不会置之不理,而是一定会向对方确认是否将数据成功传送给对方

第一次握手:发送端首先将一个带有SYN标志的数据包传输给对方。
第二次握手:接收端收到后,回传一个带有SYN/ACK标志的数据包以示确认收到信息。
第三次握手:最后发送方再发一个带有ACK标志的数据包,表示握手结束。

这里的SYN和ACK都是TCP标识

若是在三次握手的过程中因为某种过程传输中断,TCP 会再次以相同的顺序发送相同的数据包

IP

这个IP指的是Internet Protocol,而不是IP地址

在传输中要利用IP地址和MAC地址
IP地址指的是节点地址,MAC地址是网卡所属的固定地址,两者相配对

多台设备之间互联时,不确定具体的传输情况,但是中转设备会自动进行路线选择,这种机制称为路由选择

URI和URL

URI(Uniform Resource Identifier)统一资源标识符
URL(Uniform Resource Locator)统一资源定位符

URI用字符串标识互联网资源,URL表示资源所处的低点(在互联网中的位置)

某种意义上,URL是URI的子集

绝对URI
http://user:pass@www.example.jp:80/dir/index.html?uid=1#ch1

http 协议

user:pass 登录信息

www.example.jp 服务器地址
也可以是IPV4地址,例如之前说的百度IP地址112.80.248.76

80 服务器端口号(若省略,则使用默认端口号)

/dir/index.html 带有层级的文件路径,可以指定服务器上的资源路径

uid=1 查询字符串,针对指定的路径,可以给查询字符串传参以查询特定资源

ch1 片段标识符

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值