计算机网络

2021年5月31日

1、IP地址分为四个断:xxx.xxx.xxx.xxx,每个段0~255,每个段都是由8个0、1组成。

2、IP地址的分类:将一个IP地址分为两个部分:网络ID,主机ID,

    A类:0.0.0.0~123.255.255.255(一个网络能有1600+万台)

    B类:18.0.0.0~191.255.255.255(172.16.0.0~172.31.255.255)

    C类:192.0.0.0~223.255.255.255

    D类:(多播地址)

    E类:

3、当向游览器地址栏中输入一个url按回车之后,网络中都会发生什么:

    比如输入的是123.xyz

    看游览器的缓存;

    本机的host

    C:windows/system23/drivers/stc/host

    127.0.0.1 localhost(127.0.0.1是自己的本机)

    家里的路由

    上级路由、城市的DNS服务器

    继续向上级的DNS服务器找。

    gDns服务器。

4、五层网络模型:(1)应用层:HTTP协议、DNS协议(2)运输层:TCP协议、UDP协议(3)网络层:IP地址--IP协议(4)数据链路层(5)物理层

5、http协议分为两个部分:(1)请求Request:请求方式(get/post)、路径、协议版本(2)相应:Response

2021年6月1日

1、HTTP协议:请求:Request(请求头、数据体)。相应:Response

2、请求方式uel协议GET/POST -- HEAD,PUT,DELETE

3、http底层源码格式:GET /path?a=1&b=2 HTTP1.1

4、host:www.baidu.com

5、get请求方式最大的特点,请求参数都在url里;发送文件需要用到post方法

6、响应:Response,响应头。数据体,协议版本 状态码 message ,属性:值

7、Get和Post请求有什么区别

    (1)是基于什么前提的?如果什么前提都没有,不适用任何规范,只考虑语法和理论上的HTTP协议。GET和POST几乎没有什么区别,只是名字不一样。

    (2)如果是基于RFC规范的。1>理论上的:GET和POST具有相同语法的,但有不同的语义。get是用来获取数据的,post是用来发送数据的,其他没有区别。2>实现上的(Implementation):各种游览器,就是这个规范的实现者。常见的那些不同:

        a.GET数据在URL是可见的。POST请求不显示在URL中。

        b.GET对长度是有限制的,POST长度是无限制的。

        C.GET请求的数据可以收藏为书签,post请求到的数据不可收藏为书签。

        d.GET请求后,按后退钮、刷新按钮无影响,post数据会被重新提交。

        e.GET编码类型:application/x-www-form-url,post的编码类型:有很多种。encodeapplication/x-www-form-urllencoded    multipart/form-data  

        f.GET历史参数会被保存在游览器中,post不会被保存咋游览器中的。

        g.GET只允许ASCLL,post没有编码限制,允许发二进制的。

        h.GET与POST相比,GET安全性较差,因为所发的数据是URL的一部分。

2021年6月2日

1、Cookie与Session

    (1)如果我们用JS的变量来存数据,那么在页面关闭的时候,数据就消失了。

    (2)保持登录状态是怎么做到的呢?按照正常的HTTP协议来说,是做不到的。因为HTTP协议,上下文无关协议。

    (3)所以说前端页面上,有可以持久化储存数据的东西。一旦登录成功,我就记载在里面。Cookie是有限制的。Cookie是存在游览器里面的,不是存在在某个页面上的。是可以长期储存的。Cookie即使是保存在游览器里,也是存放在不同的域名下的。

2、Cookie的信息是存在游览器上的,Session是存在服务器上的,相对来说Cookie的信息不安全(可以复制走),但是在用户量很大的时候Session会使服务器耗费资源

3、数据储存在Session上的缺点,如果用户量非常大,上亿用户。在用户量很大的时候,服务器端很耗资源的。因为后端可能不止一台服务器,用户登录信息,一般只存在一台服务器上。因为用户的登录操作,在哪台机器上执行的,就一般存在哪台机器上。需要通过反向代理。(轮询,IP哈希。)

4、B/S结构:Browser/Server -- Browser只负责内容展示,Server负责提供内容。

5、C/S结构:Browser/Server -- Client只负责内容的展示,Server负责提供内容。

6、index.html:页面的本质是什么?页面的本质就是一个字符串。带有HTML格式的字符串。

7、游览器向服务器请求的一个页面的本质是什么?

    (1)www.baidu.com

    (2)服务器接收到这个请求后,服务器想要把这个页面的内容(HTML格式的字符串)返回给游览器。

    (3)页面的字符串存在哪里呢?存在HTML文件里。例如:index.html:页面的本质是什么?页面的本质就是一个字符串。带有HTML格式的字符串。

    (4)服务器端要读取文件。

    (5)将读取出来的内容返回给游览器。

    (6)最后返回的是一个字符串,这个字符串的来源可能是文件,可能是缓存,可能来自数据库。

2021年6月6日

一、网络请求的方式:

    1、游览器中手动输入(无法用代码控制)

    2、发出网络请求loaction.href但是页面会发生跳转(页面会跳转)

    3、发送请求的另一种方法带有src属性的标签.请求是可以发出的,服务器是可以处理的也是可以返回,但是返回之后能否被使用,要看游览器.(页面不跳转,但无法处理返回结果)

    4、发送请求的另一种方法带有href属性的标签.请求是可以发出的,服务器是可以处理的也是可以返回,但是返回之后能否被使用,要看游览器.(页面不跳转,但是无法处理返回结果)

    5、带有action属性的标签,如form表单,也可以向后端发出请求。但是form表单发出请求之后页面会跳转(页面会跳转)

    //希望有一种方式,可以用代码控制,页面不会跳转,服务器返回的结构我们可以用js继续处理

    6、Ajax

二、网络请求的要素

    1、请求方式,get/post

    2、url

    使用方法

    var xhr = XMLHttpRequest();

    xhr.open("get",+"请求地址");

    xhr.send();

三、跨域访问资源

    1、哪些东西属于资源:js文件(但是js文件是允许被跨域请求的。css文件,jpg,png等。src属性的资源都是可以被跨域请求的。href资源大部分都是可以被跨域请求的。

    2、哪些资源算跨域请求的资源?

        (1)后端接口的数据。

        (2)其他域的cookie

        (3)其他域的缓存

    3、什么是其他的域,怎么算是跨域:

        (1)页面本身:有协议(http/https),域名,端口

        (2)要请求的数据:http://www.baidu.com:80

        (3)协议,域名,端口这三个有任意一个不一样就算跨域。

四、解决跨域问题:

    1、后端(别人家的)配合我们进行跨域。

        pan.baidu.com --> zhidao.baidu.com

        (1)JSONP(正常情况,返回的数据都是JSON格式。JSONP是一种特殊的格式。

        (2)后端设置Access-Control-Allow-Origin属性以支持跨域。

    2、后端不配合我们进行跨域。

        (3)iframe(只能显示不能控制)

        (4)通过后端代理(自己的后端)

五、跨域发生在游览器端,是在游览器接收的时候发生的

六、请求参数:open(发送请求)、send(数据请求完成返回结果)

    1、onreadystatechange:当readystate请求参数发成变化后执行函数:xhr.onreadystatechange = function(){}

    2、readyState == 4 表示请求完成,已经接收到数据

    3、status ==200 网络请求,结果都会有一个状态码。来表示这个请求是否正常

    4、200表示请求成功、http状态码、2**表示请求成功、3**表示重定向、4**表示客户端错误、5**表示服务端错误

    5、xhr.responseText接收传进来的数据

七、将服务器传回的数据返回并且转换为JSON对象

    var data = JSON.parse(xhr.responseText);

八、jsonp格式哪里有特殊

    1、发送的时候会带上一个参数callback

    2、返回的结果不是json

    3、callback的名+( + json + ) ;

九、jsonp跨域,只能使用get方法,如果我们设置的是post方法,jquse会自动转换成get方法。

    jquery会判断是否同源,如果同源,那么设置get就是get,设置post就是post;如果不是同源,无论设置的什么,都是get

十、JSONP原理

    1、判断请求与当前页面的域是否同源,如果同源则发送正常的ajax,就没有跨域的事情了。

    2、如果不同源,生成一个script标签

    3、生成一个随机的callback名字,还得创建一个名为这个的方法

    4、设置script标签的src,设置为要请求接口。

    5、将callback作为参数拼接在后面。

    ==================以上是前端部分================

    6、后端接收到的请求后,开始准备要返回的数据

    7、后端拼接数据,将要返回的数据用callback的值和括号包裹起来

        例如:callback=asd123456,要返回的数据为{'a':1,'b':2},

        就要拼接为:asd123456({"a":1,"b":2});

    ==================以上是后端部分=================

    9、游览器街接收的内容,会当做js代码来执行

    10、从而执行名为asd123456的方法。这样我们就接收到了后端返回给我们的对象

十一、三次握手/四次挥手

    1、tcp是传输层协议中出现的两个概念,特点是:面向连接、传输可靠

    2、CORS的请求类型有哪些:简单的请求和复杂的请求

    (1)简单请求主要有三种方法:HEAD、GET、POST

    (2)请求的HTTP的头部信息不超过以下几种字段:Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type(只限三个值:application/x-www-form-urlencoded、multipart/form-data、text/plain).

    3、jsonp的形式不是真正的ajax请求

2021年6月13日

    1、jsonp形式不是真正的ajax请求,可以用script的src属性直接请求后端的数据,由于src属性不会受同源策略影响,所有不会产生跨域

    2、src只能发生get(url地址栏传参)请求不能发送post请求

    3、method:请求方式后接GET或POST

2021年6月16日

1.cookie不可跨域;cookie存储在游览器里面;cookie的数量和大小的限制(数量在50个,大小在4KB左右);cookie的存储时间非常灵活;cookie不光可以服务器设置,客户端也可以设置

2.前端设置cookiem的方法docment.cookie(可读可写的属性)

3.cookie 的属性

  (1)name cookie的名字,唯一性

  (2)value cookie的值

  (3)domain 设置cookie在哪个域下是有效的

  (4)path cookie的路径

  (5)expires cookie 的过期时间(可选不写就是在游览器关闭及过期)必须是GMT格式的日期()

  (6)max-age cookie的有效期,有三种值-1临时的值、0有效期已经到了、正数:存活的时间

  (7)HttpOnly 有这个标记的cookie,前端无法获取

  (8)Secure 设置cookie只能通过HTTPS协议传输

  (9)SameSite 设置cookie在跨域请求的时候不能被发送

2021年6月18日

1.set方法是设置cookie;remove移出cookie;get获取cookie

2021年6月19日

1.web 本地化存储web storage :(1)localStorage(2) sessionStroage:会话级别的存储,存储的数据在本次会话有用,会话结束就失效,只在本界面有用

2.localStorage的方法:

  (1)length本地存储数据的数量

  (2)key()通过索引找到本地存储的数据

  (3)getItem()通过键名获取本地存储的数据

  (4)setItem()设置一个本地存储的数据

  (5)removeItem()删除一个本地存储数据

  (6)clear()清除本地存储数据

3.对象的属性名集合,可以使用keys(对象名)将对象的属性名以数组的方式打印出来

4.map()方法能输出以对象为属性名的对象集合,map.get(属性名)就是能输出属性值,用map方法可以是使用任意数当做对象的属性名,但是对象本省只能使用字符串当做属性名

5.Symbol符号,作用就是表示一个独一无二的值,Symbol所创建的数字都是独一无二的,定义在对象内部的Symbol属性不能在对象以外进行调用

6.es2015中遍历数据的方法:for(const i of 数据)

2021年8月11日

1.<header>:头部标签;<nav>:导航标签;<main>主体标签;<article>:独立的内容标签;<section>:区段标签;<aside>侧边栏标签;<footer>:尾部标签;

2.音频标签<audio src ="文件地址" controls="controls"></audio>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值