学习笔记
大春爱吃胡萝卜
这个作者很懒,什么都没留下…
展开
-
HTTP和HTTPS
《分分钟让你理解HTTPS》以及阮一峰老师的《SSL/TLS协议运行机制的概述》这两篇篇博文写的很好。HTTP协议定义:超文本传输协议(Hyper Text Transfer Protocol)。被用于在浏览器和网站服务器之间传递信息的传输协议。缺点请求信息明文传输没有验证对方身份HTTPS由于HTTP存在上述缺点,因此人们就在HTTP下加入SSL层,就变成了HTTPS,HTT...原创 2020-03-29 19:39:04 · 529 阅读 · 0 评论 -
四次挥手
本文大致上是对三次握手和四次挥手详细这篇文章的复述,文中出现的图片如未特殊说明,也均出自于该文章,本文仅用于个人学习记录,侵删。四次挥手过程第一次挥手客户端向服务端发出连接释放报文段(FIN=1),并停止再发送数据,设置其序列号为seq=u,它等于前面已传过的数据的最后一个字节的序号加1。这时客户端进入FIN-WAIT-1(终止等待1)状态,等待服务端的确认。第二次挥手服务端收到连接释...原创 2020-03-25 21:05:15 · 182 阅读 · 0 评论 -
三次握手
本文大致上是对三次握手和四次挥手详细这篇文章的复述,文中出现的图片如未特殊说明,也均出自于该文章,本文仅用于个人学习记录,侵删。三次握手的目的:建立可靠的通信信道,双方彼此确认互相之间的接收与发送是正常的。第一次握手:客户端(client)什么都不能确认,服务端(server)确认对方发送正常,确认自己接收正常。第二次握手:客户端(client)确认自己发送正常,接收正常,对方发送正常,...原创 2020-03-25 19:45:32 · 181 阅读 · 0 评论 -
浏览器输入URL后发生了什么?
大体上可以分为6步(更新中。。。)DNS域名解析我们在地址栏里面输入的一般是便于人们记忆的域名,类似于www.xxx.com。而计算机网络中则是通过IP地址进行相互之间的通信的。因此我们需要将URL中的域名解析成IP地址才能与远程服务器建立连接,这就是DNS域名解析。DNS域名解析过程:查看浏览器缓存中是否已经有这个域名对应解析过的IP地址。如果有,解析完成;如果没有,进行下一步。查看...原创 2020-03-20 21:14:10 · 332 阅读 · 0 评论 -
JS中用Array.fill() 初始化 二维数组
最近在刷LeetCode,经常就会遇到需要初始化二维数组的情况。由于学术不精,采用new Array().fill([])初始化二位数组,导致了代码无法通过测试用例。本文就是来总结一下得到的教训。Array.fill(value, start, end)我们知道,Array.fill()方法可以替换或填充数组里的值。参数value为替换值,不可缺省。start表示开始替换的位置。end表...原创 2020-03-19 18:50:25 · 4432 阅读 · 2 评论 -
原始值和引用值类型及区别
原始值和引用值类型及区别原始值: 存储在栈中的简单数据段,即他们的值直接存储在变量访问的位置。包括五种原始类型:undefined、null、boolean、number、string。引用值:存储在堆中的对象,即存储在变量处的值是一个指针,只想存储对象的内存处。包括:object、array、function等两者的区别:原始变量及他们的值储存在栈中,当把一个原始变量传递给另一个原始...原创 2020-02-20 20:52:41 · 1766 阅读 · 0 评论 -
原生JS实现AJAX封装
原生JS实现Ajax封装Ajax可大致分为4个步骤创建Ajax对象连接服务器发送请求接收返回的数据并进行处理创建Ajax由于各个浏览器之间的差异(主要是IE),创建Ajax需要考虑浏览器的兼容。IE6中实现如下:var xhr = new ActiveXObject('Microsoft.XMLHttp');其他浏览器中实现如下:var xhr = new XMLHtt...原创 2019-03-19 13:44:46 · 233 阅读 · 1 评论