谈下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的区别?
- GET:获取资源;POST:传输实体主体;PUT:传输文件(用得少);DELETE:删除文件(用得少)
- 安全性:GET安全性不如POST,GET通过URL 明文可以看到参数数据;POST不会看到,相对来说,POST安全性更好。
- 传输数据大小:GET传输的数据量小,也就1024个字符=1kb;POST传输的数据量大,在4~10MB;
- 功能上:GET用于从服务端获取数据;POST向服务端发送数据
HTTP缓存有哪几种?他们之间有什么区别?
- 缓存有三种:分别是Cookie、LocalStorage、SessionStorage。
- LocalStorage、SessionStorage在存储数据的大小上面秒杀了cookie,现在基本上很少使用cookie了.
- Cookie:每次http请求都会携带cookie信息,这样无形中浪费了带宽,所以cookie应该尽可能少的使用,另外cookie还需要指定作用域,不可以跨域调用,限制比较多。但是用来识别用户登录来说,cookie还是比storage更好用的。
- LocalStorage: localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。
- SessionStorage: sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
localStorage和sessionStorage唯一的差别一个是永久保存在浏览器里面,一个是关闭网页就清除了信息。localStorage可以用来跨页面传递参数,sessionStorage用来保存一些临时的数据,防止用户刷新页面之后丢失了一些参数。
什么是跨域?如何解决?
- 跨域是浏览器基于安全性考虑所规定的一个同源策略,即协议/域名/端口三者必须相同,否则就会发生跨域
- 常见的解决方式无外乎:jsonp、服务器中转策略