http协议简介
在做接口测试的过程中,都会遇到一些http协议,什么是http协议?
什么是http协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。基于TCP的应用层协议,它不关心数据传输的细节,HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,只有遵循统一的 HTTP 请求格式,服务器才能正确解析不同客户端发的请求,同样地,服务器遵循统一的响应格式,客户端才得以正确解析不同网站发过来的响应。
什么是HTTPS
HTTPS 的全称是Hyper Text Transfer Protocol over Secure Socket Layer ,是以安全为目标的HTTP通道,简单的讲是HTTP的安全版本,即HTTP下加入SSL层,简称HTTPS
其中HTTPS的安全基础为SSL,因此通过它的传输的内容都是经过SSL加密的,它的主要作用可以分为两种:
1、建立一个信息安全通道来保证数据传输的安全
2、确保网站的真实性,凡是使用了HTTPS 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息。
HTTP请求内容
HTTP 请求由请求行、请求头、空行、请求体组成
请求行:请求方式 + URL + 协议版本
- 常见的请求方法有 GET、POST、PUT、DELETE、HEAD
- 客户端要获取的资源路径(所谓的URL)
- 客户端使用的 HTTP 协议版本号(目前使用的是http1.1)
请求头:客户端向服务器发送请求的补充说明
- host:请求地址
- User-Agent: 客户端使用的操作系统和浏览器的名称和版本.
- Content-Length:发送给HTTP服务器数据的长度。
- Content-Type:参数的数据类型
- Cookie:将cookie的值发送给HTTP 服务器
- Accept-Charset:自己接收的字符集
- Accept-Language:浏览器自己接收的语言
- Accept:浏览器接受的媒体类型
请求体:一般携带的请求参数
- application/json:{"name":"value","name1":"value2”}
- application/x-www-form-urlencoded: name1=value1&name2=value2
- multipart/from-data:表格形式
- text/xml
- content-type:octets/stream
HTTP响应内容
HTTP 响应格式与请求的格式很相似,也是由响应行、响应头、空行、响应体组成。
状态行:HTTP 版本号 + 响应状态码 + 状态说明
- 响应状态码有 1XX、2XX、3XX、4XX、5XX、5XX。
-
1XX 提示信息 - 表示请求已被成功接收,继续处理
-
2XX 成功 - 表示请求已被成功接收,理解,接受
-
3XX 重定向 - 要完成请求必须进行更进一步的处理
-
4XX 客户端错误 - 请求有语法错误或请求无法实现
-
5XX 服务器端错误 - 服务器未能实现合法的请求响应头
-
响应头:响应头与请求头对应,是服务器对该响应的一些附加说明
响应体:它才是真正的响应数据,这些数据其实就是网页的 HTML 源代码
什么是URL
URL(Uniform Resource Locator,统一资源定位符),是WWW的统一资源定位标志,就是指网络地址
格式
# URL格式 https://host:port/path?xxx=aaa&ooo=bbb ## http/https:这个是协议类型 ## host:服务器的IP地址或者域名 ## port:HTTP服务器的默认端口是80 ## path:访问资源的路径 ## url里面的?这个符号是个分割线,用来区分问号前面的是path,问号后面的是参数 ## url-params:问号后面的是请求参数,格式:xxx=aaa ## 多个参数用&符号连接
协议版本
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
- get:请求指定的页面信息,并返回实体主体。
- post:向指定资源提交数据进行处理请求,数据被包含在请求体中。
- HEAD:返回的响应中没有具体的内容,用于获取报头。
- OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
- PUT:向指定资源位置上传其最新内容
- DELETE:请求服务器删除Request-URL所标识的资源
- TRACE:回显服务器收到的请求,主要用于测试或诊断
- CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。