Html和websocket初識,Htmlwebsocket初識
一、web架構
眾所周知,對於所有的Web應用,本質上其實就是一個socket服務端,使用者的瀏覽器其實就是一個socket用戶端。
import socket def handle_request(client): buf = client.recv(1024) client.send(b"HTTP/1.1 200 OK\r\n\r\n") client.send(b"Hello, Bigberg") def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('localhost',8000)) sock.listen(5) while True: connection, address = sock.accept() handle_request(connection) connection.close() if __name__ == '__main__': main()
上述通過socket來實現了其本質,而對於真實開發中的python web程式來說,一般會分為兩部分:伺服器程式和應用程式。伺服器程式負責對socket伺服器進行封裝,並在請求到來時,對請求的各種資料進行整理。應用程式則負責具體的邏輯處理。為了方便應用程式的開發,就出現了眾多的Web架構,例如:Django、Flask、web.py 等。不同的架構有不同的開發方式,但是無論如何,開發出的應用程式都要和伺服器程式配合,才能為使用者提供服務。這樣,伺服器程式就需要為不同的架構提供不同的支援。這樣混亂的局面無論對於伺服器還是架構,都是不好的。對伺服器來說,需要支援各種不同架構,對架構來說,只有支援它的伺服器才能被開發出的應用使用。這時候,標準化就變得尤為重要。我們可以設立一個標準,只要伺服器程式支援這個標準,架構也支援這個標準,那麼他們就可以配合使用。一旦標準確定,雙方各自實現。這樣,伺服器可以支援更多支援標準的架構,架構也可以使用更多支援標準的伺服器。
WSGI(Web Server Gateway Interface)是一種規範,它定義了使用python編寫的web app與web server之間介面格式,實現web app與web server間的解耦。
二、Html是什麼
- 超文字標記語言 (HTML)(Hypertext Markup Language,HTML)通過標籤語言來標記要顯示的網頁中的各個部分。一套規則,瀏覽器認識的規則
- 瀏覽器按順序渲染網頁檔案,然後根據標記符解釋和顯示內容。但需要注意的是,對於不同的瀏覽器,對同一標籤可能會有不完全相同的解釋(相容性)
- 靜態網頁副檔名:.html 或 .htm
三、Html結構
- <!DOCTYPE html> 告訴瀏覽器使用什麼樣的html或者xhtml來解析html文檔
- <html></html>是文檔的開始標記和結束標記。此元素告訴瀏覽器其自身是一個 HTML 文檔,在它們之間是文檔的頭部<head>和主體<body>
- <head></head>元素出現在文檔的開頭部分。<head>與</head>之間的內容不會在瀏覽器的文件視窗顯示,但是其間的元素有特殊重要的意義。
- <title></title>定義網頁標題,在瀏覽器標題列顯示。
- <body></body>之間的文本是可見的網頁主體內容
四、Html標籤格式
標籤的文法:
<標籤名 屬性1=“屬性值1” 屬性2=“屬性值2”……>內容部分</標籤名>
<標籤名 屬性1=“屬性值1” 屬性2=“屬性值2”…… />
五、Html注釋
注釋 <!-- -->
<!DOCTYPE html># 單行注釋<!-- 這是注釋格式 --><!--DOCTYPE 對應關係--><html lang="en"># 多行注釋<!-- html標籤,只能有一個html標籤,標籤內部可以寫屬性, lang="en"就是內部屬性--><head> <!--head標籤中定義的東西外部看不見,除了title標籤,title是標題 --> <meta charset="UTF-8"> <!-- 指定字元編碼 --> <title>網頁標題</title> <!----></head><body> <a href="http://www.baidu.com">百度</a></body></html>