网络分层
OSI模型
OSI 模型(Open System Interconnection model)是一个由国际标准化组织提出的概念模型,试图提供一个使各类不一样的计算机和网络在世界范围内实现互联的标准框架。 它将计算机网络体系结构划分为七层,每层均可以提供抽象良好的接口html
物理层:物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输
数据链路层:数据链路层经过物理网络链路提供数据传输。不一样的数据链路层定义了不一样的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控
网络层:网络层负责在源和终点之间创建链接,此处须要肯定计算机的位置,怎么肯定?IPv4,IPv6!
传输层:传输层向高层提供可靠的端到端的网络数据流服务,每个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通讯!经常使用的(TCP/IP)协议
会话层:会话层创建、管理和终止表示层与实体之间的通讯会话
表示层:表示层提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 能够被另外一个系统应用层识别
应用层: OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM),以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等
常见的应用层协议服务器
TCP/IP四层模型
OSI七层模型是学术界提出的,从层数上就知道它更把网络分的更加详实,从而也使得它的实现更加复杂,所以它的学术价值更大。 而 TCP/IP 网络模型是由计算机寡头提出并实现,是OSI七层模型的简化版;属于开源产品,能直接提供给用户使用 网络
网络接口层:网络接口层与OSI参考模型中的物理层和数据链路层相对应,它负责监视数据在主机和网络之间的交换,事实上,TCP/IP自己并未定义该层的协议,而由参与互连的各网络使用本身的物理层和数据链路层协议,而后与TCP/IP的网络接入层进行链接,地址解析协议(ARP)工做在此层,即OSI参考模型的数据链路层
网络互联层:网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通讯问题,它所包含的协议设计数据包在整个网络上的逻辑传输,注重从新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由,该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)
传输层:在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体能够进行会话。在传输层定义了两种服务质量不一样的协议。即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol),TCP协议提供的是一种可靠的、经过“三次握手”来链接的数据传输服务;而UDP协议提供的则是不保证可靠的(并非不可靠)、无链接的数据传输服务
应用层:应用层对应OSI参考模型的应用层、表示层和会话层
http 概念
http:hypertext transfer protocol 超文本传输协议,是一个客户端和服务器端请求和应答端标准。框架
特色:post
基于请求/响应模型的协议
简单快速 协议简单,程序规模小,通讯速度快
灵活 容许传输任意类型的数据对象,content-type标识
无状态 对事务的处理没有记忆能力
组成:http协议是由http请求和http响应组成编码
http请求包含请求行、请求头、请求体url
http响应包含响应行、响应头、响应体计算机网络
请求行:包含请求方法、请求URL、HTTP协议及版本设计
例如:POST /chapter17/user.html HTTP/1.1cdn
请求方法:
get:将请求参数追加在URL后面,url长度限制get请求方式数据的大小,没有请求体
post
head:HEAD跟GET类似,不过服务端接收到HEAD请求时只返回响应头,不发送响应内容。因此,若是只须要查看某个页面的状态时,用HEAD更高效,由于省去了传输页面内容的时间
delete
options:用于获取当前URL所支持的方法,若请求成功,会在http头中包含一个"allow"的字段,值是所支持的方法
put
请求头:包含若干属性,格式为"属性名:属性值"
请求体:请求的内容放在请求体中
响应行:协议及版本 状态码及状态描述
状态码:
1XX 消息 指示消息,表示请求已经接收,继续处理
2XX 成功,表示请求已经成功接受处理
200 OK 客户端请求成功
204 No Content 无内容。服务器成功处理,但未返回内容。通常用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的状况。不会刷新页面
206 Partial Content 服务器已经完成了部分GET请求(客户端进行了范围请求)。响应报文中包含Content-Range指定范围的实体内容
3XX 重定向
301 Moved Permanently:永久重定向,表示请求的资源已经永久的搬到了其余位置
302 Found:临时重定向,表示请求的资源临时搬到了其余位置
303 See Other:临时重定向,应使用GET定向获取请求资源。303功能与302同样,区别只是303明确客户端应该使用GET访问
304 Not Modified:表示客户端发送附带条件的请求(GET方法请求报文中的IF…)时,条件不知足。返回304时,不包含任何响应主体。虽然304被划分在3XX,但和重定向一毛钱关系都没有
4XX 请求错误
400 Bad Request:客户端请求有语法错误,服务器没法理解
401 Unauthorized:请求未经受权,这个状态代码必须和WWW-Authenticate报头域一块儿使用
404 Not Found:请求资源不存在。好比,输入了错误的url
415 Unsupported media type:不支持的媒体类型
5XX 服务器错误
响应头:和请求头同样 包含若干属性,格式为"属性名:属性值"
响应体:服务器回写给客户端的页面正文