http协议相关面试题

1、游览器输入一个地址。到页面展示中间经历了哪些东西?

  #这个问题前端面试基本上百分百问的。测试的话,基础的功能面试可能不会问。自动化的话基本上也会问的。

  1、游览器输入url。先解析url地址是否合法

  2、游览器检查是否有缓存(游览器缓存-系统缓存-路由器缓存)。如果有,直接显示。如果没有,跳到第三步。

  3、在发送http请求前,需要域名解析(DNS解析),解析获取对应过的ip地址。

  4、游览器向服务器发起tcp链接,与游览器简历tcp三次握手

  5、握手成功后,游览器向服务器发送http请求,请求数据包

  6、服务器收到处理的请求,将数据返回至游览器

  7、游览器收到http响应。

  8、游览器解析响应。如果响应可以缓存,则存入缓存

  9、游览器发送请求获取嵌入在HTML中的资源(html,css,JavaScript,图片,音乐等),对于未知类型,会弹出对话框

  10、游览器发送异步请求

  11、页面全部渲染结束。

 

2、GET和POST的区别:

  #这个问题。我相信只要你说你做过接口测试,基本上都被问到过。

  简单来说:GET产生一个TCP数据包,POST产生两个TCP数据包

  严格的说:对于GET方式的请求,游览器会把http header和data一并发送出去,服务器响应200(返回数据);

  而对于POST请求。游览器先发送header,服务器响应100 continue,游览器再发送data,服务器响应200 ok(返回数据)

  注:千万别说什么POST比GET安全什么的。这样一下子面试官就知道你的底子了。

 

3、cookies机制和session机制的区别:

  1、cookies数据保存在客户端。session数据保存在服务端

  2、cookies可以减轻服务器压力,但是不安全,容易进行cookies欺骗

  3、session安全一点,但是占用服务器资源。

 

4、HTTP、状态码:

  200:成功

  302:重定向

  404:请求失败,请求希望得到的资源违背在服务器发现。(只要不是新手写的demo,一般404都是你路径写错了,或者未区分大小写啥的)

  502:无效的响应(基本上就是Tomcat没启好)

  400:请求没有进入到后台服务里(一般都是前端的锅)

 

5、http协议请求方式:

  ----这个懒得写。基本上用到的就是GET和POST,充其量再遇到个option请求。(事实上小公司绝大部分全是POST请求)

 

6、http和https的区别:

  #与问题2一样,这个只要你说你接触过接口,基本上就会问的。

  HTTPS = HTTP + SSL

  1、https有ca证书,http一般没有

  2、http是超文本传输协议,信息是明文传输。https则是具有安全性的ssl加密传输协议

  3、http默认80端口,https默认443端口。

 

  

  

posted @ 2018-12-18 19:15  John.Liu-  阅读(6401)  评论(2编辑  收藏  举报