总结下近期的常见面试题

谈下data-type都有哪些类型?

这个做过前端的都清楚,无外乎那么几种,
text/html;charset:utf-8; HTML格式
text/plain; 纯文本格式
text/xml;xml格式
application/json;json数据格式,作为响应头较常见
application/x-www-form-urlencoded;表单默认的提交数据格式,form表单数据编码为键值对格式发送到服务器
multipart/form-data;表单中进行文件上传时使用的格式;

HTTP常见的状态码?及对应的意思?

200:🆗;301:永久重定向;302:暂时重定向;304:未修改;403:服务器拒绝访问;404:找不到;500:服务器执行时报错;503:服务器不能利用;

一次完整的HTTP请求需要经历的步骤?

  • DNS解析 : 通过输入的URL查询网站的IP地址(缓存)
  • TCP连接 :通过三次握手与DNS解析查询到的IP地址建立起TCP连接
  • HTTP请求 :构建HTTP请求,请求中包含请求行(动词 路径 协议/版本号)、请求报头(Accept、Content-Type、Cookie等内容)、请求正文(使用POST、PUT、PEACH等方法所需要的数据)
    服务器处理请求并返回数据
    响应包括状态码(200\304\404等)、响应报头(Accept、Content-Type、Server等内容)、响应正文(返回的资源)
    浏览器渲染解析页面
  • HTML解析出DOM树,CSS解析出CSS规则树,然后浏览器根据DOM树和CSS规则树计算每个元素的位置和样式,最后浏览器将每个元素绘制在屏幕上
  • 连接结束 :四次挥手

常见的HTTP方法?以及GET和POST的区别?

  1. GET:获取资源;POST:传输实体主体;PUT:传输文件(用得少);DELETE:删除文件(用得少)
    • 安全性:GET安全性不如POST,GET通过URL 明文可以看到参数数据;POST不会看到,相对来说,POST安全性更好。
    • 传输数据大小:GET传输的数据量小,也就1024个字符=1kb;POST传输的数据量大,在4~10MB;
    • 功能上:GET用于从服务端获取数据;POST向服务端发送数据

HTTP缓存有哪几种?他们之间有什么区别?

  1. 缓存有三种:分别是Cookie、LocalStorage、SessionStorage。
  2. LocalStorage、SessionStorage在存储数据的大小上面秒杀了cookie,现在基本上很少使用cookie了.
  • Cookie:每次http请求都会携带cookie信息,这样无形中浪费了带宽,所以cookie应该尽可能少的使用,另外cookie还需要指定作用域,不可以跨域调用,限制比较多。但是用来识别用户登录来说,cookie还是比storage更好用的。
  • LocalStorage: localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。
  • SessionStorage: sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
    localStorage和sessionStorage唯一的差别一个是永久保存在浏览器里面,一个是关闭网页就清除了信息。localStorage可以用来跨页面传递参数,sessionStorage用来保存一些临时的数据,防止用户刷新页面之后丢失了一些参数。

什么是跨域?如何解决?

  1. 跨域是浏览器基于安全性考虑所规定的一个同源策略,即协议/域名/端口三者必须相同,否则就会发生跨域
  2. 常见的解决方式无外乎:jsonp、服务器中转策略
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。