请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手
第13讲 接口 和fiddler


1、前端:前后台页面样式,交互
2、后端:接口  数据库 服务器
3、接口:统称为api
web端接口分为2中形式:
1)前端和后端之间的接口,表现在后端数据库的数据需要通过前端请求,展示在前端页面
2)后端和后端之间的接口调用

4、测试
前端测试 ==》功能测试 ui界面 接口 ui自动化 性能
后端测试==》接口 数据库 数据同步 服务器测试  ==》没有页面

5、开发把代码提交给测试之前,他们需要进行接口联调(开发自测,一般时前端联调)
前端拿到后端的接口文档进行联调
后端写好的接口需要自己在接口测试工具如postman 进行测试,调通


6、接口测试分为:
手工接口测试:单个接口==》工具:postman jmeter
接口自动化测试:关联接口 ==》jmeter  python java

7、网络协议tcp/ip
我们访问百度服务器,为什么可以用www.baidu.com 就可以访问,
因为做了DNS域名解析,把当前的请求分配给很多台服务器,不清楚那一台
给我处理

tcp/ip五层协议  【重要】
应用层
http:超文本传输协议
telnet:远程登录
smtp:发邮件
DNS :域名解析

传输层
tcp:链接协议
比如:登录qq,没断网的情况,一直登录状态==》通过账号密码登录qq,和后台服务通过tcp协议
建立了长链接

UDP:聊天信息安全
微信时基础tcp  又基于udp发送信息

【TCP/IP五层模型?【重要】
应用层:负责应用程序之间的沟通。网络编程主要针对的就是应用层。
                协议:
                http超文本传输协议,TFTP文件传输,FTP文件传输,NFS域名解析,WALS网络通讯协议,SMTP邮件协议,Telnet远程登录协议
传输层:负责两台主机之间的数据传输。
                协议:
                TCP面向链接协议, UDP用户数据包协议(加密协议)
网络层:负责地址管理和路由选择。路由器工作在网络层。
数据链路层:负责设备之间的数据帧的传输和识别。交换机工作在数据链路层。例如网卡设备的驱动,帧同步,冲突检测,数据差错校验等工作。
物理层:负责光电信号传递方式。集线器工作在物理层。以太网协议。】


8、常见网络协议及端口
部署bbs论坛  端口:80  因为使用nginx ==》http协议==》80

http:超文本传输协议  默认端口80
https:超文本安全传输协议  默认端口443

面试题:http和https的主要区别?【重要】

1)https协议时需要CA申请证书,一般不免费
2)http时超文本传输协议,明文传输,https安全协议,通过ssl/tls加密解密
3)http和https使用不同的连接方式,端口不一样前者80 ,后者443
4)http连接比较简单,无状态,https进行加密传输需要认证

面试题:tcp和udp的区别?【重要】
tcp:面向连接,传输可靠(保证数据正确性,顺序),用于传输大量数据,速度慢
udp:面向非连接,传输不可靠,用于少量数据,速度快


9、建立连接的3次握手tcp
客户端调用connect()函数 想服务器发送请求
SYN:请求同步包
ACK:确认同步包
长链接:基于tcp
短链接:安装软件

10、4次挥手
FIN ==>FINISH ==》结束的意思
close_wait1==》主动关闭方
close_wait  ==》被动关闭方

11、抓包工具fiddler
ctrl +x 或者点击页面上‘x’==》remove all
1)结果 result
2)协议  protocol
3)主机名 host
4)网页地址 url
5)内容大小 body
6) 缓存  caching
7)内容类型:content-type
8) 运行程序  process
9)注释  
10)自定义

12、一个接口请求包含4个组成部分:基于http协议
客户端
请求头信息
请求体信息

服务器
响应头信息
响应体信息


13、接口请求头包含了哪些信息?【重要】
请求url地址   请求方法(get post) 版本 host
        Accept:浏览器能够处理的内容类型
        Accept-Charset:浏览器能够显示的字符集
        Accept-Encoding:浏览器能够处理的压缩编码
        Accept-Language:浏览器当前设置的语言
        Connection:浏览器与服务器之间连接的类型
        Cookie:当前页面设置的任何Cookie
        Host:发出请求的页面所在的域
        Referer:发出请求的页面的URL
        User-Agent:浏览器的用户代理字符串
        【Content-Type】: application/x-www-form-urlencoded; charset=UTF-8
       
请求体:请求参数    userAccount=admin&loginPwd=123456

14、接口响应头包含了那些信息?
协议,版本,响应状态码
        Date:表示消息发送的时间,时间的描述格式由rfc822定义
        server:服务器名字。
        Connection:浏览器与服务器之间连接的类型
        content-type:表示后面的文档属于什么MIME类型
        Cache-Control:控制HTTP缓存
       
响应体信息:返回结果




15、get 和post 请求 的区别?【重要】
【1】GET在浏览器回退时是无害的,而POST会再次提交请求。(get是幂等的,执行多少遍不影响最终存储的结果。而post每次调用都会创建新的资源)
2. GET产生的URL地址可以被Bookmark,而POST不可以。
3. GET请求会被浏览器主动缓存,而POST不会,除非手动设置。
4. GET请求只能进行url编码,而POST支持多种编码方式。
【5.】 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
【6.】 get方式提交数据的大小(一般来说1024字节),http协议并没有硬性限制,而是与浏览器、服务器、操作系统有关,而POST理论上来说没有大小限制,http协议规范也没有进行大小限制,但实际上post所能传递的数据量根据取决于服务器的设置和内存大小。
【7.】 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
【8.】 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
【9.】 GET参数通过URL传递,POST放在Request body中
10、GET产生一个TCP数据包;POST产生两个TCP数据包
11、对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据
12、而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)
【13、】get一般是用来获取数据,post提交数据



16、http协议状态码
2开头:表示请求成功
3开头:表示重定向,访问的接口存在但是重定向到其他地方去了
4开头:表示客户端有误,url地址,资源找不到  400 403 404
5开头:表示服务器,网关有误 服务器异常

1-5开头常见的状态码的意思?【重要】
    100 初始的请求已经接受,客户应当继续发送请求的其余部分。
        101 服务器将遵从客户的请求转换到另外一种协议
        【200】 - OK 一切正常,对GET和POST请求的应答文档跟在后面。
        201 服务器已经创建了文档,Location头给出了它的URL。
        202 已经接受请求,但处理尚未完成。
        203 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝,非权威性信息。
        204 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。
        205 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。
        206 客户发送了一个带有Range头的GET请求,服务器完成了它
        300 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。
        301 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
        302 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”。出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求 http://host/~user (缺少了后面的斜杠),有的服务器返回301,有的则返回302。严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见 307。
        303 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取。
        304 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
        305 客户请求的文档应该通过Location头所指明的代理服务器提取。
        307 和302(Found)相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只能跟随对GET请求的重定
        【400】 服务器不理解的请求语法
        【401】 身份验证错误
        【403】 服务器拒绝请求
        【404】 未找到网页(最常见的了服务器状态)
        405 方法禁用
        406 不接受(无法使用请求的内容特性响应请求的网页)
        407 需要代理授权
        408 请求超时(服务器等待请求超时)
        【500】 服务器内部错误
        【501】 服务器不具备完成请求的功能
        【502】 错误网管
        503 服务器不可用(超载或者停机维护,暂停的状态)
        504 网关超时
        505 http版本不受支持(请求使用的http协议版本服务器不支持)

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册