轉載自:http://www.cnblogs.com/liwenzhou/p/7988087.htmlcss
import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5) while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.secd(b"<h1>Hello world!</h1>") conn.close()
瀏覽器發請求 --> HTTP協議 --> 服務端接收請求 --> 服務端返回響應 --> 服務端把HTML文件內容發給瀏覽器 --> 瀏覽器渲染頁面html
客戶端和服務端之間要有一個協議(約定)html5
同理:瀏覽器和server端也要有一個約定,這個約定叫HTTP協議.python
HTTP特色:(瞭解)web
1. 簡單 就一來一回
2. 短鏈接(一來(request)一回(response)就結束了)
3. 無狀態(每一次鏈接對於服務端來講都是新的)編程
#瀏覽器的輸入URL,展現一個頁面這個過程: #jd.com --> https://www.jd.com/ #域名解析 --> 翻譯成IP 端口是默認的80 #到達服務端 #服務端返回字符串
#HTML: #python文件放到.py文件裏 #HTML文件放到.html文件裏了 #HTML標籤: #兩種格式: <標籤名 k1=v1 k2=v2>內容</標籤名> <標籤名 k1=v1 k2=v2/> #經常使用標籤: h1~h6標籤 a標籤 超連接 img 圖片 #HTML註釋: 很是很是很是重要 <!-- 註釋的內容 --> <!-- 圖片開始 --> <img src="" /> <!-- 圖片結束 -->
#HTML # head標籤裏面的 # -meta # -title # -link # icon # -link # 引用CSS文件 # -style # 引用JS文件 # # body標籤(咱們在瀏覽器裏面看到的) # -塊級標籤(獨佔一行) h1~h6 hr p div # -內聯標籤(長度根據內容決定) a b img u s i span # # -特殊符號 # -DIV和span沒有特色(專爲CSS調樣式準備的兩個標籤) # # -嵌套規則 # -塊級標籤能夠嵌套塊級標籤和內聯標籤 # !!!P標籤不能嵌套div標籤 # -內聯標籤通常不能嵌套塊級標籤 # # -img標籤 # -width # -height # -src # -alt # -title # # -a標籤 # -target # -href # -https: // # -相對地址(Django) # -網頁內部跳(錨點) # # HTML --> 裸體的人 # CSS --> 穿上好看的衣服 # JS --> 讓人動起來
HTML是一種標記語言(markup language),它不是一種編程語言。瀏覽器
HTML使用標籤來描述網頁。服務器
最基本的HTML文檔:app
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>css樣式優先級</title> </head> <body> </body> </html>
1)<!DOCTYPE html>聲名爲html5文檔。socket
2)<html>、</html>是文檔的開始標記和結束標記。是HTML頁面的根元素,在它們之間是文檔的頭部(head)和主體(body)。
3)<head>、</head>定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔窗口顯示,包含了文檔的元(meta)數據。
4)<tile>、</tile>定義了網頁標題,在瀏覽器標題欄顯示。
5)<body>、</body>之間的文本是可見的網頁主體內容。
注意:對於中文網頁須要使用<meta charset='utf-8'>聲名編碼, 不然會出現亂碼。有些瀏覽器會設置gbk編碼,則你須要設置<meta charset='gbk'>。
標籤的語法:
幾個很重要的屬性:
<!-- 註釋內容 -->
註釋是代碼之母。--摘自哪吒語錄
<!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位於 <html> 標籤以前。
<!DOCTYPE> 聲明不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪一個 HTML 版本進行編寫的指令。
Meta標籤
meta標籤的組成:meta標籤共有兩個屬性,它們分別是http-equiv屬性和name 屬性,不一樣的屬性又有不一樣的參數值,這些不一樣的參數值就實現了不一樣的網頁功能。
1.http-equiv屬性:至關於http的文件頭做用,它能夠向瀏覽器傳回一些有用的信息,以幫助正確地顯示網頁內容,與之對應的屬性值爲content,content中的內容其實就是各個參數的變量值。
<!--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">
2.name屬性: 主要用於描述網頁,與之對應的屬性值爲content,content中的內容主要是便於搜索引擎機器人查找信息和分類信息用的。
<meta name="keywords" content="meta總結,html meta,meta屬性,meta跳轉"> <meta name="description" content="老男孩教育Python學院">
非Meta標籤
<!--標題--> <title>oldboy</title> <!--icon圖標--> <link rel="icon" href="favicon.ico"> <!--樣式文件--> <link rel="stylesheet" href="mystyle.css"> <!--JS文件--> <script src="myscript.js"></script>
基本標籤(塊級標籤和內聯標籤)
<b>加粗</b> <i>斜體</i> <u>下劃線</u> <s>刪除</s> <p>段落標籤</p> <h1>標題1</h1> <h2>標題2</h2> <h3>標題3</h3> <h4>標題4</h4> <h5>標題5</h5> <h6>標題6</h6> <!--換行--> <br> <!--水平線--><hr>
內容 | 對應代碼 |
---|---|
空格 | |
> | > |
< | < |
& | & |
¥ | ¥ |
版權 | © |
註冊 | ® |
div標籤用來定義一個塊級元素,並沒有實際的意義。主要經過CSS樣式爲其賦予不一樣的表現。
span標籤用來定義內聯行(行內元素),並沒有實際的意義。主要經過CSS樣式爲其賦予不一樣的表現。
塊級元素與行內元素的區別:
所謂塊元素,是以另起一行開始渲染的元素,行內元素則不需另起一行。若是單獨在網頁中插入這兩個元素,不會對頁面產生任何的影響。
這兩個元素是專門爲定義CSS樣式而生的。
注意:
關於標籤嵌套:一般塊級元素能夠包含內聯元素或某些塊級元素,但內聯元素不能包含塊級元素,它只能包含其它內聯元素。
p標籤不能包含塊級標籤。
<img src="圖片的路徑" alt="圖片未加載成功時的提示" title="鼠標懸浮時提示信息" width="寬" height="高(寬高兩個屬性只用一個會自動等比縮放)">
超連接標籤
所謂的超連接是指從一個網頁指向一個目標的鏈接關係,這個目標能夠是另外一個網頁,也能夠是相同網頁上的不一樣位置,還能夠是一個圖片,一個電子郵件地址,一個文件,甚至是一個應用程序。
什麼是URL?
URL是統一資源定位器(Uniform Resource Locator)的縮寫,也被稱爲網頁地址,是因特網上標準的資源的地址。
URL舉例
http://www.sohu.com/stu/intro.html
http://222.172.123.33/stu/intro.html
URL地址由4部分組成
第1部分:爲協議:http://、ftp://等
第2部分:爲站點地址:能夠是域名或IP地址
第3部分:爲頁面在站點中的目錄:stu
第4部分:爲頁面名稱,例如 index.html
各部分之間用「/」符號隔開。
<a href="http://www.oldboyedu.com" target="_blank" >點我</a>
href屬性指定目標網頁地址。該地址能夠有幾種類型:
target:
1)無序列表
<ul type="disc"> <li>第一項</li> <li>第二項</li> </ul>
type屬性:
2)有序列表
<ol type="1" start="2"> <li>第一項</li> <li>第二項</li> </ol>
type屬性:
3)列表標題
<dl> <dt>標題1</dt> <dd>內容1</dd> <dt>標題2</dt> <dd>內容1</dd> <dd>內容2</dd> </dl>
表格是一個二維數據空間,一個表格由若干行組成,一個行又有若干單元格組成,單元格里能夠包含文字、列表、圖案、表單、數字符號、預置文本和其它的表格等內容。
表格最重要的目的是顯示錶格類數據。表格類數據是指最適合組織爲表格格式(即按行和列組織)的數據。
表格的基本結構:
<table> <thead> <tr> <th>序號</th> <th>姓名</th> <th>愛好</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Egon</td> <td>槓娘</td> </tr> <tr> <td>2</td> <td>Yuan</td> <td>日天</td> </tr> </tbody> </table>
屬性:
功能:
表單用於向服務器傳輸數據,從而實現用戶與Web服務器的交互
表單可以包含input系列標籤,好比文本字段、複選框、單選框、提交按鈕等等。
表單還能夠包含textarea、select、fieldset和 label標籤。
表單屬性
屬性 | 值 | 含義 |
---|---|---|
action | URL | 指定一個表單處理目標URL,表單數據將被提交到該URL地址的處理程序。若是該屬性值爲空,則提交到文檔自身。 |
method | get或post | 將表單數據提交到http服務器的方法,默認爲get |
enctype | application/x-www-form-urlencoded | 指定表單數據的編碼類型,此屬性只有在method屬性設置爲post時纔有效。默認值爲application/x-www-form-urlencode對全部字符進行編碼。若是表單包含用於文件上傳的控件(input type="file"),那麼這個屬性值必須設置爲multipart/form-data,不對字符進行編碼。 |
表單元素
基本概念:
HTML表單是HTML元素中較爲複雜的部分,表單每每和腳本、動態頁面、數據處理等功能相結合,所以它是製做動態網站很重要的內容。
表單通常用來收集用戶的輸入信息
表單工做原理:
訪問者在瀏覽有表單的網頁時,可填寫必需的信息,而後按某個按鈕提交。這些信息經過Internet傳送到服務器上。
服務器上專門的程序對這些數據進行處理,若是有錯誤會返回錯誤信息,並要求糾正錯誤。當數據完整無誤後,服務器反饋一個輸入完成的信息
// 清除表單歷史記錄用autocomplete="off" <form autocomplete="off"></form>
type屬性值 | 表現形式 | 對應代碼 |
---|---|---|
text | 單行輸入文本 | <input type=text" /> |
password | 密碼輸入框 | <input type="password" /> |
checkbox | 複選框 | <input type="checkbox" checked="checked" /> |
radio | 單選框 | <input type="radio" /> |
submit | 提交按鈕 | <input type="submit" value="提交" /> |
reset | 重置按鈕 | <input type="reset" value="重置" /> |
button | 普通按鈕 | <input type="button" value="普通按鈕" /> |
hidden | 隱藏按鈕 | <input type="hidden" value="隱藏按鈕" /> |
file | 文本選擇框 | <input type="file" /> |
類型(type)說明:
屬性說明:
<form action="" method="post"> <select name="city" id="city"> <option value="1">北京</option> <option selected="selected" value="2">上海</option> <option value="3">廣州</option> <option value="4">深圳</option> </select> </form>
屬性說明:
定義:<label> 標籤爲 input 元素定義標註(標記)。
說明:
1)label 元素不會向用戶呈現任何特殊效果。
2)<label> 標籤的 for 屬性值應當與相關元素的 id 屬性值相同。
<form action=""> <label for="username">用戶名</label> <input type="text" id="username" name="username"> </form>
<textarea name="memo" id="memo" cols="30" rows="10"> 默認內容 </textarea>
屬性說明: