web测试基础---url+http协议详解

来源:互联网 发布:linux 启动进度条 编辑:程序博客网 时间:2024/05/29 16:46

URL的构成:

URL和URI:

URL:统一资源定位符,URI:统一资源标识符(URI是抽象的,而URL是具体化的,属于URI范畴)

一般来说,http请求都会和URL地址有关,对于URL来说一般由一下5个部分构成

·协议:通常为第一个冒号之前的内容。常见的协议有:http,https(http+ssl),ftp( 用的比较少),ssh,about,JavaScript。

·域名:要访问的服务器的域名(通常对应的是机器名或者ip地址),一般格式为://域名

示例://192.168.1.12

·端口:就是访问服务器自己所设定的服务端口,监听端口(监听客户端请求)。

一般如果服务器使用的是协议的默认通信端口,则用户在通过URL访问服务器时,是可以省略端口的。

常见协议的默认端口:http:80    https:443or8441    f tp:21  ssh:22  smtp:25  pop3:110  oracle:1521  msql:3306    sql server:1433


·路径:path,是指要访问的资源在服务器容器下的相对路径(文件存储位置),不是资源在服务器的绝对路径

注意:在restful风格的接口中,经常会直接将参数内容以path的形式进行封装


·URL地址参数:一般来说是通过?连接在path之后。

在很多工具中,也是可以呀归类到path中,一般来说,URL地址参数都是键值对应的


http协议:

http协议是由俩个部分构成:http request(请求)、http response(相应)

对于接口测试或者性能测试来说,我们需要去模拟、气实现的是http请求,但是我们又需要结合http响应来处理脚本

在这个过程中,我们能够改变的只是请求


一般来说,要了解协议,需要结合抓包工具来进行

常用抓包工具:http watch

chrome/firefox/id的F12自带的开发工具

fiddler、charles、wireshark


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

·request line:一般来说是请求的第一行内人,包含3个信息:request method、request path、protocol/version

        request method(请求方法):一般来说,请求方法是由接口或者客户端决定。

     常见的http请求方法有:get、psot、put、delete、header、options、trace等。

     html中(不是http)一般来说:

    get方法传递参数时,是通过URL地址参数来封装数据的。

             post方法传递参数时,是通过request body来封装数据的。

注意:默认情况下。不指定方法的话,客户端一般都是使用get方法

·request path:请求路径。就是URL中的path部分


        ·protocol/version:协议和版本


·request header:请求头, 一般是指请求的数据包中的第二行开始,到第一个空行截止部分。

请求头是用来传递信息的,包括通信和控制相关的信息

请求头是键值对应的

请求头的类型是又http协议规定的,是不能自定义的,每一种信息头都是有其特殊的通信意义的


·request body:请求主体:第一个空号开始到整个请求包结束的部分

一般来说,请求主体是适用于post方法,不适用于get方法的。

请求主体传递的内容是由应用或接口决定。

默认是www-form类型(普通的键值对应,通过&连接的字符串)

如果不适默认类型,则在请求 头中,一定要添加以下信息头:

     ·Content type:

该头是告知服务器,所发送的body 的数据格式、数据类型


· http response:http相应,由三部分构成:request line、request header、request body

   ·response line:响应行,是指响应中第一行的内容。包含三个信息:

protocol/version 、respnose code 、response message

               示例:http/1.1 200 OK 

       http/1.1 404 Not Found

·response code:响应代码,又叫状态码,是服务器用来告知客户端,服务器对于请求的处理状态

状态码一般是由三位长度的数字构成,一般来说,首字母相同的往往表示是统一大类处理状态。

·1xx:表示传递信息    ·2xx:典型的就是200,表示处理成功(指的是服务器逻辑走通了,并不代表业务成功)

·3xx:表示重定向     ·4xx:表示客户端错误。 403:表示权限有误。404:表示请求的资源未找到。

·5xx:表示服务器错误   500:是指服务器由于内部原因导致无法处理请求。注意:一般来说,接口测试、性能测试过程中,在调试脚本的阶段出现500,通常不是服务器问题,而是脚本封装问题

注意:一般来说1xx、2xx、3xx表示客服端(性能、接口测试工具)和服务器逻辑通信没有问题,4xx、5xx表示逻辑有问题,一般是由封装的数据导致的


·response  message :响应信息,一般是用来描述响应代码的,没有实际意义。


·response  header :类似于request header。是服务器反馈给客户端的控制、通信信息。

·response body:响应主体,也是由应用和接口产生


本文是由学习视频中学习手打而成

原创粉丝点击