计算机网络分层以及常见状态码
1 TCP/IP 协议簇按层次分为应用层、网络层、传输层、数据链路层
1.1 应用层:为用户提供服务。比如 FTP(file transfer protocol)和 DNS(domain name system)
1.2 传输层:提供出于网络连接中的两台计算机之间的数据传输。传输层有两个协议 TCP(transmission control protocol)传输控制协议 和 UDP (user data protocol)用户数据报协议
1.3 网络层:处理在网络上流动的数据包。数据包是网络传输的最小单位。该层规定了通过怎样的路径到达对方计算机。
1.4 链路层:用来处理链接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器)
2 HTTP 协议
2.1 请求报文:请求方法 、请求 URI、协议版本、可选请求首部字段、和和请求体
响应报文:协议版本、状态码、解释状态码的原因短语、可选响应首部字段、以及响应体
2.2 http 协议是无状态协议
2.3 范围请求。获取部分内容的范围请求,对于网络资源只想要获取其中的一部分,可以使用范围请求。
首部字段 Range 来指定资源的 byte 范围。
针对范围请求,响应会返回状态码为 206 Partial Content 的响应报文。另外,对于多重范围的范围请求,响应会在首部字段 Content-Type 标明 multipart/byteranges 后返回响应报文。
如果服务器端无法响应范围请求,则会返回状态码 200 OK 和完整的实体内容。\
2.4 状态码:描述服务器端对请求的处理状态
200: 请求被服务器端正常处理
204 no content:服务器端已成功处理请求,但是在返回的响应报文中不含实体的主体内容。浏览器显示的页面不发生更新。
206 partial content:表示服务器端成功执行了范围请求,响应报文中包含由 Content-Range 指定范围的实体内容。
3XX 响应结果表明浏览器需要执行某些特殊的处理以正确处理请求。
301:永久性重定向。
302:临时性重定向。
303:表示该请求对应的资源存在着另一个URI,应使用 get 方法定向获取请求的资源。
4XX 客户端错误
400:客户端请求报文中存在语法错误
401:需要认证信息或认证失败。第一次返回表示需要认证信息,第二次表示认证失败。
403:禁止访问,没有访问权限。
404:服务器端没有找到请求资源
5XX 服务器错误
500 :服务器处理请求发生错误
503:服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
参考文献:
《图解HTTP》
如果觉得有用,想赞助一下请移步赞助页面:赞助一下