zoukankan      html  css  js  c++  java
  • Fiddler基础与HTTP状态码

    1.Fiddler基础

    Fiddler使用界面简介:

     

     

    菜单栏:包括捕获http请求,停止捕获请求,保存http请求,载入本地session、设置捕获规则等功能

     工具栏:包括Fiddler针对当前view的操作(暂停,清除session,decode模式、清除缓存等)。

     web Session面板主要是Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下:

    ctrl+x快速清除session的信息)

    ctrl+shift+delete快速清空浏览器缓存)

    名称

    含义

    #

    抓取HTTP Request的顺序,从1开始,以此递增

    Result

    HTTP状态码

    Protocol

    请求使用的协议,如HTTP/HTTPS/FTP等

    Host

    请求地址的主机名【IP地址/域名(DNS转换)】

    URL

    请求资源的位置

    Body

    该请求的大小

    Caching

    请求的缓存过期时间或者缓存控制值

    Content-Type

    请求响应的类型

    Process

    发送此请求的进程:进程ID

    Comments

    允许用户为此回话添加备注

    Custom

    允许用户设置自定义值

    图标

    含义

    请求已经发往服务器

    已从服务器下载响应结果

     

    请求从断点处暂停

     

    响应从断点处暂停

     

    请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)

     

    请求使用 HTTP 的 POST 方法

     

    请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道

     

    响应是 HTML 格式

     

    响应是一张图片

     

    响应是脚本格式

     

    响应是 CSS 格式

     

    响应是 XML 格式

     

    响应是 JSON 格式

     

    响应是一个音频文件

     

    响应是一个视频文件

     

    响应是一个 SilverLight

     

    响应是一个 FLASH

     

    响应是一个字体

     

    普通响应成功

     

    响应是 HTTP/300、301、302、303 或 307 重定向

     

    响应是 HTTP/304(无变更):使用缓存文件

     

    响应需要客户端证书验证

     

    服务端错误

     

    会话被客户端、Fiddler 或者服务端终止

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    result:HTTP状态码

    2.HTTP状态码

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。

    HTTP状态码的英文为HTTP Status Code。

    下面是常见的HTTP状态码:

     200 - 请求成功

     301 - 资源(网页等)被永久转移到其它URL

     404 - 请求的资源(网页等)不存在

     500 - 内部服务器错误

    HTTP状态码分类

    HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

    HTTP状态码分类

    分类

    分类描述

    1**

    信息,服务器收到请求,需要请求者继续执行操作

    2**

    成功,操作被成功接收并处理

    3**

    重定向,需要进一步的操作以完成请求

    4**

    客户端错误,请求包含语法错误或无法完成请求

    5**

    服务器错误,服务器在处理请求的过程中发生了错误

     

     

     

     

     

     

     

     

     

     

    HTTP状态码列表

    状态码

    状态码英文名称

    中文描述

    100

    Continue

    继续。客户端应继续其请求

    101

    Switching Protocols

    切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议

     2xx

    200

    OK

    请求成功。一般用于GET与POST请求

    201

    Created

    已创建。成功请求并创建了新的资源

    202

    Accepted

    已接受。已经接受请求,但未处理完成

    203

    Non-Authoritative Information

    非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本

    204

    No Content

    无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档

    205

    Reset Content

    重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域

    206

    Partial Content

    部分内容。服务器成功处理了部分GET请求

      3xx

    300

    Multiple Choices

    多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择

    301

    Moved Permanently

    永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替

    302

    Found

    临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI

    303

    See Other

    查看其它地址。与301类似。使用GET和POST请求查看

    304

    Not Modified

    未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源

    305

    Use Proxy

    使用代理。所请求的资源必须通过代理访问

    306

    Unused

    已经被废弃的HTTP状态码

    307

    Temporary Redirect

    临时重定向。与302类似。使用GET请求重定向

     4xx

    400

    Bad Request

    客户端请求的语法错误,服务器无法理解

    401

    Unauthorized

    请求要求用户的身份认证

    402

    Payment Required

    保留,将来使用

    403

    Forbidden

    服务器理解请求客户端的请求,但是拒绝执行此请求

    404

    Not Found

    服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面

    405

    Method Not Allowed

    客户端请求中的方法被禁止

    406

    Not Acceptable

    服务器无法根据客户端请求的内容特性完成请求

    407

    Proxy Authentication Required

    请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权

    408

    Request Time-out

    服务器等待客户端发送的请求时间过长,超时

    409

    Conflict

    服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突

    410

    Gone

    客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置

    411

    Length Required

    服务器无法处理客户端发送的不带Content-Length的请求信息

    412

    Precondition Failed

    客户端请求信息的先决条件错误

    413

    Request Entity Too Large

    由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息

    414

    Request-URI Too Large

    请求的URI过长(URI通常为网址),服务器无法处理

    415

    Unsupported Media Type

    服务器无法处理请求附带的媒体格式

    416

    Requested range not satisfiable

    客户端请求的范围无效

    417

    Expectation Failed

    服务器无法满足Expect的请求头信息

     5xx

    500

    Internal Server Error

    服务器内部错误,无法完成请求

    501

    Not Implemented

    服务器不支持请求的功能,无法完成请求

    502

    Bad Gateway

    作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应

    503

    Service Unavailable

    由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中

    504

    Gateway Time-out

    充当网关或代理的服务器,未及时从远端服务器获取请求

    505

    HTTP Version not supported

    服务器不支持请求的HTTP协议的版本,无法完成处理

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Jquery判断数组中是否包含某个元素$.inArray()的用法
    localStorage,sessionStorage,cookie使用场景和区别
    解决发送邮件在本地测试成功,在腾讯服务器上测试失败的问题
    phpStudy安装教程
    使用phpStudy运行伊人集项目
    使用phpStudyy运行tipask
    linux sudo命令
    PHP 判断数组是否为空的5大方法
    校验两次密码一致的js代码
    一个漂亮的php验证码类
  • 原文地址:https://www.cnblogs.com/kite123/p/11764855.html
Copyright © 2011-2022 走看看