TCP/IP 协议族按层次分为如下4层:应用层、传输层、网络层和数据链路层。服务器
应用层决定了向用户提供应用服务时通讯的活动。DNS服务、HTTP协议处于该层。网络
传输层对上层应用层,提供处于网络链接中的两台计算机之间的数据传输。TCP协议处于该层。tcp
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了经过怎样的路径到达对方的计算机,并把数据包传给对方。IP网际协议位于该层。大数据
链路层用来处理连接网络的硬件部分。包括操做系统、硬件驱动等。操作系统
IP网际协议位于网络层。IP协议的做用是把各类数据包传送给对方。而要保证确实传送到对方那里,则须要知足各种条件。其中两个重要的条件是IP地址和MAC地址。dns
IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址能够和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会改变。three
TCP协议位于传输层,提供可靠的字节流服务。ip
所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。而可靠的传输服务是指,可以把数据准确可靠的传给对方。一言以蔽之,TCP协议为了更容易传送大数据才把数据分割,并且TCP协议可以确认数据最终是否送达到对方。资源
为了准确无误地将数据送达目标处,TCP协议采用了三次握手策略。get
发送端发送一个带SYN标志的数据包给对方 --> 接受端收到后传回一个带SYN/ACK标志的数据包以示传达确认信息 --> 发送端再传回一个带ACK标志的数据包表示握手结束
DNS服务位于应用层。提供域名到IP地址之间的解析服务。
客户端请求一个网址 --> DNS把域名解析为IP地址 --> HTTP生成针对目标Web服务器的HTTP请求报文 --> TCP将HTTP请求报文分割成报文段按序号传输 --> IP协议负责搜索对方的地址边中转边传送 --> TCP从对方那里接受报文段并重组成报文 --> HTTP对请求的内容进行处理 --> 请求的处理结果也按照这个流程返回客户端
方法 | 做用 | 说明 |
---|---|---|
GET | 获取资源 | |
POST | 传输实体主体 | 通常用于提交须要存储的信息 |
HEAD | 获取报文首部 | 和GET同样,只是不返回报文主体部分 |
DELETE | 删除文件 | |
OPTIONS | 询问支持的方法 |
在HTTP/1.1中,全部的链接默认都是持久链接
状态码 | 类别 |
---|---|
2** | 成功 |
3** | 重定向 |
4** | 客户端错误 |
5** | 服务端错误 |