![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
其他
其他
Lewis-Liu.
临渊羡鱼,不如退而结网
展开
-
MVC,MVT思想
MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。V全拼为View,用于封装结果,生成页面展示的HTML部分。C全拼为Controller,用于接收请求,处理业务逻辑,与Model,View交互,返回结果。Django框架遵循MVC设计,并且有一个专有名词:MVT。M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。V全拼为Vie原创 2020-08-20 01:16:39 · 143 阅读 · 0 评论 -
TCP如何实现长连接
应用层的心跳机制通过应用程序自身发送心跳包去检测连接是否正常,基本方法就是在服务器端设置一个Timer事件,在一定时间段内向客户端一个心跳数据包,若在一定时间内没有收到客户端的回应,那么就会认为客户端掉线;同样客户端在一定时间段内没有收到服务器的心跳包,则判断与服务器端连接断开。TCP的keepalive机制其实跟心跳机制大同小异,无论是客户端还是服务器端,只要有一方开启Keepalive功能后,就会在特定的时间段内发送心跳包,对端在收到心跳包后进行回复,表示自己在线。默认的Keepalive..原创 2020-08-20 01:15:53 · 3637 阅读 · 0 评论 -
Nginx服务器优点
nginx是一个开源高性能的HTTTP服务器。响应很快,处理静态文件效率高高扩展性,跨平台高可靠性,稳定占用内存小,配置简洁支持负载均衡和正向反向代理功能,支持高并发原创 2020-08-20 00:07:38 · 238 阅读 · 0 评论 -
说说 Nginx 和 uWISG 服务器之间如何配合工作的
首先浏览器发起 http 请求到 nginx 服务器,Nginx 根据接收到请求包,进行 url 分析,判断访问的资源类型,如果是静态资源,直接读取静态资源返回给浏览器,如果请求的是动态资源就转交给 uwsgi服务器,uwsgi 服务器根据自身的 uwsgi 和 WSGI 协议,找到对应的 Django 框架,Django 框架下的应用进行逻辑处理后,将返回值发送到 uwsgi 服务器,然后 uwsgi 服务器再返回给 nginx,最后 nginx将返回值返回给浏览器进行渲染显示给用户。...原创 2020-08-19 09:16:53 · 222 阅读 · 0 评论 -
如何设计restful风格的api
REST:Representational State Transfer 的缩写,翻译:“具象状态传输”。一般解释为“表现层状态转换”。REST 是设计风格而不是标准,是指客户端和服务器的交互形式。域名: 将api部署在专用域名下, 或主域名下。版本: 将api的版本放在url中。路径: url中不能有动词, 名词要用复数。过滤信息: api应该设置过滤参数, 指定返回数据的数量, 返回数据的起始位置, 第几页和每页数量。使用标准的HTTP方法: GET, POST, PUT, DELETE原创 2020-08-19 09:14:27 · 275 阅读 · 0 评论 -
请简述浏览器是如何获取一枚网页的?
在用户输入目的 URL 后,浏览器先向 DNS 服务器发起域名解析请求;在获取了对应的 IP 后向服务器发送请求数据包;服务器接收到请求数据后查询服务器上对应的页面,并将找到的页面代码回复给客户端;客户端接收到页面源代码后,检查页面代码中引用的其他资源,并再次向服务器请求该资源;在资源接收完成后,客户端浏览器按照页面代码将页面渲染输出显示在显示器上。...原创 2020-08-19 09:14:02 · 225 阅读 · 0 评论 -
简单说一下三次握手和四次挥手
第一次握手:首先客户端向服务端发送一个带有 SYN 连接请求标志,以及随机生成的序号 seq=x 的报文,等待服务端确认。第二次握手:服务端收到报文后返回一个 seq=y,ACK=x+1 的报文给客户端以确认连接请求。第三次握手:客户端收到确认后,检查ACK是否为 x+1,如果正确则发送带有 ACK=y+1 的报文给服务端。服务端检查ack是否为 y+1,如果正确则连接建立成功,客户端和服务端进入ESTABLISHED状态,完成三次握手,随后客户端与服务端之间可以开始传输数据了。四次挥手过程,..原创 2020-08-19 09:13:23 · 518 阅读 · 0 评论 -
CSRF攻击原理以及解决方案
CSRF攻击原理:你访问了信任网站 A,然后 A 会用保存你的个人信息并返回浏览器一个cookie,然后在 cookie 的过期时间之内,你去访问了恶意网站 B,它给你返回一些恶意请求代码,要求你去访问网站 A,而你的浏览器在收到这个恶意请求之后,在你不知情的情况下,会带上保存在本地浏览器的 cookie 信息去访问网站 A,然后网站 A 误以为是用户本身的操作,导致来自恶意网站 B 的攻击代码会被执:发邮件,发消息,修改你的密码,购物,转账,偷窥你的个人信息,导致私人信息泄漏和账户财产安全收到威胁。解决原创 2020-08-19 09:12:49 · 1310 阅读 · 0 评论 -
简述Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后移植到任何其他平台上。优点更快速的交付和部署Docker 容器几乎可以在任意的平台上运行,这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。启动速度快资源利用率高一台主机上可以同时运行数千个 Docker 容器。容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。性能开销小容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能原创 2020-08-19 09:11:48 · 172 阅读 · 0 评论 -
简述 TCP 和 UDP 的区别以及优缺点
UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息。优点:UDP速度快、操作简单、要求系统资源较少,由于通讯不需要连接,可以实现广播发送缺点:UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数 据是否会正确接收,也不重复发送,不可靠。TCP 是面向连接的通讯协议,通过三次握手建立连接,通过四次挥手断开连接。优点:TCP在数据传递时,有确认、窗口、重传、阻塞等控制机制,能保证数据正确性,较为可靠。缺点:TCP 相对于 UDP 速度慢一.原创 2020-08-19 09:11:08 · 352 阅读 · 0 评论 -
HTTP和HTTPS协议
HTTP协议是(超文本传输协议)的缩写, 是用于从万维网服务器传输超文本到本地浏览器的传送协议, HTTP基于TCP/IP通信协议来传递数据。HTTPS(超文本传输安全协议),HTTPS 协议是由 SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,SSL协议用于对HTTP 协议传输的数据进行加密,要比 http 协议安全。HTTP: 直接通过明文在浏览器和服务器之间传递信息。HTTPS: 采用 对称加密 和 非对称加密 结合的方式来保护浏览器和服务端之间的通信安全。..原创 2020-08-15 17:49:57 · 102 阅读 · 0 评论 -
Pycharm Debug调试简易步骤
在要进行调试的代码行左侧单击,添加调试断点。右键单击源文件或代码区内部,弹出菜单,选择【Debug ***】,或在右上角工具栏区单击【debug】按钮,快捷键【shift+F9】。执行。F8:Step Over 单步在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行F7:step into 进入进入 单步执行,遇到子函数就进入并且继续单步执行shift+F8:Step Out 跳出F7进入函数内后,shift+F8就可以执行完子函数余下部分,并返回到上一层函数F9.原创 2020-08-12 18:40:48 · 648 阅读 · 0 评论 -
Git源代码管理
一. 简介Git 是分布式管理.服务器和客户端都有版本控制能力,都能进行代码的提交、合并、…Git会在根目录下创建一个.git隐藏文件夹,作为本地代码仓库工作区对于添加、修改、删除文件的操作,都发生在工作区中(红色文件)暂存区暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分 (绿色)在暂存区的版本一旦提交就再也没有了仓库区仓库区表示个人开发的一个小阶段的完成仓库区中记录的各版本是可以查看并回退的二. Git单人本地仓库操作在桌面创建test文件夹,表原创 2020-07-18 23:04:33 · 448 阅读 · 0 评论