0%

(一)HTTP 简介

HTTP(Hyper Text Transfer Protocol,超文本传输协议)是用于从万维网(WWW,World Wide Web)服务器传输超文本到本地浏览器的传送协议。HTTP 基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等)。

HTTP 是一个属于应用层的面向对象的协议,由于其简洁快速的方式,适用于分布式超媒体信息系统。HTTP 协议工作于客户端 - 服务端架构上。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求,Web 服务器根据接收到的请求向客户端发送响应信息。

阅读全文 »

这里先阐述一些前置概念。

  • Authentication:身份鉴别,以下简称认证
  • Authorisation:授权
  • Authorization Server / Identity Provider(IdP):认证服务器
  • Service Provider(SP) / Resource Server:业务服务器,负责提供资源(API 调用)

认证的作用在于认可你有权限访问系统,用于鉴别访问者是否是合法用户;而授权用于决定你有访问哪些资源的权限。大多数人站在用户的立场上不会区分这两者的区别。而作为系统的设计者来说,这两者是有差别的,分属于不同的工作职责,我们可以只需要认证功能,而不需要授权功能,甚至不需要自己实现认证功能,而借助 Google 的认证系统,即用户可以用 Google 的账号进行登陆。

阅读全文 »

垃圾回收机制是由引擎来负责的。JS 引擎有很多种(各个浏览器都不同),其垃圾回收机制在一些细节及优化上也略有不同。本文以一些通用的回收算法作为切入,再由市场占有率大的 V8 引擎发展至今对该机制的优化为例。JavaScript 是门魅力无限的语言,关于它的 GC(垃圾回收)方面,你了解多少呢?想来大部分人是因为面试才去看一些面试题从而了解的垃圾回收,那在正式开始之前,给大家列几个小问题,大家可以先想一下答案,带着问题及答案再去看文章。

  • 什么是垃圾回收机制?
  • 垃圾是怎样产生的?
  • 为什么要进行垃圾回收?
  • 垃圾回收是怎样进行的?
  • V8 引擎对垃圾回收进行了哪些优化?
    阅读全文 »

只是用户看到仅仅只是浏览器本身,却很少能看到浏览器最核心的部分—浏览器内核。从第一款 libwww(Library WorldWideWeb)浏览器发展至今已经经历了无数竞争与淘汰了。现在国内常见的浏览器有:IE、Firefox、QQ 浏览器、Safari、Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360 浏览器、UC 浏览器、遨游浏览器、世界之窗浏览器等。但目前最为主流浏览器有五大款,分别是 IE、Firefox、Google Chrome、Safari、Opera。

阅读全文 »

AJAX 技术使开发者能够专注于互联网中数据的传输,而不再拘泥于数据传输的载体。通过它,我们获取数据的方式变得更加灵活,可控和优雅。但 AJAX 技术并不是一把万能钥匙,互联网中的数据隐私和数据安全(例如银行账号和密码)非常重要,为了保护用户数据的隐私与安全,浏览器使用同源策略限制了 AJAX 技术获取数据的范围和能力。但有时我们不得不想办法绕过同源策略,实现跨域请求资源。因此跨域技术一直成为开发者们经久不衰的讨论话题。

阅读全文 »

1. PWA 概述

PWA(Progressive Web Application,渐进式网页应用) 不是特指某一项技术,而是应用了多项技术的 Web App。其核心技术包括 App ManifestService WorkerWeb Push等。自 2015 年以来,PWA 相关的技术不断升级优化,在用户体验和用户留存两方面都提供了非常好的解决方案。PWA 可以将 WebApp 各自的优势融合在一起:渐进式、可响应、可离线、实现类似 App 的交互、即时更新、安全、可以被搜索引擎检索、可推送、可安装、可链接。

阅读全文 »

一、通过 URL 传递

1. 传递基本类型

1
2
3
4
5
6
7
8
9
10
11
12
13
// 在起始页面 prev.vue 跳转到 next.vue 页面并传递参数
uni.navigateTo({
url: 'pages/next?id=1&name=uniapp'
});

// 在 next.vue 页面接受参数
export default {
onLoad: function (option) { // option 为 object 类型,会序列化上个页面传递的参数
console.log(option.id); // 打印出上个页面传递的参数。
console.log(option.name); // 打印出上个页面传递的参数。
}
}

阅读全文 »

第一次接触 uniapp 项目,同时也是第一次开发 APP,难免会碰到很多问题。发现并解决问题的过程略有艰辛但又带点成就感。在此简要记录所遇到的一些问题和相应解决方案,与君共勉。

阅读全文 »