1.自动化测试之url_html协议

[TOC]

1. 协议部分:

一般是指URL中第一个冒号之前的部分

web系统中常用的协议有:

  • http
  • https
  • ftp
  • smtp
  • javascript
  • about
  • oracle
  • mysql

2. 域名:

就是要访问的web服务器的地址(域名或者IP),属于必选部分

3. 端口:

是跟在域名之后,格式一般是:

  • 域名:端口
  • 一般来说,web服务器都会制定自身提供服务的端口(监听端口)
    • 然后用户要访问的服务器,必须是指定对应的端口
    • 通常来说,常用的协议都有默认的服务端口,如果服务器所提供的服务器端口和协议的默认端口一致的话,则用户可以不用输入端口
    • 常用的协议和端口有:
协议 端口
http 80
https(ssl) 443 or 8443
ftp 21
ssh 22
smtp 25
pop3 110
oracle 1521
mysql 3306
sqlserver 1433
  • 路径: path 一般是端口之后的 / 开始部分 包含 /
    • 一般来说,我们访问的服务器都是服务器所指定的某一个文件夹(容器)内的资源
    • path就是用来指定访问的资源位于服务器的容器下的路径.(从容器开始计算,不包括容器本身的路径)
    • 示例: /phpwind/sercher.php
    • 服务器一般都是有一个index的设置,如果访问的服务器的文件夹,则会自动访问文件夹下的index文件
  • url地址参数: 一般是以 ? 拼接在path之后,通常代表使用get方法传递给服务器的数据.
    • url 地址参数通常是 键 值 对应的.即键名=键值,不通的键值之间使用&符号进行拼接
    • 属于可选的部分
    • ps:在很多场合,url地址参数会被归结为path部分

4. 使用的是HTTP协议

和团体票协议本身是一种基于请求(request)和响应(response)的协议

4.1 http request:

http请求一般是由三个部分构成:

  • request line
  • request header
  • request body

4.2 http 详细:

一般是指request包中第一行内容.通常包含以下信息:

  • request method: 请求方法常用 get post put delete trace head options等,get post 最常用

    • 示例: GET /phpwind/HTTP/ 1.1
      • 默认请求是 GET
      • 在GET方法提交的数据通常是一URL地址参数的方式进行拼装
      • 在POST方法提交的数据是以 request body的方式进行拼装
      • 在浏览器层面,对于URL地址的长度是有限制的(http没有),因为大型数据是使用post方法传递
      • GET方法会在浏览器进行缓存,POST是没有在浏览器缓存(这才是为什么POST比GET更安全的原因)
      • POST对于数据类型的支持比较GET更好.
  • request path

  • protocol/version

  • request header: 请求头,一般是指第二行开始到第一个空行结束的部分.主要是为了完成通信的控制

    • 请求头 一般都是键值对应的,格式为: 请求头名称: 请求头的值
    • 请求头的名称(类型)都是有http协议提前约定好的,具有特定的通信效果的,一般不能自定义
    • 从性能测试角度,建议指定的信息头有:
      • Accept: 用来告知服务器,客户端希望接收的数据类型
      • User-Agent: 用来告知服务器,客户端的一些环境配置信息.主要会影响到兼容性操作,session的建立等.
      • Accept-Encoding: 告知服务器,本地是否支持解压缩,支持的解压缩类型有哪些.
      • Content-Type: 如果request body中有内容,则需要使用该信息头指定内容的数据类型(告知服务器)
  • request body: 请求主题.是指第一个空行之后的内容

    • 比如说 get方法, request body是空的
    • post方法 会产生键值对的内容
  • http response: http响应, 通常也是由三个部分构成: response line, response header, response body

    • response line: 响应行,通常就是响应数据包中第一行,通常包含以下信息:protocol/version,response code,response message
    • 示例: HTTP/1.1 200 OK
      • response code: 响应代码,又叫状态码,通常是用来标识服务器对于请求的处理状态(逻辑状态),和业务状态无关
      • 一般来说,状态码通常都是三位长度的十进制数字,一般都是通过首字母实现大的类型的区分
        • 1xx: 通常用来传递信息
        • 2xx: 典型的就是200,一般表示服务器对于请求进行了处理.表示正确
          ps:在性能测试过程中,一定要注意的就是逻辑状态是进本要求,同事要进行业务的校验
        • 3xx: 一般来说就是从定向
          • 一般就是301~303 307表示和url地址有关的重定向
          • 304~306表示和缓存有关的重定向
          • 4xx: 一般表示处理错误,
            • 403: 权限
            • 404: 要访问的资源不存在
          • 5xx: 一般表示服务器错误
            • 500: 服务器问题,或者是我们请求有错误
  • response message: 响应信息,是用来描述响应代码的.本身没有什么意义,可以自定义,最好自己拦截 4xx 5xx,自定义返回的错误

  • response header: 响应头

    • 格式 类似于 request header
    • 请求头是客户端提交给服务器的
    • 响应头是服务器返回给客户端的控制信息
  • response body: 响应主题,即服务器最终返回给客户端的资源信息(字节信息)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 4,951评论 0 7
  • (原话)谈谈对HTTP协议的理解:超文本传输协议,应用于OSI网络模型中的应用层,是用于服务器传输超文本到本地浏览...
    24_yu阅读 4,394评论 0 1
  • 本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...
    HoyaWhite阅读 7,545评论 2 20
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 7,701评论 0 6
  • 阿福童财商课的开展,在我校风生水起、有声有色。刚开始听网络主讲教师的授课,内容主要有理财、旅游、产品推介等;形式主...
    肃南一中张立红阅读 3,704评论 0 2