超文本傳輸協議,規定了瀏覽器與服務端之間數據傳輸的格式。css
長連接
websocket
(相似於http協議
的大補丁),應用場景:聊天室相關的。html
數據格式分爲請求格式和響應格式python
請求格式:web
響應格式:django
用數字來表示一大堆提示信息
1XX:
服務端已經成功接收到客戶端的數據正在處理 你能夠繼續提交
2XX:
200請求成功 服務端已經返回了你想要的數據
3XX:
重定向(本來想訪問A可是內部自動給你轉到了B上面)
4XX:
404請求資源不存在,403你當前不具有請求該資源的條件
5XX:
500服務端內部錯誤 多是服務器宕機編程
公司內部能夠本身定製本身的響應狀態碼瀏覽器
1.get請求
朝服務端要資源(獲取數據)
相似於瀏覽器窗口輸入www.baidu.com獲取百度首頁
2.post請求
朝服務端提交數據(提交數據)
相似於登陸註冊功能服務器
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.send(b"<h1>Hello world!</h1>") conn.close()
瀏覽器發請求 --> HTTP協議 --> 服務端接收請求 --> 服務端返回響應 --> 服務端把HTML文件內容發給瀏覽器 --> 瀏覽器渲染頁面websocket
瀏覽器窗口輸入一個網址敲回車發生了哪些事?cookie
HTML是一種標記語言(markup language),它不是一種編程語言。
HTML使用標籤來描述網頁。
最基本的HTML文檔:
# 單行註釋:<!--單行--> # 多行註釋:<!-- 多行註釋1 多行註釋2 --> <!DOCTYPE html> <html lang="zh-CN"> <!--head定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔窗口顯示。包含了文檔的元(meta)數據。--> <head> <meta charset="utf-8"> <!-- title定義網頁的標題,在瀏覽標題欄顯示--> <title>我是網頁的標題</title> </head> <!--<body>、</body>之間的文本是可見的網頁主體內容。--> <body> </body> </html>
一、<!DOCTYPE html>聲明爲HTML5文檔。
二、、是文檔的開始標記和結束的標記。是HTML頁面的根元素,在它們之間是文檔的頭部(head)和主體(body)。
三、、定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔窗口顯示。包含了文檔的元(meta)數據
四、
五、、之間的文本是可見的網頁主體內容。
注意:對於中文網頁須要使用 聲明編碼,不然會出現亂碼。有些瀏覽器會設置 GBK 爲默認編碼,則你須要設置爲 。
<html>
, <div>
等<div>
和</div>
,第一個標籤是開始,第二個標籤是結束。結束標籤會有斜線。<br/>
、<hr/>
、<img src="1.jpg" />
等。標籤的語法:
幾個很重要的屬性:
<!--註釋內容-->
註釋是代碼之母。
<!DOCTYPE>
標籤<!DOCTYPE>
聲明必須是 HTML 文檔的第一行,位於 <html>
標籤以前。
<!DOCTYPE>
聲明不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪一個 HTML 版本進行編寫的指令。
標籤 | 意義 |
---|---|
<title></title> |
定義網頁標題 |
<style></style> |
定義內部樣式表 |
<script></script> |
定義JS代碼或引入外部JS文件 |
<link/> |
引入外部樣式表文件或網站圖標 |
<meta/> |
定義網頁原信息 |
Meta標籤介紹:
<meta>
元素可提供有關頁面的元信息(mata-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="百度網頁">
<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標籤不能包含塊級標籤,p標籤也不能包含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 各部分之間用「/」符號隔開。 URL
<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標籤。
表單屬性
屬性 | 描述 |
---|---|
accept-charset | 規定在被提交表單中使用的字符集(默認:頁面字符集)。 |
action | 規定向何處提交表單的地址(URL)(提交頁面)。 |
autocomplete | 規定瀏覽器應該自動完成表單(默認:開啓)。 |
enctype | 規定被提交數據的編碼(默認:url-encoded)。 |
method | 規定在提交表單時所用的 HTTP 方法(默認:GET)。 |
name | 規定識別表單的名稱(對於 DOM 使用:document.forms.name)。 |
novalidate | 規定瀏覽器不驗證表單。 |
target | 規定 action 屬性中地址的目標(默認:_self)。 |
表單元素
基本概念:
HTML表單是HTML元素中較爲複雜的部分,表單每每和腳本、動態頁面、數據處理等功能相結合,所以它是製做動態網站很重要的內容。
表單通常用來收集用戶的輸入信息
表單工做原理:
訪問者在瀏覽有表單的網頁時,可填寫必需的信息,而後按某個按鈕提交。這些信息經過Internet傳送到服務器上。
服務器上專門的程序對這些數據進行處理,若是有錯誤會返回錯誤信息,並要求糾正錯誤。當數據完整無誤後,服務器反饋一個輸入完成的信息。
from django.conf.urls import url from django.shortcuts import HttpResponse def upload(request): print("request.GET:", request.GET) print("request.POST:", request.POST) if request.FILES: filename = request.FILES["file"].name with open(filename, 'wb') as f: for chunk in request.FILES['file'].chunks(): f.write(chunk) return HttpResponse('上傳成功') return HttpResponse("收到了!") urlpatterns = [ url(r'^upload/', upload), ] Django接收上傳文件代碼
<input>
元素會根據不一樣的 type 屬性,變化爲多種形態。
type屬性值 | 表現形式 | 對應代碼 |
---|---|---|
text | 單行輸入文本 | <input type=text" /> |
password | 密碼輸入框 | <input type="password" /> |
date | 日期輸入框 | <input type="date" /> |
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" /> |
file | 文本選擇框 | <input type="file" /> |
屬性說明:
<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>
屬性說明:
定義:
<form action=""> <label for="username">用戶名</label> <input type="text" id="username" name="username"> </form>
<textarea name="memo" id="memo" cols="30" rows="10"> 默認內容 </textarea>
屬性說明: