前端---计算机网络

一、HTTP状态码
看到后面再点这里!

注意事项

开头表示客户端应该继续发送请求

2 开头表示成功的请求

  • 200 表示 OK ,正常返回信息
  • 200 表示 OK ,正常返回信息
  • 202 表示服务器已经接受了请求,但还未处理

3 开头表示重定向

  • 301 表示永久重定向,请求的网页已经永久移动到新位置
  • 302 表示临时重定向
  • 304 表示自从上一次请求以来,页面的内容没有改变过

4 开头表示客户端错误

  • 401 表示服务器无法理解请求的格式
  • 402 表示请求未授权
  • 403 表示禁止访问
  • 404 表示请求的资源不存在,一般是路径写错了

5 开头表示服务器错误

  • 500 表示i最常见的服务器错误
  • 503 表示服务器暂时无法处理请求

二、HTTPS 和HTTP 的区别

一、定义
H TTP : 是一个客户端和服务器请求和答应的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的超文本传输协议
HTTPS:是以安全为目标的 HTPP 通道,即 HTTP下,加入 SSL 层进行加密,其作用是:建立一个信息安全通道,来确保数据的传输,确保网站的真实性
二、区别以及优缺点
1、HTTP 是超文本传输协议,信息是明文传输,HTTPS 协议要比 HTTP 协议安全,HTTPS 是具有安全性的 SSL 加密传输协议,可防止数据在传输过程中不被窃取、改变、确保数据的完整性
2、HTPP协议的默认端口是 80, HTTPS 的默认端口为 443
3、HTTP 的连接很简单,是无状态的,HTTPS 握手阶段比较费时,会使页面加载事件延长 59%,增加10%~20% 的耗电
4、HTTPS 缓存不如 HTTP 高效,会增加数据开销
5、HTTPS 协议需要 ca 证书,费用较高,功能越强大的证书费用越高
6、SSL 证书需要绑定 IP,不能和同一个 IP 上绑定多个域名,IPv4 资源支持不了这种消耗
三、HTTPS 的工作原理
客户端 在使用 HTTPS 与 Web 服务器通信时有以下几个步骤
1、客户端使用 HTTPS URL 访问服务器,则要求 Web 服务器建立 SSL 连接
2、Web 服务器接收到客户端的请求之后,会将网站的证书(证书包括了公钥),传输客户端
3、客户端和 Web 服务器开始协商 SSL连接的安全等级,也就是加密等级
4、客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站
5、Web 服务器通过自己的私钥解密出会话密钥
6、Web 服务器通过会话密钥加密与客户端之间的通信

三、Get 和 Post 的差别

1、get 提交的信息都是明文的 ,post 通过内部来发送,更安全
2、get 的信息要拼接到 url 中,大小受限,一般用来获取信息,post 大小不受限制,常用来提交数据以及上传或下载数据

四、什么是跨域? 怎么解决跨域的问题

1、同源策略:是浏览器的安全策略,协议名、端口号、域名必须完全一致
2、跨域:违背同源策略就会产生跨域
3、解决跨域问题:jsonp、cors、服务器代理

五、浏览器输入 URL 发生了什么?

首先在浏览器中输入 URL
1、 查找缓存:浏览器先查找浏览器缓存->系统缓存->路由缓存中是否有该地址页面,如果没有则进行下一步:
a.浏览器缓存:浏览器会记录 DNS 一段时间,因此只是第一个地方解析DNS 请求
b.操作系统缓存: 如果在浏览器缓存中包含这个记录,则会使用系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存)
c.路由器缓存:如果上述两个步骤均不能成功获取DNS 记录,继续搜索路由器缓存
d.ISP 缓存:若上述均失败,继续向 ISP搜索,
2、DNS 域名解析:浏览器向 DNS 服务器发起请求。解析 URL 中的域名对应的 IP 地址。DNS 服务器是基于 UDP 的,因此会用到 UDP 协议。
3、建立 TCP 连接:解析 IP 地址后,根据 IP 地址和默认 80端口,和服务器建立 TCP连接
4、发起 HTTP请求:浏览器发起读取文件的 HTTP请求,请求 报文作为TCP三次握手的第三次数据发送给服务器
5、服务器响应请求并返回结果:服务器对浏览器请求作出响应,并把对应的 HTML 文件发送给浏览器
6、关闭 TCP 连接:通过四次挥手释放 TCP 连接
7、浏览器渲染: 客户端(浏览器)解析 HTML 内容并渲染出来,浏览器接收到数据包后的解析流程为:
a.构建 DOM树: 词法分析然后 解析成 树DOM, 是由DOM 元素及属性节点组成,树的跟是 Document 对象
b.构建CSS 规则 树:生成CSS规则树(CSS Rule Tree)
c.构建 render树,Web 浏览器将 DOM和CSSOM 结合,并构建出渲染树(render tree)
d.布局(layout):计算出每个节点在屏幕中的位置
e.绘制(Painting):即遍历 render 树,并使用 UI 后端层绘制每个节点

JS引擎执行的过程

JS引擎解析过程:调用JS引擎执行JS代码(JS的解释阶段,预处理阶段,执行阶段生成执行上下文,VO,作用域链、回收机制等等)

  • 创建window对象:window对象也叫全局执行环境,当页面产生时就被创建,所有的全局变量和函数都属于window的属性和方法,而DOM Tree也会映射在window的doucment对象上。当关闭网页或者关闭浏览器时,全局执行环境会被销毁。
  • 加载文件:完成js引擎分析它的语法与词法是否合法,如果合法进入预编译
  • 预编译:在预编译的过程中,浏览器会寻找全局变量声明,把它作为window的属性加入到window对象中,并给变量赋值为’undefined’;寻找全局函数声明,把它作为window的方法加入到window对象中,并将函数体赋值给他(匿名函数是不参与预编译的,因为它是变量)。而变量提升作为不合理的地方在ES6中已经解决了,函数提升还存在。
  • 解释执行:执行到变量就赋值,如果变量没有被定义,也就没有被预编译直接赋值,在ES5非严格模式下这个变量会成为window的一个属性,也就是成为全局变量。string、int这样的值就是直接把值放在变量的存储空间里,object对象就是把指针指向变量的存储空间。函数执行,就将函数的环境推入一个环境的栈中,执行完成后再弹出,控制权交还给之前的环境。JS作用域其实就是这样的执行流机制实现的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值