一.HTML的基本概念
HTML(HyperText Markup Language)是一种用于创建和呈现Web页面结构的标记语言。HTML由一系列称为标签(tags)的元素组成,这些标签描述了页面上不同部分的内容和结构。以下是HTML的一些重要概述:
-
标签 :HTML文档由各种标签组成,每个标签用尖括号
< >
包围,例如<html>
、<head>
、<body>
等。标签通常成对出现,包含一个开始标签和一个结束标签,如<p>
和</p>
。 -
元素:开始标签、内容和结束标签一起构成一个完整的HTML元素。元素可以包含文本、图像、链接等内容,并定义了这些内容在页面中的呈现方式。
-
属性 :HTML标签可以包含属性,属性提供有关元素的额外信息。属性位于开始标签中,并以键值对的形式出现,如
<img src="image.jpg" alt="Image">
中的src
和alt
是属性。 -
结构 :HTML文档通常由
<!DOCTYPE>
声明、<html>
元素、<head>
元素和<body>
元素组成。<!DOCTYPE>
声明指定了文档类型,<html>
元素是文档的根元素,<head>
元素包含文档的元数据,而<body>
元素包含可见内容。 -
标题 :通过
<h1>
到<h6>
标签可以定义页面中不同级别的标题,其中<h1>
表示最高级别标题,<h6>
表示最低级别标题。 -
段落 :使用
<p>
标签可以定义段落,将文本块分隔开来,使其在页面上显示为单独的段落。 -
列表 :HTML支持有序列表(
<ol>
)、无序列表(<ul>
)和定义列表(<dl>
),可以用来呈现项目的有序性或关联性。 -
链接 :通过
<a>
标签可以创建超链接,将用户导航到其他页面或资源。<a>
标签的href
属性指定链接目标。 -
图像 :使用
<img>
标签可以插入图像到页面中,src
属性指定图像的URL,alt
属性提供替代文本。 -
表格 :HTML中的
<table>
、<tr>
、<th>
和<td>
标签用于创建表格,展示数据以表格形式排列。
头部标签中常用的标签:
|------------|-------------------|
| 标签 | 描述 |
| <title> | 定义了文档的标题 |
| <base> | 定义了页面链接标签的默认链接地址 |
| <link> | 定义了一个文档和外部资源之间的关系 |
| meta> | 定义了HTML文档中的元数据 |
| <script> | 定义了客户端的脚本文件 |
| <style> | 定义了HTML文档的样式文件 |
内容标签中常用的标签:
|-----------|--------------|
| 标签 | 描述 |
| <table> | 定义一个表格 |
| <tr> | 定义了表格中的一行 |
| <td> | 定义了表格中某一行的一列 |
| <img> | 定义了一个图像 |
| <a> | 定义了一个超链接 |
| <p> | 定义了一行 |
| <br> | 定义了换行 |
| <font> | 定义了字体 |
HTML基本格式:
<html>
<head>网页的内容描述信息</head>
<body>网页显示的内容</body>
</html>
二.HTTP协议
1.http协议简要介绍
HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议,它是互联网上数据交换的基础。HTTP通过客户端和服务器之间的请求和响应来传输数据。
2.http协议版本间区别
-
HTTP/0.9:最早的版本,于1991年诞生。它非常简单,只支持GET方法,并且响应只包含HTML文档,没有响应头等信息。不支持长链接
-
HTTP/1.0:于1996年发布,引入了很多新特性,如请求方法的扩展(POST、HEAD等)、响应状态码、请求头和响应头等。不支持长链接
-
HTTP/1.1:于1997年发布,是当前最常用的版本。相较于HTTP/1.0,HTTP/1.1引入了持久连接、管道化(pipelining)、分块传输编码(chunked transfer encoding)等特性,提高了性能和效率。支持长链接
3.http的请求方法
- GET:请求指定的资源。
- POST:向指定资源提交数据进行处理请求(例如提交表单或上传文件)。
- PUT:上传指定的资源。
- DELETE:删除指定的资源。
- HEAD:类似于GET请求,但只返回响应头部,不返回实际内容。
(1)GET请求会向数据库发索取数据的请求,从而来获取信息,该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
(2)与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,无论进行多少次PUT操作,其结果并没有不同。
(3)POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,几乎目前所有的提交操作都是用POST请求的。
(4)DELETE请求顾名思义,就是用来删除某一个资源的。
4.http协议的状态码
1**(信息类):表示接收到请求并且继续处理
2**(响应成功):表示动作被成功接收、理解和接受
3**(重定向类):为了完成指定的动作,必须接受进一步处理
4**(客户端错误类):请求包含错误语法或不能正确执行
5**(服务端错误类):服务器不能正确执行一个正确的请求
http中常见的状态码:
|-----|------------------|
| 状态码 | 功能描述 |
| 200 | 一切正常 |
| 301 | 永久重定向 |
| 302 | 临时重定向 |
| 401 | 用户名或密码错误 |
| 403 | 禁止访问(客户端IP地址被拒绝) |
| 404 | 请求的文件不存在 |
| 414 | 请求URL头部过长 |
| 500 | 服务器内部错误 |
| 502 | 无效网关 |
| 503 | 当前服务不可用 |
| 504 | 网关请求超时 |
5.URL介绍
统一资源定位符,用于描述某服务器某特定资源位置 资源的具体位置
完整格式:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
scheme:方案,访问服务器以获取资源时要使用哪种协议 http https ftp file
user:用户,某些方案访问资源时需要的用户名
password:密码,用户对应的密码,中间用:分隔
Host:主机,资源宿主服务器的主机名或IP地址
port:端口,资源宿主服务器正在监听的端口号,很多方案有默认端口号
path:路径,服务器资源的本地名,由一个/将其与前面的URL组件分隔
params:参数,指定输入的参数,参数为名/值对,多个参数,用;分隔
query:查询,传递参数给程序,如数据库,用?分隔,多个查询用&分隔
frag:片段,一小片或一部分资源的名字,此组件在客户端使用,用#分隔
6.网站访问量
网站访问量统计的重要指标
IP(独立IP):即Internet Protocol,指独立IP数。一天内来自相同客户机IP 地址只计算一次,记录远程客户机IP地址的计算机访问网站的次数,是衡量网站流量的重要指标
PV(访问量): 即Page View, 页面浏览量或点击量,用户每次刷新即被计算一次,PV反映的是浏览某网站的页面数,PV与来访者的数量成正比,PV并不是页面的来访者数量,而是网站被访问的页面数量
UV(独立访客):即Unique Visitor,访问网站的一台电脑为一个访客。一天内相同的客户端只被计算一次。可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过cookies实现的。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的
7.http协议请求访问的完整过程
HTTP协议请求访问的完整过程通常包括以下步骤:
-
建立连接:客户端通过TCP/IP协议与服务器建立连接,通常使用HTTP默认的80端口或者加密的HTTPS的443端口。
-
接收请求:服务器接收到客户端发送的HTTP请求报文。
-
处理请求:服务器根据请求的URL、方法等信息进行处理,可能包括查找资源、执行业务逻辑等操作。
-
访问资源:服务器访问请求所需的资源,比如文件、数据库等。
-
构建响应报文:服务器根据请求处理的结果,构建HTTP响应报文,包括状态行、响应头部和可选的消息体。
-
发送响应报文:服务器将构建好的HTTP响应报文通过之前建立的TCP连接发送给客户端。
-
记录日志:服务器通常会记录请求的相关信息,比如请求时间、客户端IP地址、请求内容等,以便进行监控、分析和故障排查。