1、状态码
状态码是用来表示网页服务器HTTP响应状态的3位数字代码,状态码的第一个数字代表了响应的五种状态之一。
1XX系列:代表请求已被接受,需要继续处理。由于http/1.0协议中没有定义任何1XX状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1XX响应。
2XX系列:代表请求已成功被服务器接收、理解并接收。
- 200(OK):请求已成功,请求所希望的响应头或者数据体将随此响应返回;
- 201:请求已被实现,而且有一个新的资源已经依据请求的需要而简历,其URL已经随Location头信息返回,加入需要的资源无法及时建立的话,应当返回
202 Accepted
; - 202:服务器已接受请求,但尚未处理。
- 204(No Content) 表示服务器接收的请求已经成功处理,但在返回的响应报文中不含实体的主体部分。
3XX系列:代表需要客户端进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。
- 301(Moved Permanently)永久性重定向:表示请求的资源已被分配了新的URL,以后应该使用资源现在所指的URL。
- 302(Found)临时性重定向:表示请求的资源已被分配了新的URL,希望用户能使用新的URL访问。
4XX系列:代表请求错误,表示客户端可能发生了错误,妨碍了服务器的处理。
- 400 Bad Request:表示报文存在语法错误。当错误发生时,需修改请求的内容再次发送请求。
- 401 Unauthorized:表示发送的请求需要有通过HTTP认证的认证信息;
- 403 Forbidden:表示对请求资源的访问被服务器拒绝了;
- 404 Not Found:表示服务器上无法找到请求的资源,即请求的资源不存在。
5XX系列:代表服务器在处理请求的过程中有错误或者异常状态发生。
- 500 Internal Server Error:表示服务器端内部错误,无法完成请求;
- 501 Not Implemented:服务器不支持请求的功能,无法完成请求;
- 502 Bad Gateway:充当网关或代理的服务器,从远端服务器接收到一个无效的请求;
- 503 Service Unavailable:由于超载或系统维护,服务器暂时无法处理客户端的请求;
- 504 Gateway Time-Out:充当网关或代理的服务器,未及时从远端服务器获取请求;
- 505 Http Version not supported:服务器不支持请求的Http协议的版本,无法完成处理。
2、OSI的七层参考模型与TCP/IP的四层参考模型
七层模型
- 应用层:主要为各种各样的网络应用提供网络服务,如微信、Email等;
- 表示层:将信息表示为一定形式和格式的数据流(01比特流),压缩解压缩、加密解密等都是这层的任务;
- 会话层:负责通信主机间的会话的建立、管理和拆除;
- 传输层:核心层之一,负责通信主机间的端对端连接,对于TCP来说还负责提供可靠传输、差错恢复、拥塞控制等额外功能;
- 网络层:另一个核心层,负责将每一个分组从源机一路送达目的机,其功能可用地址(为通信主机提供标识)+最优路径(路由 寻径)来描述。
- 数据链路层:提供介质访问服务,通过物理地址识别通信主机,提供可靠的帧传递,并做差错控制、流控等。
- 物理层:提供透明的比特流传输,只关心比特流的传输,而忽略比特流里面的具体内容。
每一层都完成特定的功能,都为它的上一层提供服务,并且使用它下层提供的服务(除了第一层和第七层)。