浏览器(草稿)

说一下http和https

(1)http和https的基本概念

https 的 ssl加密 是在 传输层。

http:超文本 传输协议,目前广泛的 一种网络协议,是 服务端 和 客户端 请求应答 的一种标准,用于 从www服务器 传输 超文本  到本地浏览器 的协议,可以 使 浏览器 更加高效,网络传输 减少。

https:在 http下 加入 ssl层,是 安全版的 http。

(2)http和https的区别?

https 需要 ca证书,费用较高

http 端口 80,https 端口 443

http 链接无状态

还有 第(1)点这些

(3)https协议的工作原理

客户 用 https url 访问服务器,则要求 服务器建立 ssl链接。

服务器 收到 客户端请求后,会将 网站证书(证书中有 公钥),传输给 客户端

共同协商 加密等级

客户端 通过协商好的 加密等级,建立 会话密钥,通过 证书的 公钥 加密 密钥,并 传给网站。

web服务器 通过自己的私钥 解密出 会话密钥,通过 会话密钥 加密与 客户端通信。

(4)https协议的优点

(5)https协议的缺点

不全。

握手阶段耗时,使 加载时间延长,耗电。

SSL证书 要钱,需要绑定 IP,不能 同一个 IP上 绑定躲着 域名

缓存 不如 http 高效

tcp三次握手

客户端 和 服务端  都确认  自己可收发(自己可收到对方的,对方收到自己的)

第一次:s 确认 自己可以 接收 c 发送的报文段

第二次:c 确认 s 收到自己的报文段 并且 自己 可以 接收s 的报文

第三次:s 确认 c 收到自己 报文

TCP和UDP的区别

(1)tcp  面向连接的, udp  无连接 就可发送 数据

(2)tcp 适合 大数据 交换,无差错、不丢失、不重复、按照序列

udp 不保证 

(3)tcp  面向字节流,udp  面向 报文,网络 拥塞时 发送率不会降低。

(4)tcp 1对1,udp 1对1,或者 1对多

什么是Bom? Bom是浏览器对象。有哪些常用的Bom属性呢?

location 对象,history 对象,navigator 对象

history对象:

history.go()  前往指定页面数

history.back()   后退一页

history.forward   前进一页

HTML5 drag api

注意  事件主体,什么时候 激发

dragstart:拖放元素   开始拖放 

drag:拖放元素  正在拖放

dragenter:目标元素  进入某元素

dragover:目标元素  在元素内移动

dragleave:目标元素  移出元素

400和401、403状态码

请求无效

请求需要用户验证

服务器得到请求,但拒绝执行

Cookie、sessionStorage、localStorage的区别

共同点,保存在 浏览器端,并且 同源

box-sizing:border-box   padding-box   content-box

标准盒子模型的盒子宽度:左右border+左右padding+width
IE盒子模型的盒子宽度:width

标准盒模型:box-sizing:content-box;

IE盒模型:box-sizing:border-box

BFC  块级格式化上下文  用于清除浮动,防止 margin 重叠

那些元素会生成BFC:

根元素

float不为none的元素

position为fixed和absolute的元素

display为inline-block、table-cell、table-caption,flex,inline-flex的元素

overflow不为visible的元素

transition和animation的区别

大部分属性 相同,不同的是  transition 要触发事件 才会改变属性值,animation 不需要。

transition为2 帧,从from……to,animation 可以一帧。

双边距重叠问题(外边距折叠)

都是正数,取 最大;都是负数,绝对值 最大;一正一负,相加的和

position属性

固定定位fixed     浏览器窗口

relative   相对于”它的起点“    元素仍然占据原来的空间

absolute:相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>

不占据空间。 absolute 定位的元素和其他元素重叠。

inherit:

规定应该从父元素继承position 属性的值。

浮动清除

(1) 浮动元素后使用一个空元素   <div class="clear"></div>        .clear{clear:both}

(2)给浮动元素的容器添加overflow:hidden;或overflow:auto;

 IE6 中还需要触发 hasLayout ,例如为父元素设置容器宽高或设置 zoom:1。

(3)给浮动元素后面的元素添加clear属性

(4)父级元素的最后,添加一个伪元素,通过清除伪元素的浮动,注意该伪元素的display为block

#content:after{content:"";display:block;clear:both;}

CSS3中对溢出的处理

text-overflow属性,值为clip是修剪文本;ellipsis为显示省略符号来表被修剪的文本;string为使用给定的字符串来代表被修剪的文本。

 隐藏页面中某个元素的方法

参考回答:

display:none; visibility:hidden; opacity: 0; position移到外部,z-index涂层遮盖等等

 float的元素,display是什么

display为block

闭包

闭包就是能够读取其他函数内部变量的函数,或者子函数在外调用,子函数所在的父函数的作用域不会被释放。

预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。

懒加载:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。

" "==0  //true

"0"==0  //true

" " !="0" //true

123=="123" //true

null==undefined //true

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值