1.http包含什么信息
本题答案参考caibaojian.com/http.html文章
http协议包含:通用头域、请求消息、响应消息和主体信息。
HTTP是一个客户端和服务器端请求和应答的标准(TCP)
通用头域
通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。
请求消息
请求消息的第一行为下面的格式:
MethodSPRequest-URISPHTTP-VersionCRLFMethod表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。
Host头域
Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。
响应消息
响应消息的第一行为下面的格式:
HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF
HTTP-Version表示支持的HTTP版本,例如为HTTP/1.1。Status- Code是一个三个数字的结果代码。Reason-Phrase给Status-Code提供一个简单的文本描述。Status-Code主要用于机器自动识别,Reason-Phrase主要用于帮助用户理解。Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可能取5个不同的值:
1xx:信息响应类,表示接收到请求并且继续处理
2xx:处理成功响应类,表示动作被成功接收、理解和接受
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
5xx:服务端错误,服务器不能正确执行一个正确的请求
响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和 Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。
实体消息
请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息,实体头包括Allow、Content- Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-header。extension-header允许客户端定义新的实体头,但是这些域可能无法未接受方识别。实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定义,它的长度由Content-Length或Content-Range定义。
2.<div id="div1"> <div id="div2"></div> </div>以上代码在不知道div2大小的情况下实现div2居中。
本答案参考知乎答案www.zhihu.com/question/19652330/answer/24592006
<div class="wrap"> <div class="inner"></div> </div>
.wrap 使用 float 是为了让 .wrap 的宽度等于 .inner 的宽度
让 .wrap 的左边在父层的中线上, 让.inner 的左边相对 .wrap 向左移动一半, 这样就可以实现 .inner 在.wrap 的父层的中间。
3.js实现单例模式
单例模式
单例模式的实现从专业化来说,单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例。
实现代码4.浏览器渲染页面过程
此题答案来自www.cnblogs.com/yuezk/archive/2013/01/11/2855698.html
页面的渲染有以下特点:
1.单线程事件轮询
2.定义明确、连续、操作有序(HTML5)
3.分词和构建DOM树
4.请求资源并预加载
5.构建渲染树并绘制页面
具体来说:
当我们从网络上得到HTML的相应字节时,DOM树就开始构建了。由浏览器更新UI的线程负责。当遇到以下情况时,DOM树的构建会被阻塞:
1.HTML的响应流被阻塞在了网络中
2.有未加载完的脚本
3.遇到了script节点,但是此时还有未加载完的样式文件
渲染树构建自DOM树,并且会被样式文件阻塞。
由于是基于单线程的事件轮询,即使没有脚本和样式的阻塞,当这些脚本或样式被解析、执行并且应用的时候,也会阻塞页面的渲染。
一些不会阻塞页面渲染的情况:
1.定义的defer属性和async属性的
2.没有匹配的媒体类型的样式文件
3.没有通过解析器插入script节点或样式节点
为了减缓渲染被阻塞的情况,现代的浏览器都使用了猜测预加载(speculative loading)。
在上面这种情况下,脚本和样式文件会严重阻塞页面的渲染。猜测预加载的目的就是减少这种阻塞时间。当渲染被阻塞的时候,它会做以下一些事:
轻量级的HTML(或CSS)扫描器(scanner)继续在文档中扫描
查找那些将来可能能够用到的资源文件的url
在渲染器使用它们之前将其下载下来
但是,猜测预加载不能发现通过javascript脚本来加载的资源文件(如,document.write())。
5.将100万个无序数进行排序并分成两组其中第一组中任意一个数字都比第二组中任意一个数小
经过和曹艺讨论这道题应该使用快速排序算法
快速排序算法代码6.用js将local.search转换成map
暂时还不会........
网友评论