• HTTP状态码与HTTP方法


    一、状态码

    HTTP状态码表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常或者是出现的错误,能够根据返回的状态码判断请求是否得到正确的处理很重要。

    状态码由3位数字和原因短语组成,例如下图所示:

    数字中的第一位指定了响应类别,后两位无分类,响应类别有一下5种:

    状态码分类表

    各类别常见状态码:

    2xx (3种)

    200 OK:表示从客户端发送给服务器的请求被正常处理并返回;

    204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);

    206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。

    3xx (5种)

    301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;

    302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;

           301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)

    303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;

          302与303的区别:后者明确表示客户端应当采用GET方式获取资源

    304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;

    307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

    4xx (4种)

    400 Bad Request:表示请求报文中存在语法错误;

    401 Unauthorized:未经许可,需要通过HTTP认证;

    403 Forbidden:服务器拒绝该次访问(访问权限出现问题)

    404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

    5xx (2种)

    500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;

    503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

     二、方法

     

    GET:向服务器请求某个资源

    HEAD:向服务器请求某个资源的头部,以此了解次元情况,查看响应状态码,测试资源是否被修改等

    PUT:向服务器写入文件,让服务器用请求的主体部分来创建一个由锁请求的URL命名的新文档,如果改URL已存在,用该主体替换,一般需要用户密码登录

    POST:通常用来支持HTML表单,表单中填好的数据通常会被发送给服务器,服务器再发送到其他地方

    TRACE:客户端的请求在穿过防火墙、代理和网关的时候可能会修改原来的HTTP请求,TRACE允许客户端在最终将请求发送给服务器时,看看它变成了什么样子

    OPTIONS:请求Web服务器告知其支持的各种功能,询问服务器支持的方法,以使得客户端选择最优的请求方法

    DELETE:请求服务器删除所请求的URL资源,不保证服务器一定会执行

    CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

  • 相关阅读:
    测试
    mysql数据库 select语句全集
    Markdown文本的书写格式详解--有道云笔记
    mysql数据忘记库密码
    最新版mysql基本命令操作
    Python从入门到放弃
    第二阶段冲刺
    周总结15
    找水王
    用户体验评价
  • 原文地址:https://www.cnblogs.com/sunny0824/p/13669898.html
Copyright © 2020-2023  润新知