本文来自公开课笔记,主要做知识的记录,谢谢!

·接口测试核心技术--URL&HTTP协议详解

·URL

统一资源定位符。

示例

https://ke.qq.com/course/315793?tuin=15945f87
     通常来说,一个URL通常由以下几个部分构成:协议、域名、端口、路径和URL地址参数。

·协议

protocol,通常来说是URL中的第一部分(分号之前的部分)

所谓协议

     通信双方对于数据的格式、含义、规程等所做的约定。

常见的通信协议有:
      http
      https(http+ssl)
      ssh
      ftp
      smtp
      pop3

oracle
      mysql
      sql server
      about
      config
      javascript

·域名

domain/hostname。是指协议之后的部分,通常来说可以是服务器的虚拟域名,机器名,IP地址。
     比如说

www.baidu.com
     192.168.2.212
      localhost
     127.0.0.1
     xiaozhifei(机器名)

·端口

port端口是跟在域名之后,格式为:
      域名:端口
      端口是由服务器来配置的,是用来监听客户端的请求的。

      通常来说,如果服务器所使用的端口与其所采用的通信协议是默认的匹配关系的话,则客户端在请求时,是可以不用填写端口。

常见协议与其默认端口的对应关系如下:
      http--80
      ssl--443or8443
      ssh-22
      ftp-21
      smtp-25
      pop3-110

oracle:1521
     mysql:3306
     sql server:1433

·路径

path,一般来说,表示要访问的资源在服务器的容器中所存储的位置。

示例

/course/315793

·URL地址参数

通常是以问号作为连接符,拼接在URL的path部分的最后。
     本身的数据组织格式为键值对应格式:
     key1=value1&key2=value2&...&keyN=valueN

PS:从广义的角度来说,URL地址参数本身也属于URL PATH的一部分。

·HTTP协议

超文本传输协议。该协议分为两个部分:http request(请求部分),http response(响应部分).

·http request的构成

一般来说,http请求是由三个部分构成:request line、request header、request body。

·request line

请求行,通常来说就是请求数据包的第一行内容,包含以下信息:request method、request path、protocol/version
      示例:GET /phpwind/ HTTP/1.1

·request method

请求方法,常见的http的请求方法有get、post、put、patch、options、delete、trace、header等。
      请求方法是由接口(开发)决定的。
      PS:在工具or浏览器中,不指定方法的情况下,采用的就是get


get和post的区别:
      ·在协议层面,都是请求方法,都可以用来传递参数给服务器。
      ·在web(浏览器)中,使用get方法传递的参数会变成URL地址参数。使用post方法,则是在request body中。

·在浏览器中,URL地址的长度是有限制。
        通常核心的,比较长的数据都会采用post方法进行传递。

·在浏览器中,通过get方法获取的数据会在本地缓存(cache),post方法获取的数据是不会在本地缓存的。

·request path

即URL的path和URL地址参数部分。

·protocol/version

协议和版本,要求请求和响应所使用的协议保持一致。

·request headers

请求头,是指从第二行开始,到第一个空行结束的部分。
        请求头一般表示客户端和服务器进行通信时所需要的一些控制和交互信息。
        请求头是键值对应的,格式为: key:value

http协议规定了很多标准的请求头,代表特殊的通信含义和作用。

·User-Agent

用来告知服务器,客户端的一些配置信息(硬件、系统层面),绝大多数情况下,服务器都是通过该信息头来识别用户来源。通常cookie的自动管理是和这个信息头有关的。

·Content-Type:

该信息头是用来告知服务器,所发送的请求主体(body)的数据组织格式。
           常见的有:
               application/x-www-form-urlencoded 一般是键值对的数据。key=value&key=value
               一般来说,不指定Content-Type的情况下,默认就是application/x-www-form-urlencoded。

application/json 数据就是就json 格式
                application/xml 数据就是就xml格式
                multipart/form-data; boundary=xxx
                混合表单格式,通常是用来实现上传或者包含上传操作的业务。可以实现多种数据格式混合传递的效果。
                boundary是分隔符,比实际的分隔符要少两个下划线。

·Cookie:也是请求头的一部分。

·request body

请求主体,是指请求包的第一个空行之后的所有内容。
          请求主体的内容,数据组织格式等都和业务有关。

·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:表示重定向操作

PS:通常来说,1xx、2xx、3xx都表示请求成功。

4xx:表示客户端错误。
                5xx:表示服务器错误。

PS:通常来说,我们去做接口测试的时候,尤其是脚本开发和调试阶段,如果出现了4xx和5xx错误,基本上都是因为我们所封装的数据、方法有误导致。

·response message

是接在响应代码之后的,是用来描述响应代码所表示的含义的。

·response header

响应头,是指从响应包的第二行开始,到第一个空行截至的部分,通常包含服务器反馈给客户端的控制、交互信息。
           格式、含义等都和请求头类似。

·response body

响应主体。

·掌握http request,可以帮助我们去实现请求包的封装。
 掌握http response,可以帮助我们去自动化的判断请求是否成功,或者实现数据的关联。

URL&HTTP协议详解的更多相关文章

  1. HTTP协议详解以及URL具体访问过程

    1.简介 1.1.HTTP协议是什么? 即超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准.从 ...

  2. HTTP协议详解(转)

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

  3. HTTP协议详解

    Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...

  4. ASP.NET知识总结(3.HTTP协议详解)

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  5. 接口测试之HTTP协议详解

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  6. 计算机网络(12)-----HTTP协议详解

    HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...

  7. HTTP协议详解(真的很经典)

    HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...

  8. HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  9. 关于http协议详解

    Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...

随机推荐

  1. 通过虚拟机增加Linux的磁盘(分区容量)

    因为安装oracle设置的磁盘空间不足,所以安装失败.这里总结一下如何添加磁盘挂载 1. 右键虚拟机点击设置,然后点击磁盘,点击添加按钮 2.然后点击下一步下一步,直到安装成功 3.然后输入 fdis ...

  2. (转)如何判断VPS是基于哪种虚拟技术?Xen、OpenVZ、Xen HVM、KVM还是VMware

    对于VPS新手来说,怕被无良的奸商给忽悠,下的Xen的却给的OpenVZ的,如何来判断自己买的VPS是那种虚拟技术的,下面VPS侦探整理一些常见的方法. 1.通过系统上的相关目录或文件判断 执行:ls ...

  3. PhoneGap简易配置使用

    在Android Studio 里新一下Android项目, 这个不用说了. 链接: https://pan.baidu.com/s/1qYcCBEW 密码: ymhh 添加 cordovaapp-c ...

  4. Day4 - L - Tram POJ - 1847

    Tram network in Zagreb consists of a number of intersections and rails connecting some of them. In e ...

  5. 026、MySQL取字符串左边,取字符串右边,取字符串中间,取文本开始位置

    #取文本左边 ); #田 ); #田攀 ); #田攀5 #取文本右边 ); # ); # ); #攀52 #取文本中间 '); #田攀 '); #攀5 #从字符串s中获取s1的开始位置 不忘初心,如果 ...

  6. Java 用户输入

    章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...

  7. 单调栈应用--将一个数删除n各数字之后的最大\最小值

    E. Playing with numbers time limit per test 2.0 s memory limit per test 64 MB input standard input o ...

  8. springBoot (适合ssm)

    很多小白在学ssm的时候,选用idea,网上应该有很多教程,创建maven项目,创建spring项目的都有,五花八门. 最近接触了springBoot,这个项目类型适用于ssm,还不用去创建很多文件夹 ...

  9. s5pc100开发板网卡驱动的移植

    相关软件下载地址:http://pan.baidu.com/s/16yo8Y fsc100开发板 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc 平台代码修改 vim   ...

  10. php.laravel.csrf

    概念请自己查 在全局帮助函数库Illuminate\Foundation\helpers.php中有以下几个函数定义,在看过前两个函数实现可以在使用中多少有点帮助. function csrf_fie ...