http1.0所做的优化
- 带宽:现阶段已经解决
- 延迟:1.浏览器阻塞:浏览器对同一个域名,同时只能有4个连接、
- 延迟:2.DNS查询:浏览器需要知道目标服务器的 IP才能建立连接
- 延迟:建立链接:三次握手
http1.0/http1.1的区别
1缓存处理不同。 1.0只是用一个头文件的缓存策略,1.1引入了更多
2带宽优化及网络连接的使用(1.0存在浪费带宽,不支持断点续传功能。1.1允许只请求资源的部分)
3Host头处理 (1.0中每台服务器绑定唯一的IP地址。1.1请求消息和响应消息都支持Host头表改进)
4长连接(最大的区别)
http1.0/http1.1存在的问题
- HTTP1.X在传输数据时,每次都需要重新建立连接,无疑增加了大量的延迟时间(主要存在于1.0中,1.1可以解决)
- HTTP1.x在传输数据时,所有传输的内容都是明文,客户端和服务端都无法验证对方的身份(可以使用https)
- HTTP1.x在使用时,header里携带的内容过大,在一定程度上增加了传输成本
- 虽然HTTP1.x支持了keep-alive,来弥补多次创建连接产生的延迟,但是keep-alive使用多了同样会给服务器带来大量的性能压力(比如请求一个文件)
get/post方法的区别
- 提交的数据
- 提交的数据大小是否有限制
- 取得安全的值Request.QuereString vs Request.Form
- 安全问题
cookie和session的区别
什么是cookie
cookie技术是客户端的解决方案,cookie就是有服务器给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息(在okhttp中设置cookie需要用到拦截器来完成)
什么是session
session是另一种记录客户状态的机制,不同的是cookie保存在客户端浏览器中,而session保存在服务器上,客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上
session:工作原理
1.创建session
2.在创建session的同时,服务器会为该session生成唯一的session id
3.在session被创建之后,就可以调用session相关的方法往session中添加内容
4. 当客户端再次发送请求的时候,会将这个session id带上,服务器接受到请求后就会依据session id找到相应的session
区别
- 存放位置不同
- 存放方式不同 (session能保存任何内容,cookie 字符串)
- 安全性不同,session更安全
- 有效期不同 ,cookie比较长,session如果设置为-1关闭浏览器后就会失去
- 对服务器压力不同
HTTPS
并不是一个单独的协议,是对工作在一加密连接(SSL/TLS)上常规HTTP协议。通过在TCP和HTTP之间加入TLS(Transport Layer Security)来加密。
SSL/TLS协议
SSL协议
传输速度会变慢。更耗资源。