1.get和post的区别

  • 常规意义来说,get参数在url上面,post参数在body里面

  • 安全性:相对来说,post比get安全

  • 长度限制:post请求没有长度限制,get请求有长度限制(url本身有长度限制)

  • 缓存行:get请求可以被缓存,post请求不能被缓存

  • 在一般浏览器下面,get会发送一个数据包,post会发送两个数据包

2.Cookie、token、session的区别

cookie

  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

  • HTTP是一种无状态协议,服务器没有办法单单从网络连接上面知道访问者的身份,为了解决这个问题,就诞生了Cookie

  • Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie

  • 客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

session

  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie

  • 关闭浏览器不会关闭session,它具失效日期,失效后服务器认为客户端停止了活动,并删除session以节省空间

Token

  • 作为身份认证 token安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击

  • Oauth token提供的是认证和授权,认证针对用户,授权针对app

  • token的生成一般是采用uuid保证唯一性,当用户登录时为其生成唯一的token,存储一般保存在数据库中。token过期时间采用把token二次保存在cookie或session里面,根据cookie和session的过期时间去维护token的过期时间

3.cookie 和session的区别

  • cookie数据存放在客户的浏览器上,session数据放在服务器上。

  • cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。

  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。

  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

4.TCP的三次握手,四次挥手

三次握手:建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。

  • 第一次握手:建立连接时,客户端向服务器发送一个SYN包,并进入SYN_SENT状态,等待服务器确认。

  • 第二次握手:当服务器接收到客户端请求后,此时要给客户端给一个确认信息ACK,同时发送SYN包,此时服务器进入SYN_RECV状态。

  • 第三次握手:客户端收到服务器发的ACK+SYN包后,向服务器发送ACK,发送完毕之后,客户端和服务器进入 ESTABLISHED(TCP连接成功)状态,完成三次握手。

四次挥手:断开一个TCP连接时,需要客户端和服务器共发送四个包确认

  • 第一次挥手:客户端发送一个FIN,用来关闭客户端到服务器的数据传输,客户端进入FIN_WAIT_1状态。

  • 第二次挥手:服务器收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序 号),服务器进入CLOSE_WAIT状态。

  • 第三次挥手:服务器发送一个FIN,用来关闭服务器到客户端的数据传输,服务器进入LAST_ACK状态。

  • 第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送一个AKC给服务器,确认序号为收到序号+1,服务器进入CLOSED状态,完成四次挥手。

为什么需要三次握手,两次不可以吗

第三次握手是为了防止:如果客户端迟迟没有收到服务器返回确认报文,这时会放弃连接,重新启动一条连接请求,但问题是:服务器不知道客户端没有收到,所以他会收到两个连接,浪费连接开销。如果每次都是这样,就会浪费多个连接开销。

为什么建立连接是三次握手,而关闭连接却是四次挥手

这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。

5.接口请求返回的状态码

1xx -代表请求已被接受,需要继续处理,这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束:

100 (继续)初始的请求已经接受, 请求者应当继续提出请求。
101 (切换协议) 请求者已要求服务器切换协议,服务器听从客户的请求已确认并准备切换。

2xx - 代表请求已成功被服务器接收、理解、并接受:

200 (请求成功),服务器成功返回请求的数据。
201 (已创建) 请求成功并且服务器创建了新的资源。
202 (已接受) 服务器已接受请求,但尚未处理。
203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容) 服务器成功处理了请求,但没有返回任何内容。
205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。
206 (部分内容) 服务器成功处理了部分 GET 请求。

3xx - 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向:

300 (多种选择) 针对请求,服务器可执行多种操作。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

4xx - 这些状态代码表示请求可能出错,妨碍了服务器的处理:

400 (错误请求) 服务器不理解请求的语法。
401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
405 (方法禁用) 禁用请求中指定的方法。
406 (不接受) 无法使用请求的内容特性响应请求的网页。
407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408 (请求超时) 服务器等候请求时发生超时。
409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。
412 (未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。
413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
415 (不支持的媒体类型) 请求的格式不受请求页面的支持。
416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。
417 (未满足期望值) 服务器未满足”期望”请求标头字段的要求。

5xx - 表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生:

500 (服务器内部错误) 服务器遇到错误,无法完成请求。**
501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

6.输入url到页面加载的过程

1、浏览器的地址栏输入URL并按下回车。

2、浏览器查找当前URL的DNS缓存记录。

3、DNS解析URL对应的IP。

4、根据IP建立TCP连接(三次握手)。

5、HTTP发起请求。

6、服务器处理请求,浏览器接收HTTP响应。

7、渲染页面,构建DOM树。

8、关闭TCP连接(四次挥手)。

测试测开面试要知道的那些事02相关推荐

  1. 三个月的2020秋招测开面试经验,包含阿里,百度、华为等面试题

    不知不觉又到秋季了,记得去年的秋季我还是一个每天都在面试的面试人,现在不一样了,现在我是打工人了,上升了一个级别,现在又开始秋招了,所以把去年的秋招面试题总结出来,给大家参考参考,希望对大家有帮助. ...

  2. 史上最全软件测试入门到精通【测试+测开】

    测试学习大纲梳理 根据本人过往学习经验与理解,整理了一些关于测试学习内容与顺序,涵盖了基本软件测试工程师需要掌握的所有技能,希望可以给想了解的小伙伴们一些指引与帮助,有错误或需求的欢迎留言指出~ 学习 ...

  3. 广联达2020秋招测开面试(一面)

    1.找出链表中环的入口结点 链接:https://www.nowcoder.com/questionTerminal/253d2c59ec3e4bc68da16833f79a38e4 来源:牛客网cl ...

  4. 测开面试知识点(一)

    1.HTTP和HTTPS HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效, ...

  5. 查询中接受的主体参数_【自动化/测开面试集锦系列】SQL查询

    前言 select top n 形式的语句可以获取查询的前几个记录,但是 mysql没有此语法,mysql用limit来实现相关功能. LIMIT子句可以被用于强制 SELECT 语句返回指定的记录数 ...

  6. 测试员薪资两极分化,如何成为年薪百万的阿里测开?

    在一线大厂,没有测试这个岗位,只有测开这个岗位.这几年,各互联网大厂技术高速更新迭代,软件测试行业也正处于转型期.传统的功能测试技术逐步淘汰,各种新的测试技术层出不穷,测试人员的薪资也水涨船高.与此同 ...

  7. 阿里、字节年薪百万的测开专家,都在关注哪些前沿技术

    近些年,随着计算机技术高速发展,软件测试行业也正处于转型期.传统的测试技术逐步淘汰,各种新的测试技术层出不穷,测试人员的薪水也水涨船高.与此同时,各大厂对测试人员的要求也越来越高.打开任意一个招聘AP ...

  8. 35岁以后软测就没有出路了吗?听听京东10年测开的经验分析

    国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术.因此淘汰率也比较高,超过35岁的基层研发类员工,往往因为家庭原因.身体原因,比较难以跟 ...

  9. 美团 测开|测试开发 面试真题|面经 汇总

    美团测开一面 时长:1小时 介绍一下项目 说一下为什么选择测开 项目中用到的ES说一下 你项目实现过程中有没有遇到什么问题? 微信朋友圈的功能性测试,要从那些方面考虑 测试的一般流程 linux用的多 ...

最新文章

  1. SignalR的另类实现技巧
  2. 如果修改了表结构的话,可能也需要将调用到表的存储过程、函数等也修改一下,以下语句可以查询到那些对象调用到被修改的表...
  3. ftp协议是一种用于_______的协议_网工知识角|快速理解FTP和TFTP的区别,实用收藏...
  4. 怎么将excel中的url批量转化为图片_阿里云+Power BI,轻松实现图片可视化报告(一)...
  5. jTessBoxEditor for Tesseract OCR
  6. 十四、深入Python条件和循坏
  7. 图解JavaScript原型链继承
  8. 协同遗漏的效果–使用简单的NIO客户端/服务器测量回送延迟
  9. 云小课|聊一聊DRS的数据过滤特性
  10. python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
  11. 浏览器兼容性问题汇总
  12. Free DOS 1.0发布!
  13. 测试工程师面试必问的十道题目!全答上来的直接免试
  14. 小米手机WIFI显示已连接,但无法访问互联网,新路由器其他设备都能连
  15. tkm批量转mp3工具使用教程
  16. 面对危机,中国也不应修修补补
  17. 【转】当我们说“区块链是无需信任的”,我们的意思是
  18. debian 7 调整控制台分辨率
  19. Android绘制几何图形详解
  20. 专访北京中医药大学副教授郭凤英:产学合作,为新医科培养复合型人才

热门文章

  1. matlab 画黄金螺旋,分享:黄金比例螺旋展开线绘制
  2. 分布电容和杂散电容_部分电容和杂散电容
  3. Linus Torvalds 在 22 号宣布Linux 5.18发布
  4. 《Unix编程艺术》重读笔记(三)
  5. BootStrap按钮和图片
  6. 在英语课堂中培养学生音素觉知的初步探讨(Phonemic Awareness)
  7. 【图像隐写数据集】图像隐写数据集整理
  8. Python 可视化如何配色?这个工具你值得拥有
  9. Nginx 安装、解决办法
  10. 【转载】Cygwin安装