HTML

HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。

HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为".html"或".htm"即可。

HTML 基本标签

(1)HTML 语法规则

HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由"<XXX>"表示,结尾标记符多了一个"/",由"</XXX>"表示。

(2)HTML 文件结构

HTML文件最外层由<html></html>表示,说明该文件是用HTML语言描述的。在它里面是并列的头标签(<head>)和内容标签(<body>),最基本的

●HTML 文件结构如下:

<html>

<head>网页的内容描述信息</head>

<body>网页显示的内容</body>

</html>

●头标签中常用标签:

标签 描述

<title> 定义了文档的标题

<base> 定义了页面链接标签的默认链接地址

<link> 定义了一个文档和外部资源之间的关系

<meta> 定义了 HTML 文档中的元数据

<script> 定义了客户端的脚本文件

<style> 定义了 HTML 文档的样式文件

●内容标签中常用标签

标签 描述

<table> 定义一个表格

<tr> 定义了表格中的一行

<td> 定义了表格中某一行的一列

<img> 定义了一个图像

<a> 定义了一个超链接

<p> 定义了一行

<br> 定义了换行

<font> 定义了字体

<h1> 定义字体大小

静态网页与动态网页

1.静态网页

在网站设计中,纯粹HTML格式的网页通常被称为"静态网页",静态网页是标准的HTML文件,它的文件扩展名是.htm、.html。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等。这些"动态效果"只是视觉上的,与下面将要介绍的动态网页是不同的概念。

2.动态网页

所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着HTML代码的生成,页面的内容和显示效果就基本上不会发生变化了------除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见网页制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号------"?"。

动态网页是基本的html语法规范与Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

3.动态网页语言

早期的动态网页主要采用通用网关接口 CGI(Common Gateway Interface)技术,虽然 CGI 技术已经发展成熟而且功能强大, 但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。

目前常用的动态网页编程语言如下:

●PHP

即 Hypertext Preprocessor(超文本预处理器),它是当今 Internet 上最为火热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 Web 站点。

●JSP

即 Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于 1999 年 6 月推出的新技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术。

●Python

是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的大型项目开发。

●Ruby

是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在 20 世纪 90年代由日本人松本行弘(Yukihiro Matsumoto) 开发,遵守GPL 协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。

HTTP 协议概述

HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的。

(1)HTTP/0.9:已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。

(2)HTTP/1.0:这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。

(3)HTTP/1.1:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。

(4)HTTP/2.0:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。

HTTP 方法

HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method)。每条 HTTP 请求报文都包含一个方法, 告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST、PUT。

HTTP 方法 描述

GET 对服务器资源获取的简单请求,可以理解为读取或者下载数据

PUT 向服务器提交数据,以修改数据

DELETE 删除服务器上的某些资源

POST 用于发送包含用户提交数据的请求

HEAD 请求页面的首部,获取资源的元信息

CONNECT 建立特殊的连接隧道

OPTIONS 列出可对资源实行的方法

TRACE 追踪请求 - 响应的传输路径

1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会将数据携带在body当中,通常表示的是"create"的含义,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作

GET 和 POST 比较

●GET 方法:从指定的服务器上获得数据

GET请求能被缓存

GET请求会保存在浏览器的浏览纪录里

GET请求有长度的限制

主要用于获取数据

查询的字符串会显示在URL后缀中,不安全,比如 http://www.test.com/a.php?Id=123

●POST 方法:提交数据给指定服务器处理

POST请求不能被缓存

POST请求不会保存在浏览器的浏览纪录里

POST请求没有长度限制

查询的字符串不会显示在URL中,比较安全

HTTP 状态码

HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL 时, 服务器根据处理情况返回相应的处理状态。

通常正常的状态码为2xx,3xx(如200),如果出现异常会返回4xx,5xx(如404)。

状态码首位 已定义范围 分类

1xx 100-101 提示信息,表示目前是协议处理的中间状态,还需要后续的操作

2xx 200-206 成功,报文已经收到并被正确处理

3xx 300-305 重定向,资源位置发生变动,需要客户端重新发送请求

4xx 400-415 客户端错误,请求报文有误,服务器无法处理

5xx 500-505 服务器错误,服务器在处理请求时内部发生了错误

HTTP 常见状态码

状态码 功能描述

200 一切正常

301 永久重定向

302 临时重定向

401 用户名或密码错误

403 禁止访问(客户端IP地址被拒绝)

404 请求的文件不存在

414 请求URI头部过长

500 服务器内部错误

502 无效网关

503 当前服务不可用

504 网关请求超时

HTTP 请求流程分析

用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。

1.请求报文

请求行:请求行由请求方法、URL 以及协议版本三部分组成。

请求头:请求头为请求报文添加了一些附加信息,由"名/值"对组成,每行一对,名和值之间使用冒号分隔。

空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。

请求体:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。

常用的请求头:

请求头 描述

Host 接受请求的服务器地址,可以是 IP:端口号,也可以是域名

User-Agent 发送请求的应用程序名称

Connection 指定与连接相关的属性,如 Connection:Keep-Alive

Accept-Charset 通知服务端可以发送的编码格式

Accept-Encoding 通知服务端可以发送的数据压缩格式

Accept-Language 通知服务端可以发送的语言

2.响应报文

状态行:状态行由协议版本,状态码,状态码描述三部分组成。

响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。

空行:响应头部的最后会有一个空行,表示响应头部结束。

响应体:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。

常见响应头:

响应头 描述

Server 服务器应用程序软件的名称和版本

Content-Type 响应正文的类型(是图片还是二进制字符串)

Content-Length 响应正文长度

Content-Charset 响应正文使用的编码

Content-Encoding 响应正文使用的数据压缩格式

Content-Language 响应正文使用的语言

相关推荐
珹洺7 小时前
Bootstrap-HTML(五)图像基础样式
前端·javascript·css·网络·bootstrap·html·ecmascript
爱上语文7 小时前
前端成长之路:HTML(4)
前端·html
编织幻境的妖7 小时前
使用HTML和JavaScript实现随机点名系统
javascript·css·html
辰星s13 小时前
HTML/CSS总结
前端·css·html
拄杖盲学轻声码17 小时前
【html网页页面012】html+css制作品牌主题宏宝莱网页含视频、留言表单(7页面附效果及源码)
前端·css·html
m0_7482517220 小时前
Android -- WebView之loadData加载html字符串显示网页
android·前端·html
fury_1231 天前
js:三元的判断
前端·javascript·html
我不会画饼鸭1 天前
HTML知识点详解教程
html
web137656076431 天前
用前端html如何实现2024烟花效果
前端·html
violet_evergarden.1 天前
HTML+CSS+Vue3的静态网页,免费开源,可当作作业使用
前端·css·vue.js·开源·html