• 计算机网络分层以及常见状态码


    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》



  • 相关阅读:
    运算符重载
    简单函数template max
    const static extern
    python 关闭垃圾回收
    Easy and cheap cluster building on AWS backup
    [转] Maven更新父子模块的版本号, mvn versions:set
    [转] ansible批量执行命令展示
    HBase 批量删除表 disable_all drop_all
    自动添加 ssh key 到远程主机的脚本,应用sshpass和ssh-copy-id
    MongoDB ver 4 几个常用命令
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/11433364.html
Copyright © 2020-2023  润新知