随笔分类 -  Web

python 使用 grpc
摘要:1、编辑 proto 文件 syntax = "proto3"; package proto; service GeekAuth { // 获取目标权限树 rpc Tree(TreeReq) returns (TreeRsp){}; } // 获取目标权限树 请求参数 message TreeReq 阅读全文
posted @ 2020-08-19 17:14 lin-gooo 阅读(314) 评论(0) 推荐(0)
python3.7 安装 uwsgi
摘要:一、报错内容 二、解决方案 将 pip install uwsgi 更换为 sudo pip install uwsgi 执行 参考链接1:apt-get下载 python-dev,yum下载python-devel 阅读全文
posted @ 2020-04-11 17:05 lin-gooo 阅读(2208) 评论(0) 推荐(0)
go - 限流器
摘要:一、项目架构图 二、现有问题 register接口接收大量的SDK请求,但并未对请求的并发数进行控制,导致服务无法拥有足够的内存,从而频繁被系统 Kill。 三、解决方案 consul中启用健康检查,让节点内存、CPU资源紧张时能“休息一下” register里面根据节点内存剩余量做过载保护,并将过 阅读全文
posted @ 2020-03-07 14:33 lin-gooo 阅读(627) 评论(0) 推荐(0)
tornado处理跨域问题
摘要:class MiddlewareHandler(RequestHandler): def set_default_headers(self): # print("setting headers!!!") self.set_header("Access-Control-Allow-Origin", " 阅读全文
posted @ 2019-09-07 09:24 lin-gooo 阅读(2593) 评论(0) 推荐(0)
项目架构&架构部署&网站分析&网站优化
摘要:一、架构演变 一个项目至少由三层内容组成:web访问层、数据库层、存储层 初级阶段 单体阶段 常见场景:项目初期 部署特点:所有应用服务都在一台主机 应用特点:开发简单 应用/数据分离阶段 常见场景:项目初期,用户访问数据库有压力 部署特点:应用和数据库单独部署 应用特点:开发简单 页面动静分离阶段 阅读全文
posted @ 2019-05-06 21:36 lin-gooo 阅读(643) 评论(0) 推荐(0)
数据库之间的区别
摘要:MySQL&Redis MySQL属于关系型数据库,其数据存储在磁盘当中进行持久化存储,检索时涉及到一定的IO操作,数据访问较慢;Redis属于非关系型数据库,其数据存储于内存当中,亦可使用RDB、AOF方式进行持久化存储,数据访问效率高。 表设计方面,MySQL需要事先进行设计表结构、表字段等;R 阅读全文
posted @ 2019-04-18 22:45 lin-gooo 阅读(688) 评论(0) 推荐(0)
ajax跨域-CORS
摘要:CORS:跨域资源共享,是一种跨域访问的W3C标准,它允许浏览器可以跨源服务器进行请求,可以让ajax实现跨域访问。出现跨域问题的原因是浏览器同源策略导致的,协议+域名+端口三者一致被认为是同源。网站出现同源策略问题,即:出现了未经允许的跨域请求。 同源策略下的限制: 无法获取非同源的Cookie、 阅读全文
posted @ 2019-04-17 13:32 lin-gooo 阅读(209) 评论(0) 推荐(0)
TCP
摘要:TCP/IP协议族 TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负责不同的通信功能。包含以下四个层次: 1. 链路层,也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。 2. 网络层,也称 阅读全文
posted @ 2019-04-14 14:21 lin-gooo 阅读(249) 评论(0) 推荐(0)
页面静态化
摘要:静态化概念:将页面内需要用到的数据从数据库中查询出来,然后生成一个静态的HTML页面,比如首页。用户来访问时直接返回静态页面即可。 静态化原因: 随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,此时往往需要对网站进行代码优化和服务器 阅读全文
posted @ 2019-04-12 11:02 lin-gooo 阅读(733) 评论(0) 推荐(0)
XSS跨站脚本攻击
摘要:基本概念&原理 XSS(又称CSS)攻击是一种经常出现在web应用中的计算机安全漏洞,恶意攻击者往Web应用页面里插入恶意html代码,当用户浏览该页面时,嵌入在Web里面的html代码会被执行,从而达到恶意用户的特殊目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。 XSS攻击类似 阅读全文
posted @ 2019-04-10 08:28 lin-gooo 阅读(1068) 评论(0) 推荐(0)
CSRF跨站请求伪造
摘要:一、基本概念&原理 CSRF: 跨站请求伪造(XSRF), 攻击者通过一些技术手段欺骗用户的浏览器去访问一个,自己曾经认证过的网站并运行一些操作(例如:以用户名义发送邮件、发送消息、甚至财产操作转账和购买商品等)。由于浏览器曾经对这个网站认证过,所以被访问的网站会认为是用户自己在操作而去运行。简单的 阅读全文
posted @ 2019-03-28 23:22 lin-gooo 阅读(207) 评论(0) 推荐(0)
HTTP
摘要:HTTP 的特性 HTTP 超文本传输协议,构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80 HTTP 是无连接无状态的 请求报文 HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。把 HTTP 请求分为三个部分:状态行、请求头、请求主体。 HT 阅读全文
posted @ 2019-03-24 21:58 lin-gooo 阅读(308) 评论(0) 推荐(0)
消息队列&Celery&RabbitMQ&zeromq
摘要:一、消息队列 什么是消息队列? “消息队列”是在消息的传输过程中保存消息的容器。 “消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器是消息从它的源传输到它 阅读全文
posted @ 2019-03-24 12:18 lin-gooo 阅读(1286) 评论(1) 推荐(0)
Django&Flask区别
摘要:Flask Flask 本身只有一个内核,几乎所有的功能都需要用第三方的扩展来实现。 Flask 没有默认使用的数据库,默认依赖两个外部库:Jinja2 模板引擎和 WSGI 工具箱(采用的时 Werkzeug 路由模块) Flask 自由、灵活,可扩展性强,第三方库的选择面广,开发者可以根据需求结 阅读全文
posted @ 2019-03-21 23:16 lin-gooo 阅读(294) 评论(0) 推荐(0)
Nginx
摘要:一、 Nginx 基础 Nginx优势 1.支持高并发请求,官方测试Nginx能够支撑5万并发连接,实际生产环境中可以支撑2~4万并发连接数。主要是Nginx使用了最新的epoll(Linux2.6内核)和kqueue(freeBSD)网路I/O模型,而Apache使用的是传统的Select模型,A 阅读全文
posted @ 2019-03-21 22:12 lin-gooo 阅读(261) 评论(0) 推荐(0)
JWT
摘要:一、JWT的构成 是一种基于JSON的、用于在网络上声明某种主张的令牌(token)。由三部分构成,第一部分:头部(header) 第二部分:载荷(payload) 第三部分:签证(signature). header:jwt的头部承载两部分信息 声明token类型,这里是jwt 声明生成签名所使用 阅读全文
posted @ 2019-03-21 19:47 lin-gooo 阅读(210) 评论(0) 推荐(0)
TCP三次握手&四次挥手
摘要:三次握手 含义 : 建立一个TCP连接时,需要客户端和服务器总共发送3个包 目的 : 让客户端连接到服务器的指定端口,建立起TCP连接,同步连接双方的序列号和确认号,并交换 TCP 窗口大小信息,当客户端执行connect()时将触发三次握手。 第一次握手 : 客户端发送 : SYN=1 代表是一个 阅读全文
posted @ 2019-03-21 08:12 lin-gooo 阅读(191) 评论(0) 推荐(0)
HTTP状态码
摘要:状态码-总汇 2开头 (请求成功)表示成功处理了请求的状态代码。 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请 阅读全文
posted @ 2019-03-02 07:43 lin-gooo 阅读(437) 评论(0) 推荐(0)