LiJiaHao' Blog

计算机爱好者的世界

谈谈我认识的HTTPS

本文将通俗易懂地介绍HTTPS的通信过程和工作原理

如今网络安全性越来越受到重视,普通的HTTP传输已经不能满足严格的信息安全需求,越来越多的用户选择使用HTTPS,那么HTTPS是什么?HTTPS为什么比HTTP安全?HTTPS传输的过程发生了什么?本文将从个人的理解角度努力去给予解答。 HTTP和HTTPS HTTP是作为OSI应用层中的协议,当传输信息时,是明文传输的,那么就很容易发生安全问题,任何第三方介入发送端和接收端(俗称中间...

jsonp和代理服务器方案解决跨域

本文将从实践角度介绍如何使用jsonp和代理服务器方案解决跨域问题

浏览器为了保护用户安全,引入了同源策略,即一个服务器页面无法访问另一个协议、域名、端口不同的服务器数据。当页面需要跨服务器访问另一个服务器的数据时,即产生跨域行为。以豆瓣的公开API(https://api.douban.com/v2/book/1220562)为例,当前我的服务器处于http://127.0.0.1:5000下,豆瓣的服务器很显然跟我的服务器不同源,服务器中的一个页面通过A...

一个移动端下拉刷新组件的开发思路及牵出的知识点

最近项目需要需要在移动端做一个下拉刷新组件,其中涉及到移动端手势操作和触摸结束回调操作,手势操作之前没有怎么接触过,因此也就顺带研究了下移动端touchstart、touchmove和touchend这几个事件,同时因为把下拉刷新封装成一个组件,在父组件回调函数的事件如何传回下拉组件也有一个比较新的思路,觉得有必要记录一下。 移动端触摸事件 移动端触摸事件的核心即touch事件,touc...

前端MVXX框架概述

本文学习了解前端MVC、MVP和MVVM框架的构成以及区别

接触过软件开发应该都会听说过MVXX架构模式,最初的MVC架构当时是为了分离关注点来改进代码而抽象出来的组织方式,如今开发web app以及十分普遍,许多软件开发的思想也应用在web前端开发上,为了便捷开发以及开发出可以更加容易维护且体验更好的web app,web前端也诞生了许多MVC、MVP和MVVM等一系列的架构模式,那么如何区分这些MVXX架构,他们的共同点和不同点在哪?本文将从前端...

浏览器渲染CSS背后发生的事

本文将简单介绍浏览器如何渲染CSS,并介绍CSS引擎背后的工作原理

CSS是Cascading Style Sheets(层叠样式表)的简称,是一种用来为结构化文档(如HTML文档或XML应用)添加样式(字体、间距和颜色等)的计算机语言。了解过CSS或写过CSS的都知道,CSS非常容易上手,只要知道你需要渲染的HTML标签元素,就可以通过element { propety: style }的形式给元素增加样式,那么浏览器是如何识别各类CSS样式,如何将样式应...

WSGI协议的原理及实现

本文将介绍WSGI协议的原理,并亲自实现一个符合协议规范的WSGI server

WSGI,是Python Web Server Gateway Interface的简称,是web底层跟application解耦的协议,我们的web服务器使用WSGI协议来调用application称为WSGI server。为了各类web server和web application之间能够相互兼容,常见的web server(如Nginx,Apache)无法与web applicati...

使用Python获取页面图片信息并下载图片

近期个人需要在一些网页上获取图片,因一张张图片保存实在麻烦,研究了下使用Python自动化获取并下载图片,以下是研究历程: 获取HTML源代码 import urllib import urllib2 header = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit...

ssh连接树莓派以及使用VNC进行远程连接

最近入手了个Raspberry 3b,用以研究服务器搭建和平时一些小玩意,这里简单记录下快速上手的一些操作。 系统安装 从Raspberry官网下载Raspbian,注意下载的时候有两个版本,一个是带图形界面的系统镜像,另一个是不带图形界面的镜像,后者比前者要小的多,按需下载,下载镜像后使用镜像烧录工具将系统镜像烧录到TF卡中,推荐使用win32diskimager进行烧录,烧录ok后可...

Vue.js自定义指令开发笔记

本文将对如何在Vue.js 1.0及2.0上进行自定义指令开发进行介绍

Vue.js指令在官方文档中描述比较简单,对Vue.js指令不太了解的话如果需要写一个自定义指令往往不知道从何下手,最近跟着项目从Vue.js 1.0升级至2.0,之间也开发了几个1.0和2.0的自定义指令,对自定义指令开发有了粗浅的认识,本文将以一个具体的表单验证指令来学习如何开发一个自定义指令,同时了解vue.js 1.0和2.0的自定义指令的差异。 指令需求明确 本文将以一个具体的...

JSON Web Token概述

本文将介绍在前后端架构环境下使用token机制防御CSRF攻击,了解JSON Web Token的构成。

概述 在前后端分离架构环境下,后端服务器以API接口的形式向前端提供服务,按照RESTful API的设计规范,后端数据API应该是无状态的(stateless),这也就意味着没有登录、注销方法,也没有session,同样的,后端API也不能依赖cookie,因为依赖cookie将不能保证每次request是由用户自己发出的,也就有CSRF的风险,因此针对某些隐秘内容的API,需要进行用户...