接口基础知识
一、TCP/IP协议
TCP/IP协议是一个协议集合。IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。TCP/IP协议族中有一个重要的概念是分层,TCP/IP协议按照层次分为以下四层,应用层、传输层、网络层、数据链路层。
物理层数据链路层(MAC地址):对应设备二层交换机
网络层(IP地址):路由器
传输层(tcp udp)-产品有Redis6300,mysql 3309
应用层(Telnet,http,ssl)--产品有Tomcat,nginx
二、http报文内容:
http协议是基于tcp/ip协议的,端口号是80 ,https端口号是443
1.URL:统一资源定位符
2.method(方法)get/post/put/delete
3.params (参数) 只有get接口有,post接口不叫params
4.data(参数) 只有post接口有,get接口没有
5.header(请求头)头信息
1)cookies cookie用来身份验证;cookie:存放在本地(客户端)的一个键值对;session:存放在服务端的一个键值对。
2)user-agent 用户代理,macos,chrome代理我发送的http请求;如百度爬虫来爬取,user-agent:baidu爬虫;
mocos chrome pc端,mobile 移动端的HTML,pchtml
3)host PHP服务,一个服务器会部署多个服务,host域名
4)content-type:发送请求的内容的类型,有json,form-data ,二进制数据类型。content-type:application/json(表单),form-data混 合表单,支持上传文件,mutiapart/binary(二进制) x-www-form--urlencoded(文本表单)
5)connection:是否需要长连接,比如1万并发tps上不去的情况,是否没有保持连接;
connection:keep-alive 保持连接,客户端发送请求后,保持tcp连接,当第二次发送请求不需要三次握手
close:发送请求后,立马断开
6.response
三、百度打不开的时候怎么排查
网络是否通,客户端是否联网
定位客户端问题还是服务端问题
F12,查看请求是否发送出去了,发出去了客户端正常,返回无响应或错误,服务端问题
四、http请求的常用状态码
200 # 2 请求成功
404 #4 代表客户端发送的请求有问题
300 #3 代表重定向
500、502 #服务端有问题
常用的接口测试工具主要有以下几种:
- Postman: 简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档, 接口监控等功能;
- JMeter: 开源接口测试及压测工具,支持Linux及无界面运行;
- LR: 商业版接口性能测试工具,简单易用,功能强大;
- SoupUI: 开源,WebService接口常用测试工具,也可以测试Rest接口及接口安全。
五、postman接口测试步骤:
转载,可参考https://www.cnblogs.com/cocomoly/p/11725219.html
原文地址:https://www.cnblogs.com/wei180/p/15215536.html
- Golang语言-并发支持
- HDUOJ-----I NEED A OFFER!
- HDUOJ---2546 饭卡
- 假期前的数据库检查脚本之主备关系(r11笔记第46天)
- HDUOJ----1003 Max Sum
- HDUOJ--Bone Collector
- HDUOJ--1058HangOver
- 免插件实现WordPress的Sitemap功能
- HDUOJ--1865 1string
- Golang语言延迟函数defer用法分析
- HDUOJ---大菲波数
- HDUOJ Children’s Queue
- HDUOJ----1250 Hat's Fibonacci
- HDUOJ---1133(卡特兰数扩展)Buy the Ticket
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 阻塞队列
- 工具系列 | 负载均衡算法 - 轮询算法
- 如何避免用动态语言的思维写Go代码
- Pandas tricks 之 transform的用法
- Springboot + RabbitMQ 用了消息确认机制,感觉掉坑里了!
- 一款功能简约到可怜的SQL 客户端!
- 震惊!ConcurrentHashMap里面也有死循环,作者留的“彩蛋”?
- Python GUI项目实战(六)实现添加学生信息的功能
- 打卡群刷题总结0816——三角形最小路径和
- 打卡群刷题总结0814——二叉树展开为链表
- 打卡群刷题总结0813——二叉树展开为链表
- 打卡群刷题总结0812——路径总和 II
- SQL中CASE表达式的妙用
- 2w 字 + 40 张图带你参透并发编程!
- RSA 敏感数据加解密方案