基础知识:
http: 超文本传输协议,属于osi模型中的应用层协议,该层还有:Ftp,smtp,dns,telnet等协议超文本:
例如,网页的源代码,html就属于超文本Uri:统一资源标识符url:统一资源定位符,比如,一个网页的地址
特点:
1:无连接:每次连接只处理一个请求
2:媒体独立:只要客户端和服务端知道如何处理数据内容,任何类型的数据都可以通过http发送
3:无状态:对事物处理没有记忆能力,后续如果需要前面的信息,则需要重传
http和https:http加上ssl层(安全套接层)就是https,作用有两个
1:建立一个安全通道,保证数据传输的安全
2:确认网站真实性,https网站,都可以通过浏览器地址栏锁头来查看网站认证的真实信息,也可以通过ca机构颁发的安全签章来查询
tcp/ip: 传输层协议,主要用来传输
request:
包含四个部分:1:Request Method:请求方式
2:Request URL:请求地址
3:Request Headers:请求头
4:Request Body :请求体
1:request method:
比较常用的是get和post
get:获取信息,相当于做了查询操作,不影响数据库本身数据
例如:https://www.baidu.com/s?wd=appium这个请求,url中包含了请求的参数信息
发起一次get请求,参数会以url string的形式进行传递,即?后面的字符串为请求参数,多
个参数用&分隔开
post:可能会修改服务器上资源的请求,相当于在数据库中做了修改操作
一般来说,网站登录验证的时候,需要提交用户名密码,如果包含了这种敏感信息,
用get请求就会暴露在url里面,所以,最好用post,文件上传或者内容比较大的时候,也
会用post。
其他的一些不常用的:
put:从客户端想服务器传送的数据取代指定的文档的内容
delete:请求删除服务器指定页面
patch:对put的补充,用来对遗址资源进行局部更新
options:允许客户端查看服务器性能
等等。
2:Request URL
请求的网址比如:http://www.baidu.com
3:Request Headers
1:Accept:请求报头域,用户指定客户端可以接收那些类型信息
2:Accept—Language:指定客户端可接受的语言类型
3:Accept—Encoding: 指定客户端可接受的内容编码
4:Host:用于指定请求资源的主机ip和端口,内容为请求url原始服务器或者网关位置
5:Cookie:为了辨别用户进行Session跟踪而存储在用户本地的数据
6:Referer:标识这个请求从哪个页面发过来,服务器用这个信息
7:User-agent:简称UA,一个特殊字符串头,使得服务器能识别客户使用的操作系统及版本浏览器及版本等信息
8:content—type:即internet Media Type 互联网媒体类型,也叫mime类型使用它来表示具体请求中的媒体类型信息,如:text/html 代表html格式,image/gif 代表图片Gif格式
4:Request body
请求体:一般用于post请求中,主要定义向服务器提交的数据类型,对于get而言,请求体为空
比如:填写了用户名密码,提交时候,内容会以form Data 的形式提交给服务器,此时请求头中制定了content—type 为application/x-form-urlencoded 只有设置了content-type为application/x-form-urlencoded 才会以form data形式提交,另外我们也可以将 content-type 设置为 application-json来提交json数据,或者设置为 multipart-form-data来上传文件
常用的content-type 和post提交数据方式的关系:
Response:
分为三部分
Response Status Code 状态码
Response Headers 响应头
Response Body 响应体
1 Response Status Code
相应状态码,此状态码表示了服务器的相应状态,常见的如下表:
2 Response Header
响应头,包含了服务器对请求的应答信息,如:content-type server set-cookie等
1:date :标志response 产生的时间
2:Last-Modified 指定资源的最后修改时间
3:Content-Encoding 指定Response内容的编码
4:Server 包含了服务器的信息,名称,版本号等
5:content-type:文档类型,制定了返回数据类型是什么,如text/html等
6:set-cookie:设置cookie 响应头中的set-cookie告诉浏览器要将此内容放在cookie中,下次请求携带cookie内容
7:expires:指定response的过期时间,使用它可以控制代理服务器或者浏览器将内容更新到缓存中,如果再次访问,直接从缓存加载,节省时间
3 Response body
相应的正文数据都是在响应体中,如请求一个网页,他的响应体就是网页的html代码,请求一张图片,他的响应体就是图片的二进制数据,一般接口响应内容大多都是json数据内容。