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

·接口测试核心技术--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. 004.Delphi插件之QPlugins,参数传递

    界面如下 插件框架中大量使用了接口的东西,看的眼花缭乱,很多地方只做了申明,具体的实现是在另外的子类. DLL的代码如下 unit ParamTest; interface uses classes, ...

  2. 安装mysql server5.5 到start service未响应解决方法

    打开C盘,然后修改    "组织"  =>  "查看"(如下图)  里面的  "隐藏受保护的操作系统文件"  (系统这是会弹出警告,不 ...

  3. ffmpeg 知识点

    ffmpeg FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/ ...

  4. JAVA实现--基础算法FOR选择排序

    首先 实现简单的选择排序. 简单排序的思路很简单,就是通过遍历(数组的length次)的数组,每次遍历找出最小的放到数组的第一个位置,下次遍历时就不用考虑第0位置的数从第1的位置开始找1到length ...

  5. Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2

    //2019.07.10python数据分析基础——numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面:(1)numpy—— ...

  6. Kafka--Kafka简述

    Kafka的诞生 Kafka最初是LinkedIn的一个内部基础设施系统.我们发现,虽然有很多数据库和系统可以用来存储数据,但在我们的架构里,刚好缺一个可以帮助处理持续数据流的组件. 我们希望能够把数 ...

  7. 指令——less

    一.Liunx系统下的一般命令格式. 命令——实际上就是在Liunx终端中,在命令行中输入的内容. Liunx中一个命令的完整格式为: #指令主体(空格) [选项](空格) [操作对象] 指令主体—— ...

  8. 第九届蓝桥杯省赛c/c++真题明码题解答案,另类excel解法思路

    直到快比赛才重视起之前学校给报了蓝桥杯,且这段时间一直在做Python,所以没做什么准备. 赛场上做这道题时连反码补码的知识点都记混,所以直接用了excel做这道题目,分享下做题思路.及题解. 标题: ...

  9. 十九、SAP查询所有数据库表的所有数据

    一.我们打款SAP自带的一个演示数据库SCARR 二.表结构如下 三.代码如下 四.执行结果如下 我们对比一下数据库的内容,很perfect 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微 ...

  10. 095-PHP遍历关联数组,并修改数组元素值

    <?php $arr=array('I'=>1,'II'=>2,'III'=>3,'IV'=>4,'V'=>5); //定义一个数组 echo '修改之前数组信息: ...