Web服务的本质(socket实例)

import socket

def handle_request(client):
buf = client.recv(1024)
client.send(bytes("HTTP/1.1 200 OK\r\n\r\n",encoding = 'utf-8'))
client.send(bytes("welcome")) def main():
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('localhost', 8000))
sock.listen(5) while True:
try:
connection, address = sock.accept()
handle_request(connection)
connection.close()
except:
pass if __name__ == '__main__':
main()

Web Server

HTML文档树

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> </body>
</html>

HTML文件结构

Doctype

Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档

<!DOCTYPE html>

标签分类

1. 自闭和标签

<title>Title</title>

2. 主动闭合标签

<meta />

所有标签可以分为两类

  - 块级标签:div,H系列,p级标签... (特性,占整行内容,可以设置高度和宽度)

  - 内联标签(行内标签):span标签... (特性,有多少占多少,无法设置高度和宽度)

head部分

Meta(metadata information)

提供有关页面的元信息,例:页面编码、刷新、跳转、针对搜索引擎和更新频度的描述和关键词

1. 页面编码(告诉浏览器使用什么编码)

< meta http-equiv=“content-type” content=“text/html;charset=utf-8”/>

2. 刷新和跳转

< meta http-equiv="Refresh" Content="30"/>

< meta http-equiv="Refresh" Content="5"; Url="http://www.autohome.com.cn"/>

3. 关键字(搜索引擎的爬虫就是根据这里写的关键字去寻找对用的页面)

<meta name="keywords" content="Html,css,社区,python"/>

4. 描述

<meta name="description" content="描述信息"/>

5. X-UA-Compatible

  用来解决HTML代码与IE之间的兼容,更多

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

title

网页的标题

<title>Title</title>

link

1. 引入CSS文件

< link rel="stylesheet" type="text/css" href="css/common.css" >

2. 页面图标 icon

< link rel="shortcut icon" href="image/favicon.ico">

Style

在页面中写css样式

<style>
.pg-head {
height: 30px;
background-color: green;
position: fixed;
top: 0;
right: 0;
left: 0;
}
</style>

Script

1. 引入JS文件

< script type="text/javascript" src="js/gpt.js"> </script >

2. 写JS代码

< script type="text/javascript" > ... </script >

body

网页图片HTML代码大全

P和br标签

p表示段落,默认段落之间是有间隔的!

br 是换行

<p>段落内容</p>
<br/>

H标签

<h1>H1</h1>
<h2>H2</h2>
<h3>H3</h3>
<h4>H4</h4>
<h5>H5</h5>
<h6>H6</h6>

div和span标签

div是块级标签

span是行内标签

<div>hello world</div>
<span>hello world</span>

form表单

input标签和form标签的结合

<form action="http://localhost:8888/index" method="GET">
<input type="text" name="user" />
<input type="password" name="pwd" />
<input type="submit" value="登录" />
</form>

action为提交的地址,method为提交的方式(GET:将提交的数据嵌套的URL上进行提交;POST:将提交的数据放在body中提交)

添加属性:disabled输入框将不可编辑

input type="text"  - 普通文本输入框  属性:name,values

input type="password"  - 密文输入框     属性:name,values

<form action="http://www.spdir.top" method="POST">
user: <input type="text" name="user" valuse="user" />
password: <input type="password" name="pwd" values="password" />
</form>

<div style="width: 600px; margin: 0 auto;">
<input type="text" placeholder="请输入搜索内容" />
</div>

input type='submit'  - 提交表单按钮,属性values
input type='button'  - 普通按钮,没有实际意义(用于结合JS使用),属性values
input type='reset'          - 重置 ,属性values

<form action="http://www.spdir.top" method="POST">
<input type="submit" value="提交"/>
<input type="button" value="按钮"/>
  <input type="reset" value="重置"/>
</form>

input type='radio'    - 单选框,属性value,checked="checked",name(name相同则互斥),checked="checked"设置默认值

<form action="http://www.spdir.top" method="POST">
男: <input type="radio" name="gender" value="1"/>
女: <input type="radio" name="gender" value="2" />
保密: <input type="radio" name="gender" value="3" checked="checked" />
</form>

input type='checkbox' - 复选框 属性value, checked="checked",name属性(批量获取数据),checked="checked"设置默认值

<form action="http://www.spdir.top" method="POST">
<p>爱好</p>
篮球: <input type="checkbox" name="interest" value="1"/>
足球: <input type="checkbox" name="interest" value="2"/>
羽毛球: <input type="checkbox" name="interest" value="3"/>
游泳: <input type="checkbox" name="interest" value="3"/>
读书: <input type="checkbox" name="interest" value="4" checked="checked"/>
学习: <input type="checkbox" name="interest" value="5"/>
</form>

input type='file'     - 上传文件,依赖form表单的一个属性 enctype="multipart/form-data"

<form action="http://www.spdir.top" enctype="multipart/form-data" method="POST">
<input type="file" name="fname" />
</form>

form与select的结合

属性:selected="selected"用来设置默认值

<form action="http://www.spdir.top"  method="POST">
city1:
<select name="city1">
<option value="1">北京</option>
<option value="2" selected="selected">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
<option value="5">成都</option>
</select>
</form>

在select标签中设置一个属性size指定显示的多少个值

<form action="http://www.spdir.top"  method="POST">
city2:
<select name="city2" size="6">
<option value="1">北京</option>
<option value="2" selected="selected">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
<option value="5">成都</option>
</select>
</form>

在select标签中设置一个multiple="multiple"属性可以进行多选

<form action="http://www.spdir.top"  method="POST">
city3:
<select name="city3" multiple="multiple" size="5">
<option value="1">北京</option>
<option value="2" selected="selected">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
<option value="5">成都</option>
</select>
</form>

进行分组,使用optgroup标签嵌套option标签

<form action="http://www.spdir.top"  method="POST">
city4:
<select name="city4">
<optgroup label="河北省">
<option value="1">石家庄</option>
<option value="2">邯郸</option>
</optgroup>
<optgroup label="北京">
<option value="3" selected="selected">朝阳</option>
<option value="4">海淀</option>
</optgroup>
</select>
</form>

form与textarea的结合

textarea标签可以进行多行输入,而input的type="text"只能进行单行输入

<form action="http://www.spdir.top"  method="POST">
<textarea name="word"></textarea>
</form>

a标签

 - 跳转

<a href="http://wwww.baidu.com">当前页面打开</a>

<a href="http://www.baidu.com" target="_blank">新的页面打开</a>

 - 锚

在跳转到的标签内使用id属性设置一个id,在a标签中使用href属性进行跳转

<!--锚-->
<a href="#i1">第一章</a>
<a href="#i2">第二章</a>
<a href="#i3">第三章</a> <div id="i1" style="height: 600px;">第一章内容</div>
<div id="i2" style="height: 600px;">第二章内容</div>
<div id="i3" style="height: 600px;">第三章内容</div>

img标签

用来引入图片

属性:src - 图片的地址

      title - 图片的标题

      alt - 当图片的地址找不到无法显示的时候,显示alt的内容

<img src="a.jpeg" title="头像" style="height: 300px; width: 200px;" alt="链接找不到显示"/>

列表标签

 无序列表

使用ul嵌套li标签

<!--无序-->
<ul>
<li>aaa</li>
<li>aaa</li>
<li>aaa</li>
</ul>

有序列表

使用ol嵌套li标签

<!--有序-->
<ol>
<li>aaa</li>
<li>aaa</li>
<li>aaa</li>
</ol>

分组列表

使用dl嵌套dt(分组的名)标签,dt标签嵌套dd标签

<!--分组列表-->
<dl>
<dt>group 1</dt>
<dd>body 1</dd>
<dt>group 2</dt>
<dd>body 2</dd>
</dl>

表格标签

写法:

1) 简略写法

<table border="1">
<tr>
<th>主机名</th>
<th>端口</th>
</tr>
<tr>
<th>1.1.1.1</th>
<th>80</th>
</tr>
<tr>
<th>2.2.2.2</th>
<th>443</th>
</tr>
</table>

2)标准写法(需要写出表头thead和内容tbody的标签)

<table border="1px">
<thead>
<tr>
<th>主机名</th>
<th>端口</th>
</tr>
</thead>
<tbody>
<tr>
<th>1.1.1.1</th>
<th>80</th>
</tr>
<tr>
<th>2.2.2.2</th>
<th>443</th>
</tr>
</tbody>
</table>

合并单元格

colspan横向合并单元格,rowspan纵向合并单元格

    <table border="1">
<thead>
<tr>
<th>表头1</th>
<th>表头2</th>
<th>表头3</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="2" >1</th> <!-- 横向合并单元格 -->
<th>1</th>
</tr>
<tr>
<th rowspan="2">2</th> <!-- 纵向合并单元格 -->
<th>2</th>
<th>2</th>
</tr>
<tr>
<th>3</th>
<th>3</th>
</tr>
</tbody>
</table>

label标签

用于点击鼠标,使得关联的标签获取光标

<label for="username1">用户名:</label>
<input id="username1" type="text"/>

效果就是,点击用户名也可以在input框中进行输入

fieldest标签

<fieldset></fieldset>

可以实现一个这样的框框

嵌套 legend 标签可以实现

<fieldset>
<legend>登录</legend>
</fieldset>

那这个标签又有什么用呢,我们可以实现一个:如图的样子(样式虽然有些丑,但我们可以用css做修饰)

<fieldset>
<legend>登录</legend>
<label for="username2">用户名:</label>
<input id="username2" type="text"/>
<br/>
<label for="pwd">密码:</label>
<input id="pwd" type="password"/>
</fieldset>

video视频

提供了播放、暂停和音量控件来控制视频

control 属性供添加播放、暂停和音量控件

<video style="height: 300px; width: 300px;" controls>
<source src="a.mp4" type="video/mp4">
</video>

支持的视频格式:

MP4    video/mp4
WebM video/webm
Ogg video/ogg

audio音频

control 属性供添加播放、暂停和音量控件

<audio controls>
<source src="王建房%20-%20在人间.mp3" type="audio/mpeg">
</audio>

hr分割线

<hr />

更多

Font Awesome

IconFont

HTML知识点总结[部分]的更多相关文章

  1. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  2. ASP.NET MVC开发:Web项目开发必备知识点

    最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...

  3. UWP开发必备以及常用知识点总结

    一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...

  4. C#高级知识点&(ABP框架理论学习高级篇)——白金版

    前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...

  5. lucene 基础知识点

    部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...

  6. DoraCMS 源码知识点备注

    项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https:// ...

  7. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  8. HTML5知识点总结

    HTML5知识点总结(一) 一.HTML新增元素 1.IE9版本以下支持HTML5的方法 <!--[if lt IE9]> <script src="http://cdn. ...

  9. JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

  10. Sqlserver中一直在用又经常被忽略的知识点一

    已经有快2个月没有更新博客了,实在是因为最近发生了太多的事情,辞了工作,在湘雅医院待了一个多月,然后又新换了工作...... 在平时的工作中,Sqlserver中许多知识点是经常用到的,但是有时候我们 ...

随机推荐

  1. ASP.Net Core2.1中的HttpClientFactory系列一:HttpClient的缺陷

    引言: ASP.NET Core2.1 中出现了一个新的 HttpClientFactory 功能, 它有助于解决开发人员在使用 HttpClient 实例从其应用程序中访问外部 web 资源时可能遇 ...

  2. 通过 Systemd Journal 收集日志

    随着 systemd 成了主流的 init 系统,systemd 的功能也在不断的增加,比如对系统日志的管理.Systemd 设计的日志系统好处多多,这里笔者就不再赘述了,本文笔者主要介绍 syste ...

  3. python 跨域处理方式

    因为浏览器的同源策略限制,不是同源的脚本不能操作其他源下面的资源,想操作另一个源下面的资源就属于跨域了,这里说的跨域是广义跨域,我们常说的代码中请求跨域,是狭义的跨域,即在脚本代码中向非同源域发送ht ...

  4. MRO C3算法 super的运用

    -------------态度决定成败,无论情况好坏,都要抱着积极的态度,莫让沮丧取代热心.生命可以价值极高,也可以一无是处,随你怎么去选择.# --------------------------- ...

  5. 抓包工具Charles的使用心得

    简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用.开发iOS都在 ...

  6. p211有界自共轭算子T是实数集合的子集

    对条件 取非   是 ∉谱集合的实数 才对  现在是  入  属于正则点集 他  然后  又说T 的谱是实数 这不矛盾吗 这里根据   必要性    推出 蓝色和红色矛盾    矛盾就是 这是谱点 然 ...

  7. openstack-云计算概述

    一.云计算 1.云计算解决的问题 备机准备(低配) 故障恢复 安装系统 硬件资源浪费 电力资源浪费 2.云计算概念 (1)维基百科 云计算是一种通过因特网以服务的方式提供动态可伸缩的虚拟化的资源的计算 ...

  8. 软件工程(FZU2015) 赛季得分榜,第七回合

    SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分: 团队项目分=团队得分+个人贡献分 个人贡献分: 个人 ...

  9. Ubuntu端口开放

    一.关于iptable的介绍 维基百科:https://zh.wikipedia.org/wiki/Iptables 注意:iptables的操作需要root权限 二.具体操作 sudo apt-ge ...

  10. 【转】linux下查看磁盘分区的文件系统格式

    https://www.cnblogs.com/youbiyoufang/p/7607174.html