计算机网络
简介
- HTTP(HyperText Transfer Protocol,超文本传输协议)
- HTML(HyperText Markup Language,超文本标记语言)
- URL(Uniform Resource Locator,统一资源定位符)
- FTP(File Transfer Protocol,文件传输协议)
- DNS(Domain Name System,域名系统)
- TCP(Transmission Control Protocol,传输控制协议)
- UDP(User Data Protocol,用户数据报协议)
- NIC(Network Interface Card,网络适配器,即网卡)
发展历史:
- 1990 年问世
- 1996 年 5 月发布 HTTP/1.0 版本
- 1997 年 1 月发布 HTTP/1.1 版本
OSI 的七层协议
OSI(Open System Interconnection)模型是一种用于计算机网络体系结构中的标准化框架。该模型将通信过程分解成七个层次,从上到下依次是:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/IP 的四层模型
分为 4 层,从上到 下依次是:
- 应用层(HTTP/FTP)
- 传输层(TCP/UDP)
- 网络层(IP/ARP)
- 数据链路层
应用层决定了向用户提供应用服务时通信的活动。HTTP 协议处于该层。
传输层对上层应用层提供网络通信服务。TCP、UDP 协议处于该层。
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的传输路径进行通信。IP 协议处于该层。
数据链路层(又称网络接口层)用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC、光纤等物理可见部分。
状态码
状态码由 3 位数字组成,第一个数字定义了响应的类别,且有 5 种可能的取值:
- 1xx:指示信息 – 表示请求已接收,继续处理。
- 2xx:成功 – 表示请求已被成功接收、理解、接受。
200 OK 请求成功
204 No Content 成功,但不返回任何实体的主体部分;
206 Partial Content 成功执行了一个范围(Range)请求
- 3xx:重定向 – 要完成请求必须进行更进一步的操作。
301 Moved Permanently 永久性重定向,响应报文的Location首部应该有该资源的新URL
302 Found 临时性重定向,响应报文的Location首部给出的URL用来临时定位资源
303 See Other 请求的资源存在着另一个URI,客户端应使用GET方法定向获取请求的资源
304 Not Modified 服务器内容没有更新,可以直接读取浏览器缓存
307 Temporary Redirect 临时重定向
- 4xx:客户端错误 – 请求有语法错误或请求无法实现。
400 Bad Request 表示客户端请求有语法错误,不能被服务器所理解
401 Unauthonzed 表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用
403 Forbidden 表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因
404 Not Found 请求的资源不存在,例如,输入了错误的URL
- 5xx:服务器端错误 – 服务器未能实现合法的请求。
500 Internel Server Error 表示服务器发生不可预期的错误,导致无法完成客户端的请求
503 Service Unavailable 表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常