zoukankan      html  css  js  c++  java
  • 接口自动化:一.Http协议

    前言

    http超文本传输协议是一个基于请求与响应模式的,无状态的,应用层的协议。是最常见的一种协议

    URL详解

    百度搜索的一个url地址:

    https://www.baidu.com/s?wd=%E4%B8%8A%E6%B5%B7%E6%82%A0%E6%82%A0

    %E5%8D%9A%E5%AE%A2&rsv_spt=1&rsv_iqid=0x91baaabd00070ba2&issp=1&f=8&

    rsv_bp=1&rsv_idx=2

    (1)http/https:协议类型

    (2)Host:主机地址或者域名

             192.168.x.xx8080地址+端口号

              www.baidu.com 域名

              localhost8080 localhost 本机地址

    (3)port:端口号(默认端口号是80省略)

    (4)Path:请求的路径(host之后,问号?之前)

    (5)?问号是分隔号

    (6)参数:name=value

    (7)&:多个参数用&隔开

    Request请求

    (1)get肯定没有请求body

    (2)post可以有请求body也可以为空。

    请求方法

    根据http标准,http请求可以使用多种方法:

    http 1.0定义了三种请求方法:getposthead

    http1.1新增了五种请求方法:optionsputdeletetrace,和connect

    一般来说:

    get请求指定页面信息,并返回实体主体。

    Head类似于get请求,只不过返回的响应中没有具体的内容,用于获取保文头。

    Post向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请

    求体中。Post请求可能会导致新的资源的建立或已有资源的修改。

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

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

    Connect http1.1中预留给能够将连接改为管道方式的代理服务器。

    Options允许客户端查看服务器的性能。

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

    request组成

    客户端发送一个http请求到服务器的请求信息包括以下格式:

    请求行,请求头部,空行,请求体四部分组成。

    (1)请求头

    Client

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

    Accept-Language:语言

    Accept-Encoding:编码格式

    User-Agent:客户端类型

    Cookie:身份认证

    Entity

    Conten-Type:发送post时候,body数据声明。

     

    (2)get请求参数

    get请求参数都在请求行里,可以再webformsQueryString查看。 

     

    3post请求参数

    请求参数可以是请求行的参数QueryString+body

    -- QueryString 可以为空

    -- body可以为空

    Body参数的数据类型:

    Content-Typeapplication/x-www.from-urlencoded

     

    4postbody

    Postbody常见的数据类型有五种,查看raw头部content-type

    1. 第一种:application/json: {“key1”:”value1”,”key2”:”value2”,”key3”:value3}
    2. 第二种:Content-Typeapplication/x-www.from-urlencoded

                                Key1=xxx&key=xxx&key3=000

    1. 第三种:multipart/from-data 这是一种表单格式
    2. 第四种:text/xml
    3. 第五种:文件下载的时候, octets/stream

    (5)post请求json

    Body参数为json格式

     

    (6)post请求表单

    Body参数为json格式

     

    Response

    1response:一般情况下,服务器接收并处理客户端发过来的请求后会返回一个http的响应信息。

    http响应也有四部分组成:状态行(响应行),消息报头(响应头),空行,响应正文(响应体)。

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

    1xx:指示信息,代表请求已经接收,继续处理

    2xx:成功-表示请求已被成功接收,理解,接收。

    3xx:重定向--要完成请求必须进行更进一步的操作。

    301-永久重定向

    302-临时重定向

    304:用到缓存,请求服务端资源未改变,用本地未过期缓存。

    4xx:客户端错误--请求有语法错误或请求无法实现。

    5xx:服务端错误--服务器未能实现合法的请求。

    常见状态码:

    200 ok 客户端请求成功

    400 bad request 客户端有语法错误,不能被服务器理解。

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

    403 forbidden 服务器收到请求,但是拒绝服务(一般权限问题)

    404 not found 请求资源不存在,地址错误

    500 服务器发生不可预期的错误

    503 server unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

     

     

  • 相关阅读:
    python文件处理(对比和筛选)版本2
    python文件处理(对比和筛选)
    python 从2个文件中提取不相同的内容并输出到第三个文件中
    Unity学习(十三)场景优化之四叉树
    Android权限之三共享UID和签名
    > 软件编程 > 安卓开发 > Unity编译时找不到AndroidSDK的问题:Unable to list target pla
    Unity性能优化(4)-官方教程Optimizing graphics rendering in Unity games翻译
    Unity性能优化(3)-官方教程Optimizing garbage collection in Unity games翻译
    Unity性能优化(2)-官方教程Diagnosing performance problems using the Profiler window翻译
    Unity性能优化(1)-官方教程The Profiler window翻译
  • 原文地址:https://www.cnblogs.com/liushui0306/p/13153149.html
Copyright © 2011-2022 走看看