把浏览器当成一个客户端来实现server端与客户端的交互html
import socket server = socket.socket() server.bind(('127.0.0.1',8080)) server.listen(5) conn, addr = server.accept() msg = conn.recv(1024) print(msg) # conn.send(b'HTTP/1.1 200 OK\r\n\r\n') #若是想把浏览器做为客户端来访问该服务端,服务端与浏览器交互须要知足HTTP协议的规范,HTTP协议的详细内容会在Django基础讲解。 conn.send(b'OK') conn.send(b'<h1>OK</h1>') # 返回浏览器一个用<h1></h1>包装过的OK,在浏览器段咱们会发现OK变得又大又粗了。 conn.close() server.close()
最基本的文本结构:前端
<!--doctype html 为了告诉浏览器个人文件类型,html默认是意思是html5规则,这里后期的学习不用改,必定记住了--> <!DOCTYPE html> <!--告诉浏览器我是英文,告诉浏览器是哪一种语言 "zh-cn" 是中文--> <html lang="en"> <head> <!--网站配置--> <meta charset="UTF-8"> <!--网站标题--> <title>Title</title> </head> <!--body是浏览器要显示的内容--> <body> 哈哈哈 <strong>哈哈哈</strong> </body> </html>
标签 | 意义 |
<title></title> | 网页标题 |
<meta/> | 网页基本信息 |
<link/> | 引入外部样式 |
<script></script> | 定义JS代码或者引入外部JS文件 |
<style></style> | 定义内部样式表 |
<meta>html5
meta简介:编程
meta的两个属性:浏览器
meta共有两个属性,分别是:http-equiv属性和name属性。不一样的属性拥有不一样的参数值,这些不一样的参数值实现了不一样的页面功能。服务器
<!--2秒后跳转到对应的网址,注意引号--> <meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com"> <!--指定文档的编码类型--> <meta http-equiv="content-Type" charset=UTF8"> <!--告诉IE以最高级模式渲染文档--> <meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转"> <meta name="description" content="老男孩教育Python学院">
基本标签:数据结构
字体标签 | <font>不同意使用,html5中已经废弃此标签</font>app <u>若是文本不是超连接,就不要对其使用下划线</u>socket <i>显示斜体文本效果</i>编程语言 <b>粗体文本</b>根据 HTML5 规范,在没有其余合适标签更合适时,才应该把 <b> 标签做为最后的选项 <strong>把文本定义为语气更强的强调的内容</strong> <s>删除文本</s>在HTML5中再也不支持,用<del>代替了 上标2<sup>1</sup> 下标2<sub>1</sub> |
排版标签 | <h1>~<h6><p><div><span><br><hr> |
超连接标签 | <a> |
图片标签 | <img> |
特殊字符:
  | 空格 |
< | < |
> | > |
&qout | " |
&apos | ' |
这些是最经常使用的。
须要了解的有:
&
:符号&
©
:版权©
™
:商标™
其余字符参照表:http://tool.chinaz.com/Tools/HtmlChar.aspx
a标签的用法
超连接:
返回顶部和返回底部:
链接到指定文件:
img标签的用法
p标签(段落标签)的用法
p标签自带行间距
div标签(段落标签)的用法
没有行间距,只是单纯的换行
span标签的用法
没有行间距,没有换行,只是单纯的空格
table标签的用法
表格标签也是很是经常使用的标签。
生活中的一个表格(table)是由 行(tr) 和(td) 列组成的。
可是在前端中一个表格(table)是由行(tr)组成,行(tr)是由单元格(td)组成。
这个时候咱们发现,这里的表格没有边框呀。别急,边框在表格的属性中能够设置。
border-style:dotted solid double dashed; 点、线、双线、虚线
带一些属性的代码及效果图:
咱们刚才说过前端中的表格(table)仅且只有行(tr)组成。
表格的行也具备本身的属性:
咱们刚才说过前段中行(tr)中是单元格(td),没有列的概念。
单元格也具备本身的属性:
excel中的合并单元格就是把多个单元格合并成一个,在前段中合并单元格也是这样的。
单元格合并能够从一下两个方向出发(单元格的属性):
代码及效果展现:
加粗版的单元格用th替代掉td便可(加粗的是单元格内的内容),其余属性与td同样,不需修改,且单元格内的内容会居中显示。
caption:表格的标题,与tr同级。
caption代码示例及效果:
thead、tbody、tfoot
若是以这三个标签命名,在页面中渲染会先渲染thead,再渲染tbody,再渲染tfoot。
若是有重复的thead、tbody、tfoot的话,则按会按照先头再身子再脚的状况显示,多个头则按前后顺序显示头。
当表格内容很是大、很是多的时候,用thead、tbody、tfoot这种方式排版,数据就能够一边获取一边渲染,若是不,则等数据所有加载完再显示整个表格。
代码及效果演示:
表格标签也是很是经常使用的标签。
生活中的一个表格(table)是由 行(tr) 和(td) 列组成的。
可是在前端中一个表格(table)是由行(tr)组成,行(tr)是由单元格(td)组成。
这个时候咱们发现,这里的表格没有边框呀。别急,边框在表格的属性中能够设置。
border-style:dotted solid double dashed; 点、线、双线、虚线
带一些属性的代码及效果图:
咱们刚才说过前端中的表格(table)仅且只有行(tr)组成。
表格的行也具备本身的属性:
咱们刚才说过前段中行(tr)中是单元格(td),没有列的概念。
单元格也具备本身的属性:
excel中的合并单元格就是把多个单元格合并成一个,在前段中合并单元格也是这样的。
单元格合并能够从一下两个方向出发(单元格的属性):
代码及效果展现:
加粗版的单元格用th替代掉td便可(加粗的是单元格内的内容),其余属性与td同样,不需修改,且单元格内的内容会居中显示。
caption:表格的标题,与tr同级。
caption代码示例及效果:
thead、tbody、tfoot
若是以这三个标签命名,在页面中渲染会先渲染thead,再渲染tbody,再渲染tfoot。
若是有重复的thead、tbody、tfoot的话,则按会按照先头再身子再脚的状况显示,多个头则按前后顺序显示头。
当表格内容很是大、很是多的时候,用thead、tbody、tfoot这种方式排版,数据就能够一边获取一边渲染,若是不,则等数据所有加载完再显示整个表格。
代码及效果演示:
列表(ul,ol)标签的用法
ul无序列表
ul定义一个无序列表,经过type去改变无序列表的那个黑点,disc是实心黑点,默认是如此,square是方块,circle是空心圆.
li是列表中的每个元素
ol有序列表
ol定义一个有序列表,经过type去定义一个有序序号,能够是1,A,a,I,i,有序列表中start属性规定从哪一个序列号开始
li是列表中的一个元素
dl二级菜单
from表单的用法:
功能:
表单用于向服务器传输数据,从而实现用户与Web服务器的交互
表单可以包含input系列标签,好比文本字段、复选框、单选框、提交按钮等等。
表单还能够包含textarea、select、fieldset和 label标签。
表单属性
属性 | 描述 |
---|---|
accept-charset | 规定在被提交表单中使用的字符集(默认:页面字符集)。 |
action | 规定向何处提交表单的地址(URL)(提交页面)。 |
autocomplete | 规定浏览器应该自动完成表单(默认:开启)。 |
enctype | 规定被提交数据的编码(默认:url-encoded)。 |
method | 规定在提交表单时所用的 HTTP 方法(默认:GET)。 |
name | 规定识别表单的名称(对于 DOM 使用:document.forms.name)。 |
novalidate | 规定浏览器不验证表单。 |
target | 规定 action 属性中地址的目标(默认:_self)。 |
点击提交按钮,input中type=submit的那个按钮,而后就会将form表单中全部用户输入的内容或者选择的内容({name属性:值,})都发给服务端(以咱们本身写的那个socket举例,打印一下接收的内容),可是全部的输入标签必须有一个叫作name的属性。