前端http和https的区别
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
前端和后端跨域

1、jsonp原理
利用script标签没有跨域限制的漏洞,网页可以得到从其他源动态产生的json数据。 JSONP请求一定需要对方的服务器做支持才可以;JSONP主要是通过声明一个回调函数,然后利用script的src属性后边跟上 ?callback=声明的回调函数,来进行数据处理,使用起来非常的简单和方便,而且可用于解决主流浏览器的跨域数据访问问题;但是,它仅仅只是支持get方法,具有一定的局限性,而且不安全,容易受到xss攻击;
2、cors
cors需要浏览器和后端同时支持。IE8和IE9需要通过XDomainReauest来进行实现;
其实浏览器本身是会自动的进行cors通信的,因此,实现cors通信的关键是后端,后端需要对请求头的配置,也就是 Access-Control-Allow-Origin的配置,只要后端实现了cors,那么跨域的问题就解决了;
3、nginx反向代理
nginx反向代理跨域的实现原理主要是利用了服务器之间不存在跨域来进行实现的,类似于我们构建的node 本地服务器进行跨域; nginx反向代理的实现就是,通过nginx 配置一个代理服务器(域名与domain1相同,端口不同)作为跳板机,反向代理访问domain2的接口,并且可以顺便修改cookie中的domain信息,便于当前域的写入,进而来实现跨域登录;
请求iget和post的区别
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
前端最常见的http状态码
** 200 OK 请求成功。一般用于GET与POST请求
301 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303 查看其它地址。与301类似。使用GET和POST请求查看
304 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端 通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之 后修改的资源
305 使用代理。所请求的资源必须通过代理访问
400 客户端请求的语法错误,服务器无法理解
404 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
500 服务器内部错误,无法完成请求
505 服务器不支持请求的HTTP协议的版本,无法完成处理**