Get请求将请求信息放在URL后面,请求信息和URL之间用问号(?
)隔开,多个请求信息之间用&
隔开,形式是键值对
的形式,且有长度限制.算法
Post请求是放在报文体中,想得到请求信息必须请求报文,所以,安全性较Get要高一些,可是能够经过抓包工具获取信息,因此不是绝对安全,具体还要靠https
,没有长度限制数据库
Get符合幂等性和安全性,Post不符合浏览器
幂等性:缓存
对数据库的一次操做和屡次操做得到的结果是一致的安全
安全性:服务器
对数据库的操做没有改变数据库中的数据微信
Get能够被缓存,被存储,会被保存在浏览器的浏览记录中,以Get方式发送的URL能够保存为浏览器书签,而post不行cookie
二者产生的缘由:HTTP的最大特色:无状态,每次登录某网站都要不厌其烦输入账号密码,对此,就产生的Cookie和Session.网络
是由服务器发送给客户端的特殊信息,以文本的形式存放在客户端session
客户端再次请求的时候,会把Cookie回发
服务器接收到后,会解析Cookie生成 与客户端相对应的内容
客户端发送http请求到服务端,
服务端发送http响应到客户端,其中包括了Set-Cookie头部
客户端发送http请求到服务端,包括了Cookie头部
服务器发送http相应到客户端
服务端的机制,在服务端上保存信息
解析客户端请求并操做Session id,按需保存状态信息
服务器给每一个Session分配一个惟一的JSessionID,并经过Cookie发送给客户端,当客户端发送新的请求的时候,将在Cookie头中携带JSessionID,这样服务器就能找到相对应的Session
指服务器在发送给浏览器的全部页面中都携带JSessionID的参数,这样客户端点击任何一个链接都会把JSessionID的值传给服务端
1.Cookie数据存放在浏览器,Session存放在服务器
2.Session相对Cookie安全
3.若考虑服务器负担,应当使用Cookie
是一个以安全通行为目的的传输协议,是一个安全版的Http
1.为网络通讯提供安全及数据完整性的一种安全协议
2.是操做系统对外提供的API,SSL3.0后更名为TLS
采用身份验证
和数据加密
保证网络通讯的安全和数据的完整性
1.对称加密:
加密和解密都使用同一个秘钥,性能较高,安全性相对不强
2.非对称加密:
加密和解密使用的秘钥都是不一样的,分别称为公钥和私钥,性能较低,安全性超强
3.哈希算法:
将任意长度的信息转换为固定长度的值,算法不可逆(常见的MD5算法)
4.数字签名:
证实某个消息或者文件是从某人发出/认同的
1.浏览器将支持的加密算法信息发送给服务器
2.服务器选择一套浏览器支持的加密算法,以证书的形式回发给浏览器
3.浏览器验证证书的合法性,并结合证书公钥加密信息发送给服务器
4.服务器使用私钥解密信息,验证哈希,加密响应信息回发浏览器
5.浏览器解密响应信息,并对信息进行验证,以后进行加密交互数据
1.HTTPS须要到CA申请证书,HTTP不须要
2.HTTPS密文传输,HTTP明文传输
3.链接方式不一样,HTTPS默认使用443端口,http使用80端口
4.HTTPS=HTTP+加密+认证+完整性保护,较HTTP安全
1.浏览器默认填充http://
,请求须要进行跳转,有被劫持的风险
2.可使用HSTS(HTTP Strict Transport Security)优化
以上,计算机网络部分结束