20.tornado项目结束(简单拓展一些技术栈)
Posted 孤寒者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20.tornado项目结束(简单拓展一些技术栈)相关的知识,希望对你有一定的参考价值。
本tornado项目从最开始的实现hello world到最后完整做成了一个不是很美观的但是!各个功能完善的一个仿Instagram的网站项目。
相信大家如果认认真真跟着做下来,会学到很多!
关于本项目也没什么需要多说的了,tornado已经早几年就几乎退出了历史的舞台,最开始大家用tornado是看重了其高性能,但go语言的流行,使tornado这个优势已经不够看的了!(当然这不是框架本身差,而是语言速度本身慢,我相信用同样的设计原理,用go语言实现tornado肯定也不会差)
所以本文就简单聊几个问题点,大家也会常遇到的:
tornado项目结束
1.cookie和session的区别?
-
cookie的根本作用就是在客户端存储用户访问网站的一些信息 ,Session的根本作用就是在服务端存储用户和服务器会话的一些信息
-
cookie 缺陷:增加了流量、安全性等问题。且HTTP请求中的Cookie是明文传递的,大小限制在4KB左右。
-
cookie 是保存在客户端,session 的是保存在服务端
2.get和post的区别?
POST和GET都是向服务器提交数据,并且都会从服务器获取数据。
区别:
-
传送方式:get通过地址栏(URL)传输,post通过报文(放在Request body中)传输;
-
传送长度:get参数有长度限制(受限于url长度),而post无限制;
-
GET和POST还有一个重大区别,简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包。
长地说:
-
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
-
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok (返回数据)。
-
也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门来迎接我”,然后再回头把货送过去。
-
因为POST需要两步,时间上消耗的多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网络性能,但这是一个坑!跳入需谨慎,为啥呢?
-
GET和POST都有自己的语义,不能随便混用;
-
据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视;而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点;
-
并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
建议:
-
get方式的安全性较post方式要差些,包含机密信息的话,建议用post数据提交方式;
-
在做数据查询时,建议用get方式;而在做数据添加、修改或删除时,建议用post方式;
案例:一般情况下,登录的时候都是用的POST传输,因为涉及到敏感信息如密码传输;而页面查询的时候,如文章id查询文章,用get地址栏的链接为:article.php?id=11,用post查询地址栏链接为:article.php,不会将传输的数据展现出来。
拓展资料:
-
GET在浏览器回退时是无害的,而POST会在此提交请求。
讲解:比如我们在浏览器通过GET访问一个页面时,我们可以返回上一个页面;而如果是通过POST访问的话,返回上一个页面的时候会再发送一次请求,之前的数据就不存在了。 -
GET产生的URL地址可以被Bookmark(简单理解:可以被他人劫走),而POST不可以。
-
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
-
GET请求只能进行url编码,而POST支持多种编码方式。
-
GET请求参数会被完整保留在浏览器历史记录中,而POST中的参数不会被保留。
-
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
3.nginx实现负载均衡至少需要几台服务器
-
nginx做反向代理几台服务器都可以用,一台也可以,具体看你预计的业务量有多少,一台的话,就是将访问本机80/443端口的请求转发给本机8080端口,多台同理。
-
理论上很少直接用tomcat对外提供服务的,因为可拓展性太差。比如你单台tomcat负载太大了,就没法直接扩展。而使用nginx的话,后端的tomcat可以很方便的做横向扩展。
-
tomcat只适用于少量并发的环境,并且处理静态文件的能力一般。nginx可承载较大的并发量。但具体多少并发才能看出来差距就没有实测过了。
-
个人理解一台高配性能的服务器应该是高于两台中配的,因为单机中减去了网络传输的消耗,稳定性单机就不如两台了,因为两台可以做高可用。
一般需要三台服务器,两台nginx做前端,一台后端数据库。
4.nginx的作用常用的命令?
-
nginx -s reload 重新加载配置
-
nginx -s reopen 重启
-
nginx -s stop 停止
-
查看 nginx 版本 nginx -v 。
-
检查配置文件是否正确 nginx -t 。
-
显示帮助信息 nginx -h 。
nginx原理(这位大佬写的很深入):
https://blog.csdn.net/a303549861/article/details/88672901
以上是关于20.tornado项目结束(简单拓展一些技术栈)的主要内容,如果未能解决你的问题,请参考以下文章
全程手把手带你运用Java Shiro技术栈基于最流行RBAC拓展模型实战分组织机构管理系统