分享:HTML常见面试题

2023-05-16

HTML基础

1.1请描述一个网页从开始请求到最终显示的完整过程?

一般可分为7个步骤: 

1.在浏览器中输入网址; 

2.发送至DNS服务器并获得域名对应的WEB服务器的IP地址; 

3.与WEB服务器建立TCP连接; 

4.浏览器向WEB服务器的IP地址发送相应的HTTP请求; 

5.WEB服务器响应请求并返回指定的URL的数据,或错误信息,如果设定重定向,则重定向到新的URL地址。 

6.浏览器下载数据后解析HTML源文件,解析的过程中实现对页面的排版,解析完成后在浏览器中显示基础页面。 

7.分析页面中的超链接并显示在当前页面,重复以上过程直至无超链接需要发送,完成全部显示。

 

1.2 DOCTYPE声明的作用是什么?严格模式与混杂模式如何区分?

HTML语言已经存在太久了,目前必然会有一些不同版本的文档存在。为了能够让浏览器清楚你的文档的版本、类型和风格,需要在文档的起始用DOCTYPE声明指定当前文档的版本和风格。如果在网页中提供了版本信息,则可以有利于验证页面中的代码是否符合当前的版本和风格。

<!DOCTYPE>声明位于文档中的最前面,处于标签之前,告知浏览器的解析器,用什么文档类型规范来解析这个文档。

在严格模式(标准模式)中,浏览器根据规范呈现页面;在混杂模式中,页面以向后兼容的方式显示,以防止老站点无法工作。

如果HTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。对于HTML4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

1.3简要描述常见的浏览器内核。

浏览器内核赋值对网页语法的解释并显示网页,它决定了浏览器如何显示网页的内容以及页面的格式信息。

常见的浏览器内核:

Trident:IE浏览器

Gecko:Mozilla浏览器,如Firefox

Webkit:Safari浏览器,也是Chrome浏览器的内核

Blink:Chrome浏览器,Opera浏览器

1.4 如何理解html标签语义化?

语义化的主要目的在于,直观的认识标签(markup)和属性(attribute)的用途和作用。

可以概括为:用正确的标签做正确的事情。

Html语义化可以让页面的内容结构化,便于浏览器解析,便于搜索引擎解析,并提高带帽的可维护度和可重用性。

比如,尽可能少的使用无语义的标签div,使用结构化标签<header><section><footer>

1.5 锚点的作用是什么?如何创建锚点?

锚点是文档中某行的一个记号,类似于书签,用于链接到文档中的某个位置。当定义锚点后,我们可以创建直接跳至该锚点(比如页面中某个小节)的链接,这样使用者就无需不停地滚动页面来寻找他们需要的信息了。

在使用<a>元素创建锚点时,需要使用name属性为其命名,代码如下所示:

<a name=anchorname1>锚点一</a>

然后就可以创建链接,直接跳转到锚点,代码如下所示:

<a href=#anchorname1>回到锚点一</a>

1.6 使用<label>元素显示文本与使用其他文本标记显示文本有什么不同?

<label>元素的直观效果是直接显示标记之间的文本,而且不会为文本呈现任何特殊效果。但是,它和其他文本标记所不同的是,它为鼠标用户改进了用户体验性。

这是因为,<label>元素可以附带一个for属性,只要将该属性的值设置为表单中任何一个控件的id属性的值,则当该用户点击标签(文本)时,浏览器就会自动将焦点转到和标签相关的表单控件上。即:如果在<label>元素内点击文本,就会触发此控件。

1.7 列举常用的结构标记,并描述其作用

结构标签专门用于标识页面的不同结构,相对于使用<div>元素而言,可以实现语义化的标签。

常用的结构标签有:

<header>元素:用于定义文档的页眉;

<nav>元素:用于定义页面的导航链接部分;

<section>元素:用于定义文档中的节,表示文档中的一个具体的组成部分;

<article>元素:常用于定义独立于文档的其他部分的内容

<footer>元素:常用于定义某区域的脚注信息;

<aside>元素:常用于定义页面的一些额外组成部分,如广告栏、侧边栏和相关引用信息等。

1.8 超级链接有哪些常见的表现形式?

<a>元素用于创建超级链接,常见的表现形式有:

普通超级链接。语法:<a href=””  target=””>文本</a>

下载链接,即目标文档为下载资源。语法:<a href=day.zip>下载</a>

电子邮件链接,用于链接到Email。语法:<a href=mailo:1234546@qq.com>

联系我们</a>

空链接,用于返回页面顶部。语法:<a href=#>...</a>

链接到JavaScript,以实现特定的代码功能。语法:<a href=javascript:...>...</a>

1.9 简要描述行内元素和块级元素的区别?

块级元素的前后都会自动换行,如图存在换行符一样。默认情况下,块级元素会独占一行。例如<p><hn><div>都是块级元素。显示这些元素中间的文本时,都将从新行中开始显示,其后内容也将在新行中显示。

行内元素可以和企业行内元素位于同一行,在浏览器中显示是不会换行。例如<a><span>等。对于行内元素,不能设置其高度和宽度。

还有一种元素,行内块级元素,比如<img><input>元素等。这些元素可以和其他行内元素位于同一行,同时可以设置其高度和宽度。

1.10 表单向服务器提交数据有几种方式?这些方式有什么区别?

将表单数据发送给服务器的常用方式有两种:GetPost

浏览器发送给服务器的HTTP请求分为请求头(header)和请求主体(body)两部分。其中,必须包含头部分,用于指定发送请求的方式、目的以及其他关键信息;而主体是可选的。在头数据和主体数据之间用一个空白行来隔开。

比如,需要发送请求到页面getstockprice.php,而且需要附带数据Symbol=MSFT。那么如果使用Get方式发送数据,简化后的请求数据内容如下所示:

GET/Trading/GetStockPrice.aspx?Symbol=MSFT HTTP/1.1

Host:localhost

如果使用Post方式发送数据,则简化后的请求数据内容如下所示:

GET/Trading/GetStockPrice.aspx HTTP/1.1

Host:localhost

Content=Type:application/x-www-form-urlencoded  表示请求的MIME类型

Content-Length:11  表示请求数据的长度(大小)

Symbol=MSFT

由此可见,两种方式的区别主要在于发送数据方式不同。

使用Get方式向服务器发送表单数据时,表单数据附加在URL属性的末端;才有POST方法发送数据时,数据都会放在在主体中发送。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分享:HTML常见面试题 的相关文章

  • iOS-NSLineBreakMode-lineBreakMode属性详解(UILabel省略号位置)

    apple文档 64 property nonatomic NSLineBreakMode lineBreakMode default is NSLineBreakByTruncatingTail used for single and m
  • spark机器学习笔记:(一)Spark Python初探

    声明 xff1a 版权所有 xff0c 转载请联系作者并注明出处 http blog csdn net u013719780 viewmode 61 contents 博主简介 xff1a 风雪夜归子 xff08 英文名 xff1a All
  • Jackson 解析 JSON 详细教程

    点赞再看 xff0c 动力无限 微信搜 程序猿阿朗 本文 Github com niumoo JavaNotes 和 未读代码博客 已经收录 xff0c 有很多知识点和系列文章 JSON 对于开发者并不陌生 xff0c 如今的 WEB 服务
  • 百度百科全站爬取教程

    百度百科全站 目前有16 330 473个词条 这里介绍一个基于scrapy的分布式百度百科爬虫 xff0c 能够全量爬取百度百科的词条 github地址 特性 百科类网站全站词条抓取 xff0c 包括百度百科 互动百科 wiki中英文站点
  • 贪心法

    贪心法 lt gt 贪心算法并不是从整体最优上加以考虑 xff0c 而是从局部最优考虑 xff0c 每次总是做出当前看起来最好的选择 xff0c 在某种意义上的局部最优选择 xff1b lt gt 最优子结构性质 xff1a lt gt 贪
  • shasum: command not found

    yum install perl Digest SHA
  • 记一次http请求报400问题

    引言 由于之前代码比较老 xff0c 都是采用http1 0方式请求 xff0c 于是采用了之前的代码进行实现 xff0c 结果之前测试没有问题 xff0c 后面投产了就报400错误了 xff0c 重新测试还是没有问题 最后通过接收方日志排
  • 数组下标排序

    前言 平时大家大多都是对数组进行各种方式的排序 xff0c 很少对数组的下标进行排序 xff0c 什么是对数组的下标进行排序 xff1f 即按数组值的大小对相应的数组下标进行排序 具体方法见以下正文 正文 解题的重点是如何保存值和下标的对应
  • SpringBoot项目无法接收到数据(Whitelabel Error Page)

    前言 在一次SpringBoot项目模块迁移的过程中 xff0c 新建的模块无法接收到前端的数据 xff0c 在地址栏输入对应的url后显示Whitelabel Error Page 正文 核对了url以及启动类上注解 64 SpringB
  • 解决android7.1系统出现的Consumer closed input channel or an error occurred. events=0x9错误

    自己实现的一个Socket聊天app xff0c 这个app是在17年的时候写的 xff08 当时也是随便写的 xff0c 没注意太多细节 xff09 xff0c 那个时候还是android4 4系统的手机 xff0c 然后写完在真机上调试
  • Java实现多线程轮流打印1-100的数字

    正文 首先打印1 100数字如果用一个单线程实现那么只要一个for循环即可 xff0c 那么如果要用两个线程打印出来呢 xff1f xff08 一个线程打印奇数 xff0c 一个线程打印偶数 xff09 于是大家会想到可以通过加锁实现 xf
  • 安卓手机利用DroidCam当电脑摄像头使用方法

    笔记本电脑有点老了 xff0c 摄像头好像坏了 xff0c 重装了一下午驱动都没弄好 xff0c 换了ubuntu系统也打不开摄像头 xff0c 然后就放弃了 xff0c 于是想到了能不能用android手机当笔记本电脑的摄像头 xff1f
  • Dell安装驱动程序出现的错误(DupAPI::Execute): *** Shell Execute Error. System error text

    在官网下的驱动却怎么也安装不上 xff0c 一直提示 The update installer operation is unsuccessful 然后打开日志文件查看 xfeff 04 10 19 10 12 11 Update Pack
  • 浮点数大小比较

    引言 在一次某公司的笔试题中出现了一题在一个无序的浮点数数组中找出相同的数 xff0c 那么在计算机中一般的整型的十进制数一般都是直接通过 61 61 来判断两个数是否相等的 xff0c 但是如果是浮点数还可以用这样的方式进行判断吗 xff
  • int的取值范围

    引言 在学C 43 43 或者Java的时候应该都会先了解各种基本数据类型的初值和它们的取值范围 xff0c 有些人可能会不太重视这块内容 xff0c 其实很重要 xff0c 很多大公司面试的过程中都会问到int的取值范围 xff0c 溢出
  • Intel汇编语言程序设计学习-第三章 汇编语言基础-上

    汇编语言基础 3 1 汇编语言的基本元素 有人说汇编难 xff0c 有人说汇编简单 xff0c 我个人不做评价 xff0c 下面是一个简单的实例 xff08 部分代码 xff09 xff1a main PROC mov eax 5 5送 E
  • 向量和矩阵范数

    参考 xff1a https en wikipedia org wiki Matrix norm Frobenius norm https blog csdn net Michael Corleone article details 752
  • ubuntu安装后分辨率只有一个选项

    ubuntu 16 04安装后分辨率只有一个选项 1024x768 xff0c 使用xrandr命令出现错误 xff1a xrandr Failed to get size of gamma for output default xff0c
  • android.hardware.Camera入坑之旅

    1 相机预览方向适配 可以参考谷歌官方适配方案 public static void setCameraDisplayOrientation Activity activity int cameraId android hardware C
  • MySQL深入的学习笔记

    MYSQL高级 MySql架构演变 这个很重要 软件的环境是如何从单应用算法极致优化的方向 到分布式的进化 这个时代 就会淘汰好多单体应用的coder 比如我自己 哈哈哈哈 1 0时代 单机单库 单应用 单数据库 快速 方便 好维护 并发量

随机推荐

  • Java变量的声明、初始化和作用域

    一 Java变量的声明 在 Java 程序设计中 xff0c 每个声明的变量都必须分配一个类型 声明一个变量时 xff0c 应该先声明变量的类型 xff0c 随后再声明变量的名字 下面演示了变量的声明方式 double salary int
  • 无线网卡无法启动(代码 10),怎么办?

    前言 无线网卡突然无法启动 xff0c 代码 10 xff0c 怎么办 xff1f 本文记述了作者遇到这个问题的经历和最终解决方法 xff0c 希望我的分享能给大家节约宝贵时间 一 我遇到的问题 先说明一下 xff1a 我用的是华硕的飞行堡
  • systemd内置变量

    替换符含义 b系统的 34 Boot ID 34 字符串 参见 random 4 手册 C缓存根目录 对于系统实例来说是 var cache xff1b 对于用户实例来说是 XDG CACHE HOME E配置根目录 对于系统实例来说是 e
  • IOS轻松实现仿网易新闻顶部滑动指示器(Scrollview实现)

    实现原理很简单 xff0c 就是利用了scrollview进行自定义 xff0c 对外部传入的scrollview滑动事件进行监听 xff0c 源码如下 xff1a xff08 1 xff09 h文件代码 ScrollViewIndicat
  • 【极客日常】Go语言string、int、float、rune、byte等数据类型的转换方法

    golang的数据类型转换是困惑新gopher的一大问题之一 相对于python xff0c golang的数据类型转换可要麻烦的多 xff0c 而且还不走寻常路地诞生了些新的方法跟名词 因此本文讲解golang常见数据类型string i
  • View的mParent变量初始化

    mParent变量实际上是PhoneWindow DecorView类型 xff0c 是所有应用窗口的根视图 xff0c 是FrameLayout的子类 View的requestLayout 函数也是调用了mParent requestLa
  • java:N的N次方

    题目描述 现给你一个正整数N xff0c 请问N N的最左边的数字是什么 xff1f 输入格式 输入包含多组测试数据 每组输入一个正整数N xff08 N lt 61 1000000 xff09 输出 对于每组输入 xff0c 输出N N的
  • CentOS升级curl

    1 安装repo rpm Uvh http www city fan org ftp contrib yum repo rhel6 x86 64 city fan org release 2 1 rhel6 noarch rpm 2 查看该
  • ACM:入口的选择------深度优先搜索

    入口的选择 Time Limit 1000MS Memory Limit 32768K Description Zeism玩的赛车游戏中 xff0c 有一种树形的赛道 树根表示赛道的终点 xff0c 任何一个叶子结点表示一个赛道的入口 xf
  • ACM:n!的位数 :斯特林公式

    n 的位数 Time Limit 2000MS Memory Limit 65536K Description 针对每个非负整数n xff0c 计算其n 的位数 Input 输入数据中含有一些整数n xff08 0 n xff1c 10 7
  • java 自定义封装jdbc dao类

    手动封装jdbc和dao层 xff0c 体会其中的优点与不足 注 xff1a 本次采用的mysql数据库记得添加数据库的驱动包 Dbhelper类 xff1a 对jdbc进行封装 xff0c 采用单例模式 xff0c 不用每次都去连接数据库
  • Mybatis 二级缓存

    mybatis的缓存分为一级缓存和二级缓存 xff0c 缓存是用来缓存部分经常性访问的数据 xff0c 而不必每一次都跑到数据库获取或运算 xff0c 目标是提高系统的性能 一级缓存 对于每一个sqlSession 其中有一个HashMap
  • virtualbox启动报错:Interface VirtualBox Host-Only Ethernet Adapter is not a Host-Only Adapter interface

    参考 xff1a 参考 xff1a windows下VirtualBox使用过程中遇到的一个错误 报错信息 xff1a Interface 39 VirtualBox Host Only Ethernet Adapter 39 is not
  • Tried to access visual service WindowManager from a non-visual Context

    适配Android12时遇到的一个问题 xff0c 做个记录 xff1a 尝试使用WindowManager做一些事情的时候 xff0c 我们一般会先获取WindowManager的实例 xff0c 即 xff1a WindowManage
  • Electron使用electron-builder打包windows时如何签名

    windows打包基本配置 xff1a span class token string 34 build 34 span span class token operator span span class token punctuation
  • Electron打包mac OS安装包的配置和签名(干货)

    1 先看配置 xff08 electron vue xff09 打包使用的是electron builder package json span class token punctuation span span class token o
  • 【nodejs】exec在windows下读取中文乱码问题

    最近在做一个项目需求是读取计算机名称 在windows上使用nodejs exec读取时会有些电脑上会出现乱码问题 直接在cmd上执行hostname xff0c 返回的是没有问题的 当我使用exec读取时就乱码了 xff0c 虽然可以使用
  • 分享 :CSS常见面试题

    CSS基础 2 1 link和 64 import都可以为页面引入CSS文件 xff0c 其区别是 xff1f 将样式定义在单独的 css 的文件里 xff0c link 和 64 import 都可以在 html 页面引入 css 文件
  • Android LOG系统原理剖析

    引言 在我们android的开发过程中 xff0c 最不可少的就是加Log xff0c 打印Log的操作 这样可以帮助我们去查看各个变量 xff0c 理清楚代码的逻辑 而Android系统 xff0c 提供了不同维度 xff0c 不同层面
  • 分享:HTML常见面试题

    HTML基础 1 1请描述一个网页从开始请求到最终显示的完整过程 xff1f 一般可分为7个步骤 xff1a 1 在浏览器中输入网址 xff1b 2 发送至DNS服务器并获得域名对应的WEB服务器的IP地址 xff1b 3 与WEB服务器建