web服务的本质
import socket server = socket.socket() server.bind(('127.0.0.1', 8888)) server.listen() client, address = server.accept() data = client.recv(1024) client.send(b'HTTP/1.1 200 OK ') client.send(b'<h1>Hello word!</h1>') client.close()
浏览器发送请求--->HTTP协议--->服务端接收请求--->
服务端把HTML文件内容发给浏览器--->浏览器渲染页面
HTML是什么
超文本标记语言是一种用于创建网页的标记语言(不是一种编程语言)
本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。
对不同的浏览器,对同一个标签可能会有不同的解释。(兼容性的问题)
网页文件的扩展名:.html / .htm
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>这是一个网页!</title> </head> <body> </body> </html>
1.<!DOCTYPE html> 声明为HTML5文档。
2.<html></html> 是文档的开始标记和结束的标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)
3.<head></head>定义HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。
4.<title></title>定义了网页标题,在浏览器标题栏显示。
5.<body></body>之间的文本是可见的网页主体内容。
head内的常用标签
<title></title>定义网页的标题
<style></style>定义内部样式表
<script></script>定义JS代码或者引入外部JS文件
<link/>引入外部样式表文件或网站图标
<meta/>定义网页原信息
meta标签
<meta>元素可提供有关页面的原信息(meta-information),针对搜索引擎和更新频度的描述和关键词。
<meta>标签位于文档的头部不包含任何内容。
<meta>提供的信息是用户不可见的。
meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能
1.http-equiv属性:相当于http的文件头作用,它可以向浏览器传回一些有用的信息,
以帮助正确的显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
<!--指定文档的编码类型(需要知道)--> <meta http-equiv="content-Type" charset=UTF8"> <!--2秒后跳转到对应的网址,注意引号(了解)--> <meta http-equiv="refresh" content="2;URL=https://www.baidu.com"> <!--告诉IE以最高级模式渲染文档(了解)--> <meta http-equiv="x-ua-compatible" content="IE=edge">
2.name属性:主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查询信息和分类信息用的
<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转"> <meta name="description" content="Python学院">