0、请描述一下cookies
、sessionStorage
与localStorage
的区别
-
cookie
是网站为了标识用户身份而储存在用户本地终端上的数据(通常讲过加密);
cookie
数据始终保存在同源的http请求中携带(即使不需要),即会在浏览器和服务器之间来回传递 -
sessionStorage
和localStorage
不会自动把数据发给服务器,仅在本地保存 - 1、区别——储存大小
-
cookie
数据大小不能超过4k -
sessionStorage
和localStorage
也有大小限制,但可以达到5M或更大
-
- 2、区别——生命周期
-
cookie
在设置的cookie过期时间之前就一直有效,即使窗口关闭或浏览器关闭。 -
localStorage
的生命周期是永久的(永久保存),关闭页面或浏览器之后其数据也不会消失,除非主动删除数据,否则就不会消失; -
sessionStorage
的生命周期仅在当前会话下有效(临时保存)。数据在当前浏览器窗口关闭后自动删除。
-
1、http与https的区别:
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
区别主要如下:
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
1).使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
2).HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
3).HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本
2、常见的HTTP方法有哪些?
-
GET
:用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 -
POST
:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式 -
PUT
:传输文件,报文主体中包含文件内容,保存到对应URI位置 -
HEAD
:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效 -
DELETE
:删除文件,与PUT方法相反,删除对应URI位置的文件 -
OPTIONS
:查询响应URI支持的HTTP方法
3、get请求和post请求的区别:
-
get重点在从服务器上获取资源;post重点在想服务器发送数据;
-
get传送的数据量较小,不能大于 2KB,
post可以传输大量数据,所以上传文件时只能用post方式 -
get 安全性非常低,post 安全性较高
get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一一对应,在 URL中可以看到;
在做数据查询时,建议用 Get 方式; -
post 是通过 HTTP post 机制,将表单内各个字段与其内容放置在 HTML HEADER 内一起传送到 ACTION 属性所指的 URL 地址,用户看不到这个过程;
所以:包含机密信息的话,建议用 Post 数据提交方式;而在做数据添加、修改或删除时,建议用 Post 方式。
4、常见HTTP响应状态码
-
1XX:指示信息——请求已接收,会继续处理;
- 100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
-
2XX:成功——请求已被成功接收、理解;
- 200 请求被正常处理( OK )
- 201 Created 请求成功并且服务器创建了新的资源
- 202 Accepted 服务器已接受请求,但尚未处理
- 204 请求被受理但没有资源可以返回
- 206 客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。
-
3XX:重定向——要完成请求必须进行更进一步的操作;
- 301 Moved Permanently永久性重定向
- 302 Found 临时重定向
- 303 See Other 临时性重定向,且总是使用 GET 请求新的 URI
- 304 Not Modified发送附带条件的请求时,条件不满足时返回,与重定向无关
- 307 临时重定向,与302类似,只是强制要求使用POST方法
-
4XX:客户端错误——请求有语法错误或请求无法实现;
- 400 Bad Request 请求报文语法有误,服务器无法识别
- 401 Unauthorized请求未授权
- 403 Forbidden请求的对应资源禁止被访问
- 404 Not Found 服务器无法找到对应资源
-
5XX:服务器错误——服务器内部出现错误,不能处理合法的请求。
- 500 服务器内部错误( Internal Server Error )
- 502 前面代理服务器联系不到后端的服务器出现( Bad Gateway )
- 503 服务器正忙
- 504 理能联系到后端的服务器,但是后端的服务器在规定的时间内没有给代理服务器响应( Gateway Timeout )
5、一次完整的HTTP请求所经历的7个步骤
建立TCP连接 -> 发送请求行 -> 发送请求头 ->(到达服务器)发送状态行 -> 发送响应头 -> 发送响应数据 -> 断TCP连接
6、一次完整的HTTP请求事务
- 建立起客户机和服务器连接。
- 建立连接后,客户机发送一个请求给服务器。
- 服务器收到请求给予响应信息。
- 客户端浏览器将返回的内容解析并呈现,断开连接。
更多详细参考地址
7、HTTP报文的组成部分
-
请求报文包含三部分:
- 请求行:包含请求方法、URI、HTTP版本信息
- 请求首部字段
- 请求内容实体
-
响应报文包含三部分:
- 状态行:包含HTTP版本、状态码、状态码的原因短语
- 响应首部字段
- 响应内容实体
网友评论