前端介绍
前端开发是创建WEB页面或APP等前端界面呈现给用户的过程,通过HTML、CSS、JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。它从网页制作演变而来,名称上有很明显的时代特征。
HTML用于展现网页的内容、CSS用于展现网页的外观、JavaScript用于实现一些网页动作。
WEB框架的本质
浏览器输入网址回车后都发生了什么?
浏览器(客户端)给服务端发送了一个消息,服务端在拿到了消息之后,服务端返回消息,浏览器展示页面
客户端和服务端的消息格式要一致,因此就有了HTTP协议来约束两边的消息格式。
我们可以写一个服务端来访问自定义的网页:
import socket
sk = socket.socket()
sk.bind(('127.0.0.1',8000))
sk.listen(4)
while 1:
conn,addr = sk.accept()
data = conn.recv(1024) #接收消息
conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
conn.send(b'Hello World!') #发送消息
conn.close()
执行代码后再打开浏览器去访问127.0.0.1:8000这个网址,就可以看到下面的页面:

改变程式码:
conn.send(b'<h1>Hello world!</h1>\n')
这样字体就发生了改变:

发送多行的HTML代码
我们可以新建一个txt文件,把要执行的HTML代码放到里面
服务端通过文件读取HTML代码展现页面:
import socket
sk = socket.socket()
sk.bind(('127.0.0.1',8000))
sk.listen(4)
while 1:
conn,addr = sk.accept()
data = conn.recv(1024) #接收消息
conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
with open('h.txt','rb') as f:
msg = f.read()
conn.send(msg)
conn.close()
txt文档:

那最后的展现结果和上面是一致的
展示图片:
在网上随便找一张图片去拿到它的图片地址,然后在txt档中写下这段代码:
<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTFC_UkJ_78k9qpn5-JoC16WAa-phw7hF8lGsT8AVumfen3FghR&s'>
执行服务端代码再刷新网页:

增加一个链接
<a href='https://ieeexplore.ieee.org/Xplore/home.jsp'>Open Website!</a>
执行服务端代码再刷新网页:

WEB开发的本质:服务端、浏览器、HTML文件
同样如果要将txt档里的文件变更为html档,也是可以有相同的执行效果

服务端:
import socket
sk = socket.socket()
sk.bind(('127.0.0.1',8000))
sk.listen(4)
while 1:
conn,addr = sk.accept()
data = conn.recv(1024) #接收消息
conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
with open('h.html','rb') as f:
msg = f.read()
conn.send(msg)
conn.close()
HTML标签
HTML是一个标准它规定了大家怎么写网页
像'<标签名>...</标签名>'这种格式的语言是标记语言,比如XML、HTML。标签可以分为单标签和双标签。
那像前面所写的HTML语句并不是规范的语句,接下来对它进行改进:
<!DOCTYPE html> <!--声明这是一个HTML5的文件-->
<html> <!--HTML格式-->
<head> <!--用来展示浏览器相关的一些信息(标题、引用的文件)-->
</head>
<body> <!--放文件-->
<h1>Hello world!</h1>
<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTFC_UkJ_78k9qpn5-JoC16WAa-phw7hF8lGsT8AVumfen3FghR&s'>
<a href='https://ieeexplore.ieee.org/Xplore/home.jsp'>Open Website!</a>
</body>
</html>
标签分析
我们可以直接创建一个新的HTML档,里面就有已经写好的HTML结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
<html lang="en">...</html>表示这个网页的主要语言是英文,那如果是中文可以改成<html lang="zh-CN">...</html>
<meta charset="UTF-8">表示编码方式为UTF-8
<title>...</title>表示网页的标题
<!--注释内容-->表示注释
<style>...</style>表示内部的样式表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My first HTML FILE</title>
<style>
a{
color:red;
}
</style>
</head>
<body>
<a href="">Hello world!</a>
</body>
</html>
网页结果:

<script>...</script>表示JS代码或引入JS外部文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My first HTML FILE</title>
<style>
a{
color:red;
}
</style>
<script>
alert("Please wait...")
</script>
</head>
<body>
<a href="">Hello world!</a>
</body>
</html>
网页结果:

<link/>引入外部样式表文件,比如说把CSS写入另外一个文件中在通过link给引入进来
先创建一个c.css文件再写入代码:
a{
color : green;
}
再在html文件中引入这个css文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My first HTML FILE</title>
<link rel="stylesheet" href="c.css">
</head>
<body>
<a href="">Hello world!</a>
</body>
</html>
最后网页上显示:

<meta/>定义网页元信息
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="description" content="html meta,meta properties,meta conclution"> <!--表示这个网页的相关描述-->
<meta name="keywords" content="The first HTML file."> <!--表示网页的关键字-->
<meta http-equiv="refresh" content="10;https://www.runoob.com/"> <!--表示这个网页在十秒之后跳转到另外一个网站-->
<meta http-equiv="x-ua-compatible" content="IE=edge"> <!--让IE以最高模式渲染文档-->
<title>My first HTML FILE</title>
<link rel="stylesheet" href="c.css">
</head>
<body>
<a href="">Hello world!</a>
</body>
</html>
<h1、2..6>...</h1、2...6>之间的差异
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<h1>This is h1!</h1>
<h2>This is h2!</h2>
<h3>This is h3!</h3>
<h4>This is h4!</h4>
<h5>This is h5!</h5>
<h6>This is h6!</h6>
This is h!
</body>
</html>
网页效果:
