zoukankan      html  css  js  c++  java
  • Python接口测试学习笔记(一) HTTP协议

    本文学习笔记整理自【Python开发】接口测试教程

    一. HTTP

    1. HTTP(超文本传输协议)是一个基于请求与响应模式的, 无状态的, 应用层的协议

    2. URL详解:

    名称 解释 举例
    http/https 协议类型 https://cn.bing.com/search?q=test&qs=n&form=QBLHCN&sp=-1&pq=test&sc=8-4&sk=&cvid=D0FD6D60832647288D39279E36BE460D
    host

    主机地址或域名

    192.168.xx.xx:8080 地址+端口号

    www.baidu.con 域名

    localhost:8080 本机地址

    https://cn.bing.com/search?q=test&qs=n&form=QBLHCN&sp=-1&pq=test&sc=8-4&sk=&cvid=D0FD6D60832647288D39279E36BE460D
    port 端口号(默认端口号是80,可省略) http://192.168.xx.xx:8080/ (其中192.168.xx.xx是主机地址)
    path 请求的路径 https://cn.bing.com/search?q=test&qs=n&form=QBLHCN&sp=-1&pq=test&sc=8-4&sk=&cvid=D0FD6D60832647288D39279E36BE460D
    ? 分割符号 https://cn.bing.com/search?q=test&qs=n&form=QBLHCN&sp=-1&pq=test&sc=8-4&sk=&cvid=D0FD6D60832647288D39279E36BE460D
    参数 name=value https://cn.bing.com/search?q=test&qs=n&form=QBLHCN&sp=-1&pq=test&sc=8-4&sk=&cvid=D0FD6D60832647288D39279E36BE460D
    & 多个参数用&隔开 https://cn.bing.com/search?q=test&qs=n&form=QBLHCN&sp=-1&pq=test&sc=8-4&sk=&cvid=D0FD6D60832647288D39279E36BE460D

    二. Request

    1. 请求方法:

    GET, POST, HEAD, PUT, DELETE, CONNECT, OPTIONS, TRACE

    GET请求指定的页面信息, 并返回实体主体

    POST向指定的资源提交数据进行处理请求(例如提交表单或者上传文件). 数据被包含在请求体中, POST请求可能会导致新的资源的建议和/或已有资源的修改

    HEAD 类似于GET请求, 只不过返回的响应中没有具体的内容, 用于获取报头

    PUT 从客户端向服务器传送的数据取代指定的文档内容

    DELETE 请求服务器删除指定的页面

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

    OPTIONS 允许客户端查看服务器的性能( & 获取服务器支持的HTTP请求方法)

    TRACE 回显服务器收到的请求, 主要用于测试或诊断

    2. Request组成:

    请求行, 请求头部, 空一行, 请求体(body)

    3. 请求头Headers:

    Client:

    Accept:浏览器可接受的媒体类型

    Accept-Encoding: 编码类型, 声明可以接受的媒体格式

    Accept-Language: 语言, 声明可解析的语言

    User-Agent: 客户端类型

    Cookie:

    Cookie:一个HTTP cookie 是服务端传给客户端浏览器的一小部分数据,可为无状态的HTTP协议提供前后请求间的上下文会话.(引用)

    Entity:

    Content-Type:发生post时, body的数据类型声明

     4. GET/POST请求参数

    GET的请求参数都在请求行里, 即URL里的name=value那段.(可通过Fiddler的WebForm查看)

    POST请求参数同GET, 请求体分如下几种(通过Content-Type声明):

    application/json: json格式

    text/xml: xml 格式

    application/x-www-form-urlencoded: name=value 形式(可通过Fiddler的WebForm查看, 请求参数为上方的QueryString, body为下方Body)

    multipart/form-data: 表单格式, 一般用来传输多媒体格式, 如上传文件

    三. Response

    HTTP响应也由四个部分组成: 状态行, 消息报头, 空行, 响应正文

    Response返回类型也有Content-Type: text/html格式, 可通过WebView查看

    状态码

    状态码由三位数字组成, 第一个数字定义了响应的类别, 共分五种类别:

    1xx: 消息 - 请求已被接受,需要继续处理

    2xx: 成功 - 请求已成功被服务器接收、理解、并接受

    3xx: 重定向 - 需要客户端采取进一步的操作才能完成请求

    4xx: 客户端错误 - 客户端看起来可能发生了错误,妨碍了服务器的处理

    5xx: 服务的错误 - 服务器无法完成合法有效的请求

    常见状态码:

    200: OK - 客户端请求成功

    400: Bad Request - 客户端请求有语法错误, 不能被服务器所理解

    401: Unauthorized - 请求未经授权, 这个状态码必须和www-authenticate报头域一起使用

    403: Forbidden - 服务器收到请求, 但是拒绝提供服务

    404: Not Found - 请求资源不存在

    500: Internal Server Error - 服务器发送不可预期的错误

    503: Server Unavailable - 服务器当前不能处理客户端的请求, 一段时间后可能恢复正常

     

     

  • 相关阅读:
    c++ 学习笔记
    python 2048游戏控制器
    c++ 动态内存
    c++ 拷贝构造函数、拷贝运算符、析构函数
    c++ struct enum union加typedef与不加typedef
    c++ 动态内存2
    c++ 指针数组与指向数组的指针
    c++ TextQuery程序
    c++ virtual
    c++ 动态内存 动态数组
  • 原文地址:https://www.cnblogs.com/fayez/p/12181928.html
Copyright © 2011-2022 走看看