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. Sql Server利用游标批量清空数据表

    先吐槽一下,由于公司要为新客户部署一个全新的系统,然而公司并没有空库,所以只能把正在线上运行的数据库给备份,然后清空相关数据 下面分享一下我在做清空数据库时写的一个批量清空数据表的方法 思路:查询出该 ...

  2. Linux下快速配置Java开发环境

    1.下载 jdk8官网下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  3. dcoker搭建wordpress

    下载wordpress镜像 docker pull wordpress 创建wordpress容器 docker run -d --name wordpress --link mysql:mysql ...

  4. Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]

    目录 概括 Sparse PCA Formulation 非常普遍的问题 Optimality Conditions Eigenvalue Bounds 算法 代码 概括 这篇论文,不像以往的那些论文 ...

  5. matplotlib 入门之Usage Guide

    文章目录 Usage Guide plotting函数的输入 matplotlib, pyplot, pylab, 三者的联系 Coding style Backends 后端 matplotlib教 ...

  6. 原生jS之-去掉字符串开头和结尾的空字符

    怎么解决这个问题?? 思路就是我们利用正则匹配到所谓的空格,然后替换为空字符,我们要用到的是str的replace API 代码如下: <!DOCTYPE html> <html l ...

  7. Day14 Python基础之os/sys/hashlib模块(十二)

    os模块 os.getcwd()  #获取当前工作路径 os.chdir(‘dirname1/dirname2/dirname3’) #改变当前脚本的工作路径,相当于cmd下的cd os.makedi ...

  8. SpringMvc的Controller singleton synchronized

    SpringMvc的controller是singleton的(非线程安全的) - lvyuanj的专栏 - CSDN博客 https://blog.csdn.net/lvyuanj/article/ ...

  9. Notepad++插件下载和介绍

    20款Notepad++插件下载和介绍 - findumars - 博客园https://www.cnblogs.com/findumars/p/5180562.html

  10. C语言操作WINDOWS系统存储区数字证书相关函数详解及实例

     C语言操作WINDOWS系统存储区数字证书相关函数详解及实例 以下代码使用C++实现遍历存储区证书及使用UI选择一个证书 --使用CertOpenSystemStore打开证书存储区. --在循环中 ...