接口自动化:一.Http协议

前言

http超文本传输协议是一个基于请求与响应模式的,无状态的,应用层的协议。是最常见的一种协议

接口自动化:一.Http协议_第1张图片

 

URL详解

百度搜索的一个url地址:

https://www.baidu.com/s?wd=%E4%B8%8A%E6%B5%B7%E6%82%A0%E6%82%A0

%E5%8D%9A%E5%AE%A2&rsv_spt=1&rsv_iqid=0x91baaabd00070ba2&issp=1&f=8&

rsv_bp=1&rsv_idx=2

(1)http/https:协议类型

(2)Host:主机地址或者域名

         192.168.x.xx8080地址+端口号

          www.baidu.com 域名

          localhost8080 localhost 本机地址

(3)port:端口号(默认端口号是80省略)

(4)Path:请求的路径(host之后,问号?之前)

(5)?问号是分隔号

(6)参数:name=value

(7)&:多个参数用&隔开

Request请求

(1)get肯定没有请求body

接口自动化:一.Http协议_第2张图片

 

(2)post可以有请求body也可以为空。

接口自动化:一.Http协议_第3张图片

 

请求方法

根据http标准,http请求可以使用多种方法:

http 1.0定义了三种请求方法:getposthead

http1.1新增了五种请求方法:optionsputdeletetrace,和connect

一般来说:

get请求指定页面信息,并返回实体主体。

Head类似于get请求,只不过返回的响应中没有具体的内容,用于获取保文头。

Post向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请

求体中。Post请求可能会导致新的资源的建立或已有资源的修改。

Put从客户端向服务器传送的数据取代制定的文档内容。

Delete请求服务器删除指定的页面。

Connect http1.1中预留给能够将连接改为管道方式的代理服务器。

Options允许客户端查看服务器的性能。

Trace回显服务器收到的请求,主要用于测试或者诊断。

request组成

客户端发送一个http请求到服务器的请求信息包括以下格式:

请求行,请求头部,空行,请求体四部分组成。

接口自动化:一.Http协议_第4张图片

(1)请求头

Client

Accept 浏览器可接受的媒体类型。

Accept-Language:语言

Accept-Encoding:编码格式

User-Agent:客户端类型

Cookie:身份认证

Entity

Conten-Type:发送post时候,body数据声明。

接口自动化:一.Http协议_第5张图片

 

 

 

 

(2)get请求参数

get请求参数都在请求行里,可以再webformsQueryString查看。 

接口自动化:一.Http协议_第6张图片

 

 

 

 

 

 

3post请求参数

请求参数可以是请求行的参数QueryString+body

-- QueryString 可以为空

-- body可以为空

Body参数的数据类型:

Content-Typeapplication/x-www.from-urlencoded

 

4postbody

Postbody常见的数据类型有五种,查看raw头部content-type

  1. 第一种:application/json: {“key1”:”value1”,”key2”:”value2”,”key3”:value3}
  2. 第二种:Content-Typeapplication/x-www.from-urlencoded

                            Key1=xxx&key=xxx&key3=000

  1. 第三种:multipart/from-data 这是一种表单格式
  2. 第四种:text/xml
  3. 第五种:文件下载的时候, octets/stream

接口自动化:一.Http协议_第7张图片

 

 

 

(5)post请求json

Body参数为json格式

接口自动化:一.Http协议_第8张图片

 

(6)post请求表单

Body参数为json格式

接口自动化:一.Http协议_第9张图片

 

Response

1response:一般情况下,服务器接收并处理客户端发过来的请求后会返回一个http的响应信息。

http响应也有四部分组成:状态行(响应行),消息报头(响应头),空行,响应正文(响应体)。

(3)状态码:由三位数字组成,第一个数字定义了相应的类别,共分五种类别:

1xx:指示信息,代表请求已经接收,继续处理

2xx:成功-表示请求已被成功接收,理解,接收。

3xx:重定向--要完成请求必须进行更进一步的操作。

301-永久重定向

302-临时重定向

304:用到缓存,请求服务端资源未改变,用本地未过期缓存。

4xx:客户端错误--请求有语法错误或请求无法实现。

5xx:服务端错误--服务器未能实现合法的请求。

常见状态码:

200 ok 客户端请求成功

400 bad request 客户端有语法错误,不能被服务器理解。

401 unauthorized 请求未经授权,这个状态码必须和www-authenticate报头域一起使用。

403 forbidden 服务器收到请求,但是拒绝服务(一般权限问题)

404 not found 请求资源不存在,地址错误

500 服务器发生不可预期的错误

503 server unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

 

 

 

 

你可能感兴趣的:(接口自动化:一.Http协议)