http协议总结(状态码,cookie,session)

一、http协议

  1. 请求组成:请求行,消息报头,请求正文
  2. 请求常用的方法:
    GET: 请求指定的页面信息,并返回实体主体;
    POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。

二、http状态及响应码

在JMeter中执行http请求时,会遇到很多情况,我们要清楚每个返回的状态码,最起码要了解常用的状态码是什么意思:

  • 1(信息类):表示接收到请求并且继续处理

    100:客户必须继续发出请求
    101:客户要求服务器根据请求转换HTTP协议版本

  • 2(响应成功):表示动作被成功接收、理解和接受

    200:表明该请求被成功的完成,所请求的资源发送回客户端
    201:提示知道新文件的URL
    202:接受和处理,但处理未完成
    203:返回信息不确定或不完整
    204:请求收到,但返回信息为空
    205:服务器完成了请求,用户代理必须复位当前已经浏览过的文件
    206:服务器已经完成了部分用户的GET请求

  • 3(重定向类):为了完成指定的动作,必须接受进一步的处理

    300:请求的资源可在多处得到
    301:本网页被永久性转移到另一个URL
    302:请求的网页被转移到一个新的地址,但客户访问仍继续通过原始URL地址,重定向,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的Request
    303:建议客户访问其他URL或访问方式
    304:自从上次请求后,请求的网页未修改过,服务器返回此响应时,不会返回网页内容,代表上次的文档已经被缓存了,还可以继续使用
    305:请求的资源必须从服务器置顶的地址得到
    306:前一版本HTTP中使用的代码,现行版本中不再使用
    307:申明请求的资源临时性删除

  • 4(客户端错误):请求包含错误语法或不能正确执行

    400:客户端请求有语法错误,不能被服务器所理解
    401:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    402:保留有效ChargeTo头响应
    403:禁止访问,服务器收到请求,但是拒绝提供服务
    404:一个404错误表明可连接服务器,但服务器无法取得所请求的网页,请求资源不存在,eg:输入了错误的URL
    405:用户在Request-Line字段定义的方法不允许
    406:根据用户发送的Accept拖,请求资源不可访问
    407:类似401,用户首先在代理服务器上得到授权
    408:客户端没有在用户指定的时间内完成请求
    409:对当前资源状态,请求不能完成
    410:服务器上不再有此资源且无进一步的参考地址
    411:服务器拒绝用户定义的Content-Length属性请求
    412:一个或多个请求头字段在当前请求中错误
    413:请求的资源大于服务器允许的大小
    414:请求的资源URL长于服务器允许的长度
    415:请求资源不支持请求项目格式
    416:请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
    417:服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求长

  • 5(服务端错误类):服务器不能正确执行一个正确的请求

    500:服务器遇到错误,无法完成请求
    501:未实现
    502:网关错误
    503:由于超载或停机维护,服务器目前无法使用,一段时间后可能恢复正常

三、通过Cookies保存状态信息

通过Cookies,服务器就可以清楚的知道请求2和请求1来自同一个客户端。
这里写图片描述

通过Session保存状态信息:
      Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
     当程序需要为某个客户端请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识,称为session id,如果已包含一个session id则说明以前已经为此客户创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且声称一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。
session id:一串银行卡号
cookie还会保存哪家银行卡,姓名等等

四、HTTP中的方法大概是以下这些

  1. GET:通过请求URI得到资源
  2. POST:用于添加新的内容
  3. PUT:用于修改某个内容
  4. DELETE:删除某个内容
  5. CONNECT:用于代理进行传输,如使用SSL
  6. OPTIONS:询问可以执行哪些方法
  7. PATCH:部分文档更改
  8. PROPFIND:查看属性
  9. PROPPATCH:设置属性
  10. MKCOL:创建集合(文件夹)
  11. COPY:拷贝
  12. MOVE:移动
  13. LOCK:加锁
  14. UNLOCK:解锁
  15. TRACE:用于远程诊断服务器
  16. HEAD:类似于GET,但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值