每天三道前端题(2)

一、HTTP报文结构是怎样的?

对于TCP而言,在传输的时候分为两个部分:TPC头和数据部分。

而HTTP类型,也是header + body的结构,具体而言:

起始行 + 头部 + 空行 + 实体

由于 http 请求报文和响应报文是有一定区别的,因此我们分开介绍。

1、起始行

对于请求报文来说,起始行类似下面这样:

GET/home HTTP/1.1

也就是 方法 + 路径 + http版本

对于响应报文来说 起始行一般长这样:

HTTP/1.1 200 OK

http版本 状态码 原因

在起始行中,每两个部分直接用空格隔开,最后一个部分后面应该接一个换行,严格遵循ABNF语法规范

2、头部

请求头和响应头 都可以在页面上找到的,内容比较长,就不截取出来了。

不管是请求头还是响应头,其中的字段都比较多,而且牵扯到http非常多特性,重点看这些头部字段的格式:

  •         字段名不区分大小写
  •         字段名不允许出现空格,不可以出现下划线  __
  •         字段名后面必须紧接着冒号

 3、空行

空行用来区分头部和实体部分

如果说在头部中间故意加一个空行,则空行后面的内容 都会被视为实体部分

4、实体

实体指的就是具体的数据,也就是body部分,请求报文对应请求体,响应报文对应响应体。

二、下面的代码输出什么?

const { name: myName } = { name: " Mike "};

console.log(name);

 我自己试了试,打印为空白。但是看了看解析才明白其中的逻辑

当我们从右侧的对象结构属性name时,我们将其值 Mike 分配给名为myName的变量。使用{name: myName},我们是在告诉JavaScript我们要创建一个名为myName的新变量,并且其值是右侧对象的name属性的值。当我们尝试打印name,一个未定义的变量时,就会调用一个未定义的变量会引起语法错误,也就是引发ReferenceError。

三、数据Mock是什么?

Mock数据是前端开发过程中必不可少的一环,是分离前后端开发的关键链路。

通过预先跟服务器端约定好的接口,模拟请求数据甚至逻辑,能够让前端开发独立自主,不会被服务端的开发所阻塞。

前后端同时开发的时候,后端接口数据没有出来,前端可以mock假数据,模拟开发。

Mock.js是常用的辅助生成模拟数据的三方库,借助他可以提升我们的mock数据能力。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值