自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 第九章 ---- 基于 HTTP 的功能追加协议

待更新!!!

2020-09-27 09:06:40 120

原创 第八章 ----- 确认访问用户身份的认证

某些 Web 页面只想让特定的人浏览,或者干脆仅本人可见。为达到这一目标,必不可少的就是认证功能。下面我们一起来学习学习一下认证机制。8.1、何为认证计算机本身无法判断坐在显示器前的使用者的身份。进一步说,也无法确认网络的那头究竟有谁。可见,为了弄清楚究竟是谁在访问服务器,就得让对方的客户端自报家门。可是,就算正在访问服务器的对方声称自己是 user,身份是否属实这点却也无从谈起。为确认 user 本人是否真的具有访问系统的权限,就需要核对 “登陆者本人才知道的信息”、“登陆者本人才会有的信息”。核对

2020-08-10 09:02:31 483

原创 第七章----确保 Web 安全的 HTTPS

在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题。使用 HTTPS 通信机制可以有效的防止这些问题。本章我们就了解一下 HTTPS 。7.1、HTTP 的缺点到现在为止,我们已了解到 HTTP 具有相当优秀和方便的一面,然而 HTTP 并非只有好的一面,事物皆具有两面性,它也是有很多不足之处的。HTTP 主要有这些不足,举例如下。这些问题不仅在 HTTP 上出现,其他未加密的协议中也会存在这类问题。除此之外,HTTP 本身还有很多缺点。而且,还有像某些特定的 Web 服务器和特定的 W

2020-07-22 08:53:51 862

原创 第六章-----HTTP 首部

HTTP 协议的请求和响应报文中必定包含 HTTP 首部,只是我们平时在使用 Web 的过程中感受不到它。本章我们一起来学习 HTTP 首部的结构,以及首部中各字段的用法。6.1、HTTP 报文首部HTTP 协议的请求和响应报文中必定包含 HTTP 首部。首部内容为客户端和服务端分别处理请求和响应提供所需要的信息。对于客户端用户来说,这些信息中的大部分内容都无须亲自查看。HTTP 请求报文在请求中,HTTP 报文由方法、URI、HTTP 版本、HTTP 首部字段等部分构成。下面的示例是访问 h

2020-06-18 08:53:13 688

原创 第五章----与 HTTP 协作的 Web 服务器

一台 web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率。5.1、用单台虚拟机主机实现多个域名HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。比如,提供 Web 托管服务(Web Hosting Service)的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不同的网站。这是因为利用了虚拟主机(Virtual Host,又称虚拟服务器)的功能。客户端使用 HTTP 协议访问服务器时,会经常采用类似 www.

2020-06-11 09:07:20 182

原创 第四章----返回结果的 HTTP状态码

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务端的处理是否正常、通知出现的错误等工作。让我们通过本章的学习,好好了解一下状态码的工作机制。4.1、状态码告知从服务器返回的请求结果状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器是正常处理了请求,还是出现了错误。状态码如 200 OK,以 3 位数和原因短语组成。数字中的第一位指定了响应类别,后两位无分类。响应类别有一下 5 种。4.2、2XX 成功2XX 的响应结果表明请求被正

2020-06-09 08:51:04 368

原创 第三章----HTTP 报文内的 HTTP 信息

HTTP 通信过程包括从客户端发往服务端的请求及从服务端返回客户端的响应。本章就让我们来了解下请求和响应是怎样运作的。3.1、HTTP 报文用于 http 协议交互的信息称为 http 报文。请求端的 http 报文称为请求报文,响应端的报文称为响应报文。http 报文本身是由多行(报文首部与报文主体使用 CR + LF 作为换行符)数据构成的字符串文本。但是,通常不一定会存在报文主体。3.2、请求报文及响应报文结构我们来看下请求报文和响应报文结构。请求报文和响应报文的首部内容由以下数据组成

2020-06-05 08:55:26 283

原创 第二章----简单的 HTTP 协议

本章将针对 HTTP 协议结构进行讲解,主要使用 HTTP/1.1 版本。学完这章,想必大家就能理解 HTTP 协议的基础了。2.1、HTTP 协议用于客户端和服务端之间的通信HTTP 协议和 TCP/IP 协议族中众多的协议相同,用于客户端和服务器端互相通信。请求访问资源或则图片等一方叫做客户端,而提供资源的一方叫做服务器端。2.2、通过请求和响应交换的方式达成通信HTTP 协议规定,请求从客户端发出,最后服务端响应该请求并返回结果。请求报文组成结构请求报文是由请求方法、请求 URI、协议

2020-06-03 08:48:40 242

原创 号外号外!!!---- TCP/UDP 浅析与区别

传输层中协议在传输层是利用两种协议来接受应用层数据并进行传输,这两种协议有着迥然不同的作用与特点。一种是传输控制协议 TCP,另外一种是 数据报文协议 UDP。TCP 协议当两台计算机相互通信时,为了确保数据的完整可靠性。例如:我们在查看一个网页的时候不会缺少某个部分或则内容不会乱序等。我们就需要使用 TCP 协议来确保数据的完整可靠性。一、TCP 连接建立TCP 连接建立也称三次握手,如图:第一次握手:客户端会生成一个随机的序列号 SYN ,并发送给服务端,请求发送完后,客户端便进入了 S

2020-05-25 21:51:27 177

原创 号外号外!!!----浏览器渲染原理

1.1、进程和线程进程CPU 资源分配的最小单位(是用于资源和独立运行的最下单位)。线程CPU 调度的最小的单位(是建立在进程基础上的一次程序运行单位)。也就是说,对于操作系统而言,一个任务就是一个进程,比如打开一个浏览器就是启动了一个浏览器进程。例如如下:与此同时,一个进程可能同时不止做一件事。比如我们打开百度网盘,我们可以在下载文件的同时上传文件,这些事情就是由一个个的线程操作着。稍微形象点说,进程就好像是个工厂,工厂里面的工人好比线程,工厂里面里面可以拥有 1~n 个工人,每个工人负责某

2020-05-19 15:52:14 391

原创 第一章----了解web及网络基础

1.1、使用 http 协议访问 Web

2020-05-14 22:35:39 169

原创 事件循环

1、什么是同步函数,什么是异步函数?其实函数本身没有什么同步异步的区别,它只不过是一个包裹了一些语句或则另外一个函数的容器。真正区别它是否是异步函数,则是看它的执行触发条件是否是异步操作。比如,我们定义一个 function test() {};并且在 js 代码中的某个位置上对它进行调用 test(),因为它的执行触发条件是在 js 中同步执行的,因此它是个同步函数;另外当我们对某个 dom 元素绑定点击事件 onclick='test',因为它的执行触发条件是在 js 中异步执行的,因此它是个异步函数

2020-05-08 18:27:33 160

原创 字节跳动 ---- (一面)

第一题:Array中,使用reduce实现map第一步:我们应该利用Array原生对象得prototype在原生对象Array上重写mapArray.prototype.map = callBack第二步:我们要开始写callBack回调函数 const callBack = () => { console.log('this', this) } Array.prototy...

2020-02-18 23:44:08 757

原创 git基本命令行 系统整理(二) 之 代码仓库

一、建立本地代码库在本地创建代码库存在两种方式,一种是本地初始化版本库,另外一种是克隆远程代码库。1、本地初始化版本库命令行:git init(初始化版本库);ls -ah(查看一级子目录);只需要在所需文件夹的cmd环境中输入命令行git init,这样一个本地版本代码库就建好了。在里面会生成一个git文件,并且这个目录文件是用来跟踪管理版本库的,千万别动,不然版本库就被破坏了。默认gi...

2020-02-14 21:13:50 270

原创 git基本命令行 系统整理(一) 之 Git简介

一、Git的诞生Linus花费两周使用C语言开发的一个分布式版本管理系统,最初用于Linux社区的代码管理。二、集中式vs分布式1、集中式特性(如SVN)集中式版本管理系统,是由一台集中中央版本管理的服务器,管理这每个不同的版本。而其他电脑则是客户端,工作开始,客户端必需从中央服务器上拉取所需项目最新版本,修改完成再提交到中央服务器。就好像中央服务器是个图书馆,里面不同项目的不同版本都是一...

2020-02-14 18:05:57 152

原创 工作杂谈二(基于Vue项目)

一、关于vue中的$mount方法用于手动将项目APP挂载到一个DOM实例上,这样就可以不用在new Vue中声明el选项;情况一:传统使用el声明挂载DOMnew Vue({ el: '#app', render: h => h(App),})情况二:使用.$mount()方法// 建议使用此方法理由:因为在Elint中上述前者表达是并不符合规范的,而后者则是符合规范...

2020-02-10 22:00:29 132

原创 工作杂谈一(基于Vue项目)

一、关于vue中style标签中的lang及scoped属性lang属性 :标志此style是原生的css还是css预语言(比如,less,scss等)scoped属性:标志此style是否为全局样式(也就是说若加上此属性,当编译到浏览器后,会给每个样式对应的元素添加一个唯一标志的属性data-v-xxx,并且css选择器上会加上属性选择)例如:...

2020-02-09 11:48:20 276

原创 第十六章----HTML5脚本编程

一、跨文档消息传递二、原生拖放1)、拖放事件2)、自定义放置目标3)、dataTransfer对象4)、dropEffect和effectAllowed5)、draggable属性三、媒体元素1)、属性2)、事件3)、自定义媒体播放器4)、检测编辑解码器的支持情况5)、Audio类型四、历史状态管理...

2019-12-26 23:41:18 125

原创 第十五章----canvas

关于此章节,我主要说说canvas的基本用法,及相关的函数式多点随机渲染。(至于WebGL则是另外一种特殊的技术栈了)一、绘制矩形描边矩形:ctx.strokeRect()填充矩形:ctx.fillRect()二、绘制图形以下步骤是较为严格的基本绘制图形路径步骤第一步、获取2D上下文(拿起我们的画笔)const ctx = canvasNode.getContent('2d')//...

2019-11-22 13:33:19 167

原创 第十三章----事件

事件监听浏览器和用户的动作并执行相对应的事件处理程序,实现了两者的动态异步交互。事件处理程序则是交互瞬间的执行函数。这种在传统软件工程中称之为观察者模式。一、事件流1、事件冒泡事件冒泡就是从绑定事件的元素开始,依次向上层传递事件,直至传递到document对象结束2、事件捕获事件捕获就是从最外层开始触发事件,直至传递到所绑定事件的元素结束3、DOM事件流首先得说明一点,DOM事件流整...

2019-11-18 15:18:59 135

原创 Vue双向绑定原理及实现

Vue的双向绑定原理鄙人认为就是给数据赋能------(自我检测能力)HTML代码结构<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-s...

2019-11-17 12:46:27 153

原创 gitHub首次上传项目记录

之前在项目中使用git一般是使用小乌龟,所以对相关的git操作命令不太熟悉。今天打算在自己的gitHub中建个仓库,存存自己封装的些小demo,感受过程记录于此。首先假设你有了gitHub账号并且建立了自己的一个git仓库。ok,现在我们就来看看怎么将自己本地代码传到自己的git仓库中。第一步(初始化git环境)在你相关的项目目录中,你可以通过在相应的目录cmd进入终端操作界面,或则通过c...

2019-11-16 17:22:54 138

原创 数据存储

数据存储的产生是因为期待有种机制能够在用户的机器上储存用户特殊的相关信息,比如:用户登录信息,用户偏好设定等其他特有的数据。其主要储存形式有两大块,一块是cookie(每次请求都会携带,与服务器交互频繁),另一块就是离线储存(Web Storage,只与服务器交互一次,即:获取需储存数据)。一、cookie二、web Storage----客户端存储机制1、Session Storage2...

2019-11-15 16:20:08 189

原创 跨域方法浅谈(真的是浅谈)

一、CORS方法本人浅谈二、JSONP(填充式JSON)发出请求域定义回调函数,响应请求域返回函数执行字符串(即:‘functionName (data)’),并将要发送的数据以参数形式填充入所返回的字符串中。说白了就是XXS攻击(js代码恶意植入)可执行原因借助了<script>标签src资源不受同源策略限制的特性。在此,还有如下标签src加载不受同源限制,<link...

2019-11-14 21:54:07 116

原创 CORS跨域浅谈

cors(全程:跨域资源共享cross-origin-resource-shaw)实质就是在服务器后台程序中设置允许不同域发送过来的请求。cors存在两种请求方式,简单请求和非简单请求。一、判断请求是否为跨域请求,当为跨域请求时,判断是否为简单请求或者是非简单请求1、判断是否为跨域请求当我们发送请求时,浏览器会检测我们页面所在域名是否与请求链接所在域名为同一域名。若校验为同源,则直接发送请...

2019-11-14 16:56:10 294

原创 第十、十一章

链接:思维导图提取码:3ybq

2019-11-13 22:06:07 75

原创 第九章----客户端检测

这一章节主要讲了三大块,浏览器能力检测、浏览器怪癖检测和浏览器类型检测。一、浏览器能力检测这其实是一种很重要的习惯,同时也可以培养自我编程的严谨性。比如,当我们需要做一个事件注册函数时,我们会怎么写?1、未进行浏览器能力检测// 事件注册函数 未进行能力检测const addEvent = function(el, type, handler) { el.addEventListen...

2019-11-08 15:12:09 101

原创 正则一般场景作用

一、将横杆或则下划线命名变量变为驼峰式变量// 将横杆或则下划线命名变量变为驼峰式变量const exe_1 = data => { const reg = /(-|_)\w/g const result = data.replace(reg, targetStr => targetStr.slice(1).toUpperCase()) return result}...

2019-11-04 20:54:18 119

原创 刷题01

不足之处一,http请求头部字段1)、请求头部一般字段Accept:浏览器可接受的内容类型Accept-Chartset:浏览器可接受的字符集【UTF-8、UTF-16、Unicode等】Accept-Encoding:浏览器可接受压缩编码类型Accept-Language:浏览器可接受的语言类型Connection:浏览器与服务器之间的连接类型Cookie:当前页面设置的Cook...

2019-11-03 22:14:05 304

原创 第8章----BOM

相关知识图谱提取码:bi0y

2019-11-02 10:15:14 87

原创 第7章----函数表达式

在这章节,我总结的有四点。函数分类、闭包、this指向和私有变量和函数。一、函数分类关于函数,我们可以通过new字符创建,同时也可以通过字面量创建。但是所创建的各个函数有什么区分呢?又有什么分类呢?1、按照名称分类(注意:只针对函数本身而言)1.1、非匿名函数1.2、匿名函数// 非匿名函数function nonAnonymous() { console.log('我是非匿名函...

2019-10-31 21:36:04 284

原创 第6章----面向对象的程序设计

在此我会主要记录下三大点,属性类型、创建对象模式和继承方式一、属性类型描述了属性的各种特征,可以使用Object.getOwnPropertyDescriptor()/Object.getOwnPropertyDescriptors查看单个属性或则对象所有属性的属性特征。1、数据属性数据属性包含有四个描述其特征的属性configurable:表示能否删除属性或修改属性特性。enumer...

2019-10-30 21:23:17 177

原创 第5章----引用类型

一、Objectobject有两种实现方式,一种是通过new来初始化定义;另外一种是通过简洁的字面量来初始化定义的。1、通过构造函数new性能较字面量慢,因为这涉及到了Object函数的调用,那么函数调用就需要通过原型链寻找开始是否存在这个函数,找到之后又需要为其变量对象开辟空间,函数执行完毕后,又要销毁其执行环境,使其变量对象解除引用。2、通过字面量因为字面量可以立即求值,不需要调用O...

2019-10-29 19:37:50 80

原创 第4章----变量、作用域和内存问题

关于变量、作用域和内存问题,以前零零散散的看别人博文研究过,不过今天自己看到原书,有种醍醐灌顶的感觉,特此记录。一、变量前面也提及过变量存在两大分类,基本数据类型和引用类型(关于具体是那些,我就不在此一一陈述了)。同样也说到过,基本数据类型和引用类型的名称变量(指向堆里面所对应的引用类型值)是储存在栈中的,引用类型的真实值是储存在堆中的。那么为什么前者储存在栈中,后者储存在堆中?首先我们来...

2019-10-25 21:46:02 159

原创 第3章----之操作符

ECMA-262描述了一组用于操作数值的操作符,包括算术操作符、位操作符、关系操作符、相等操作符。适用于很多值,包括数值、布尔、字符串、Undefined、Null、Symbol和对象。一、一元操作符所谓一元操作符就是只能操作一个数值。1、递增 / 递减操作符1.1、前置累加 / 前置累减特点:先操作,再赋值。比如let num1 = 4, num2 = 4console.log(-...

2019-10-24 19:16:58 110

原创 第3章----之语法及数据类型

语法一、区分大小写ECMAScript中的一切(比如:变量名,函数名,操作符)都区分大小写。二、标识符指代的是变量名,函数名、属性名称、参数名称。一般规则有两个。1、第一个字符必须是字母,下划线或则美元符号$,其他字符可以是字母,下划线,美元符号和数字。2、命名一般规定俗成为驼峰式命名(比如:chuJiu)。三、注释1、单行------ //2、多行/** 多行* 注释*...

2019-10-23 17:14:29 206

原创 第2章----在HTML中是使用JavaScript

一、起源历史在当初Netscape公司为了解决JavaScript和HTML之间不会产生冲突,最后决定为Web统一增加脚本支持,从而<script>标签就孕育而生了,最后也被保留在HTML规范内。二、<script>元素1、关于<script>标签,它有六个属性,分别代表着不同的意义1.1、async(可选)表示立即下载该脚本,但不妨碍页面中其他的操作...

2019-10-21 19:30:18 129

原创 第1章----javaScript简介

在今天,也就是2019/10/20 上午11:18这个时刻,我开始了以《javaScript 高级教程 第三版》此书为辅导,对javaScript进行一次系统性学习,在此我会以博客笔记的方式来加强我对此书的理解以及记录下配合个人以往项目经验的某些感悟。一、javaScript简史javaScript诞生于1995年,在当时主要目的是代替由服务器端语言负责的某些输入的验证操作。那个时候,绝大多数...

2019-10-21 14:55:55 164

原创 Module的语法----ES重刷22

关于ES6的模块引入我在这里就简单的说明下首先得说明下一个js文件模块的导出命令export一般只设置一个,如果只有一个就用export default 多个就使用对象封装export { ...args }一、多个参数导出和接收const first = 'first'const second = 'second'const third = 'third'export { fir...

2019-10-19 21:04:09 84

原创 Class的继承----ES6重刷21

关于Class继承方面的记录,我依旧会按照阮老师在ES6书中Class的继承这一章节的目录,将自己的感想记录下来。一、简介先来欣赏下ES5和ES6实现继承的一般方法 // ES5做法【直接操控原型链实现继承,极其不灵活,还易错】 function Mankind() { this.mouse = 'mouse' this.eyes = 'eyes' ...

2019-10-19 19:35:04 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除