URL一般由五个部分构成:协议、域名、端口、路径、URL地址参数;
例:http://localhost/phpwind/searcher.php?keyword=phpwind&type=thread
协议一般是URL的第一部分,通常通过冒号和后续部分进行区分;
常用的协议:http、ftp、https、about、javas、ssh等;
(一般进行接口层面的测试时,首先需要的是接口所采用的协议)
域名是服务的地址,可能是机器名、IP地址、域名;
例:机器名:localhost
域名:www.baidu.com
IP地址:127.0.0.1
端口是服务器提供服务的端口,即服务器用来监听客户端请求所使用的端口;
基本格式:域名:端口(端口跟在域名之后)
(如果服务器所使用的端口是协议的默认通信端口,则用户在访问服务器时可以不输入端口)
协议名 | 端口号 |
---|---|
http | 80 |
ftp | 21 |
ssh | 22 |
https(http+ssl) | 443/8443 |
MySQL | 3306 |
SQL Server | 1433 |
ORACLE | 1521 |
路径是要访问的资源(文件)在服务器容器目录下的路径(路径跟在端口号之后);
一般来说,所谓发布产品,主要是将对应的应用(文件)放在服务器的容器目录下。
URL地址参数,一般是通过问号连接在地址之后的内容,通常是用来传递数据的;
URL地址参数一般是有键值对应的,多个键值之间通过“&”进行连接。
一般,URL地址参数也是算在PATH部分。
例:?keyword=phpwind&type=thread
HTTP协议是一种基于请求(request)和响应(response)的协议,可以用于WEB、C/S、APP。
(通信都是基于协议进行的,HTTP是目前使用最广泛的应用协议)
HTTP协议由http-request和http-response构成;
请求行就是请求的第一行,和URL相关。通常包含:request method、request path、protocal/version;
request method:请求方法,常用的方法有:get、post、put、delete
(一般获取静态资源用get,获取动态资源用post)
request path:请求资源的路径,即URL地址中的路径;
protocol/version:协议/版本;
请求头,是用来传递信息的,一般和应用的内容无关,但是可能影响请求成功与否。
(一般是从第二行开始到第一个空行之前的部分)
请求头是有键值对应的,请求头类型是由http协议规定的,不能自定义;
请求头 | 请求头说明 |
---|---|
Accept | 接收类型(可以不填或*/*) |
User-Agent | 客户端的环境 |
Accept-Encoding | 本地接收格式 |
Content-Type | 请求数据的数据格式 |
请求主体,由应用决定的,一般是第一个空行之后的内容;
键值应的请求主体,可以采用键值对或Raw(String)的方式;XML和JSON,只能采取Raw(String)的方式。
有请求主体,一定要指定请求头Content-Type。
http响应由三个部分构成:response line、response header、response body。
2.1 response line
响应行,即响应第一行,通常包括三个部分:protocol/version、response code、response message;
response code,响应代码,又叫状态码。是用来标识服务器对于请求的处理状态(逻辑状态);
状态码通常是三位长度的数字,一般都是由首位数字进行大类区分,表示不同的处理状态。
状态码 | 状态码意义 |
---|---|
1** | 通信过程中发送的,用来传递信息(一般看不到) |
2** | 典型的200,表示请求处理成功 |
3** | 一般表示重定向 |
4** | 一般表示请求失败,如403:权限问题;404:请求资源在服务器不存在 |
5** | 表示服务器错误(对于接口、性能测试,如果自己发送的请求出现500错误, 一般不是服务器问题,可能是请求数据有问题) |
2.2 response header
响应头类似于请求头。
2.3 response body
响应主体