• HTTP协议(三):状态码


    前言

    作者说:在上一节的内容中,HTTP大佬介绍了他是怎么让服务器和用户达成信息交互的,详细的说明了连接建立过程中用到的一些基本的技术原理,包括请求报文响应报文、建立持久化连接用的Cookie技术等内容。这一节的内容非常有意思,就是那种叫做HTTP状态码的东西。没错,就是上一节中的HTTP报文中的一部分的状态码:200 OK。

    状态码的作用

    你应该已经知道了,其实我的最根本的作用就是连接服务器老大和用户(人类)。你肯定也知道,世界上并不是所有的东西都能向着自己想象的方向发展。比如说,你喜欢上一个姑娘,最大的心愿自然是和她在一起,但是,人家并不喜欢你,这样,你的心愿就没法达成(扎心了)。这里面让你最终知道你的心愿没法达成的标志是什么?没错,就是人家姑娘给你的反馈:人家并不喜欢你。这也算是一种标志,标志着你们能否在一起,标志着你的心愿是否能够达成。
    而我的心愿,自然就是能够帮助用户和服务器老大建立连接,但是,人家服务器老大可忙了,又加上他的身体不太好,经常停机维修,或者是用户自己的问题,并不能完成这个连接过程,这时候,用户就需要得到一种反馈——我和服务器是否建立了连接?如果没有,那么究竟是哪一方出现的问题?
    以上的这种需求,就是状态码需要做的事情。
    HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。

    状态码的组成

    状态码如200 OK,由3位数字和原因短语组成。数字的第一位是响应类别,后两位就是个标志,表示是这个类别中的什么状态。

    • 状态码的分类
      这里写图片描述

    状态码示例

    • 2xx 请求正常处理完成
    状态码名称 描述
    200 OK 表示请求别正确处理了,大多数的请求都是这个情况
    204 No Content 请求成功,但是返回的响应报文实体没有内容
    206 Partial 是对某一部分的内容进行的请求
    • 3XX 需要进行附加操作以便于完成请求
    状态码名称 描述
    301 Moved Permanently 永久性重定向,表示请求的资源已经被分配了新的URI,讲重定向到新的地址
    302 Found 临时性重定向,表示资源已经被分配了新的URI,希望用户在本次访问的情况下能够使用新的URI访问
    303 See Other 303与302的功能是相同的,唯一不同的是请求的方式,303要求用户以get方式访问该资源
    • 4XX 客户端错误
    状态码名称 描述
    400 Bad Request 请求报文语法出现错误
    401 Unauthorized 表示发送的请求需要通过请求验证才能继续
    403 Forbidden 表明对请求资源的访问被服务器拒绝了
    404 Not Found 这个和20OK一样常见,不同的是,这个代表访问的资源不存在,所以404,你懂的
    • 5XX 服务器错误
      从我个人的经验来看,这个问题一般会出现在开发者调试程序的过程中emmmm,bug比较多。。。
    状态码名称 描述
    500 Internal Server Error web应用出现bug
    503 Service Unavailable 表明服务器暂时处于超负载或正在进行停机维护

    好了,相信到这里,你应该对状态码有了很深刻的理解了吧,如果你有什么疑问,欢迎qq、微信、邮箱交流,也可以在下面留言。
    未完待续……

    结语

    感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!

    微信公众号:进击的程序狗
    邮箱:roobtyan@outlook.com
    个人博客:http://roobtyan.cn
    如果喜欢我的文章,那么就扫描下面的二维码关注我吧
    这里写图片描述

  • 相关阅读:
    互联网实习笔记之shell笔记
    互联网实习笔记之30天总结
    记被论文排版虐的一天
    大论文排版技巧
    Matlab2014a使用VS2015混合编译
    腾讯云服务器创建swap空间
    使用vs2015开发linux:Ubuntu程序
    使用VS2015远程GDB调试
    nullptr、NULL、null和0
    《将博客搬至CSDN》
  • 原文地址:https://www.cnblogs.com/roobtyan/p/9576691.html
Copyright © 2020-2023  润新知