跳至主要內容

前端基础知识-HTML

Unisky大约 6 分钟学习面试HTML前端

前端基础知识-HTML

主要是前端开发的一些基础知识的整理,本部分着重在HTML和HTTP方向

关于HTML的编码相关知识,详见HTML详细教程open in new window

1.HTML与XHTML

HTML是超文本标记语言(Hyper Text Markup Language),通过一系列标签统一网络文档格式

XHTML是可扩展超文本标记语言(eXtensible HyperText Markup Language),基于XML和HTML发展而来的新兴网络设计语言。

从书写习惯上来说,XHTML有更严格的要求,元素必须严格闭合、嵌套、区分大小写,文档必须拥有根元素 从功能上来说,XHTML可以更好地兼容各大浏览器,手机和PDA,浏览器也能更快地编译网页

2. HTML语义化是什么

根据内容的结构化来确定代码标签的语义化,不一定会影响最终结果,主要是影响代码书写。 主要目的是更好地明确HTML节点层次、嵌套关系,从而提高代码的可读性

对比如下

<!--语义化的HTML代码-->
<header>
      <h1></h1>
</header>
<section></section>
<footer></footer>

<!--非语义化的-->
<div>
     <span style="font-size:16px;font-weight:bold;"></span>
</div>
<div></div>
<div></div>

3.标签上的 title 与 alt 属性

alt属性的值是在浏览器未显示图像时的代替文本 title属性的值是注释,页面中将鼠标悬停至图片上时可以看到

4.优雅降级(Graceful Degradation)与渐进增强(Progressive Enhancement)

优雅降级:从针对高级浏览器设计逐渐向下兼容 渐进增强:从低级浏览器向上针对高级浏览器设计

5.HTTP的请求方法

  • GET:发送一个请求来取得服务器上的某一资源
  • POST:向URL指定的资源提交数据或附加新的数据
  • PUT:跟POST方法很像,也是想服务器提交数据。但是,它们之间有不同。PUT指定了资源在服务器上的位置,而POST没有
  • HEAD:只请求页面的首部
  • DELETE:删除服务器上的某资源
  • OPTIONS:它用于获取当前URL所支持的方法。如果请求成功,会有一个Allow的头包含类似“GET,POST”这样的信息
  • TRACE:TRACE方法被用于激发一个远程的,应用层的请求消息回路
  • CONNECT:把请求连接转换到透明的TCP/IP通道

6.HTTP状态码合集

临时响应(响应中)1xx

状态码解释
100客户必须继续发出请求
101客户要求服务器根据请求转换HTTP协议版本

成功 2xx

状态码解释
200服务器成功返回网页
201(已创建)请求成功并且服务器创建了新的资源
202(已接受)服务器已接受请求,但尚未处理
203(非授权信息)返回信息不确定或不完整
204(无内容)请求收到,但返回信息为空
205(重置内容)服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206(部分内容)服务器已经完成了部分用户的GET请求

重定向 3xx

状态码解释
300请求的资源可在多处得到
301(永久移动)请求的网页已永久移动到新位置
302服务器目前从不同位置的网页响应请求
303建议客户访问其他URL或访问方式
304从上次请求后,请求的网页未修改过
305请求者只能使用代理访问请求的网页
306前一版本HTTP中使用的代码,现行版本中不再使用
307服务器目前从不同位置的网页响应请求

请求错误 4xx

状态码解释
400错误请求
401请求要求身份验证
402在其他地址发现了请求数据
403服务器拒绝请求(或跨域)
404服务器找不到请求的网页
405禁用请求中指定的方法
406无法使用请求的内容特性响应请求的网页
407请求者应当使用代理
408服务器等候请求时发生超时
409服务器在完成请求时发生冲突
410请求的资源已永久删除
411不接受不含有效内容长度标头字段的请求
412未满足请求者在请求中设置的其中一个前提条件
413无法处理请求,因为请求实体过大
414请求的 URI(通常为网址)过长
415请求的格式不受请求页面的支持
416页面无法提供请求的范围
417未满足”期望”请求标头字段的要求

服务器错误 5xx

状态码解释
500服务器遇到错误,无法完成请求
501服务器不具备完成请求的功能
502(错误网关)从上游服务器收到无效响应
503服务器目前无法使用(由于超载或停机维护)
504(网关超时)没有及时从上游服务器收到请求
505服务器不支持请求中所用的 HTTP 协议版本

7.DOCTYPE (文档类型)的作用

告诉浏览器(解析器)解析文档使用的文档类型定义(HTML,XHTML),必须声明在HTML文档首行

8.script标签中defer和async的区别

决定了script脚本在网页中的加载顺序,如果没有defer或者async会在载入网页时立即加载

async属性,文档加载与js加载同时进行 defer属性,js脚本在最后执行

多个async属性无法保证实际执行顺序,多个defer属性会按照加载顺序执行

9.浏览器一次完整的HTTP事务

  • 浏览器的地址栏输入URL并按下回车
  • 浏览器查找当前URL是否存在缓存,并比较缓存是否过期
  • DNS解析URL对应的IP
  • 根据IP建立TCP连接(三次握手)
  • HTTP发起请求
  • 服务器处理请求,浏览器接收HTTP响应
  • 渲染页面,构建DOM树
  • 关闭TCP连接(四次挥手)

10.SSL协议和TLS协议

SSL(安全套接字层Secure Sockets Layer)协议是用于网络通信的加密协议。曾用于HTTPS,现已被TLS代替