編程入門之web開發的基礎概念

私信我或關注猿來如此呀公眾號,回覆:視頻學習,免費領取30天學習資源包

關於WEB

Web:英文單詞[網狀物],主要用於表示計算機中的廣域網絡[world wide web](www)。

world wide web:全球廣域網絡,也稱為萬維網,是一種基於超文本和HTTP的全球性的、動態交互的、跨平臺的分佈式圖形信息系統,是建立在internet上的一種網絡服務。

web軟件,是一種基於web為其數據交互基礎的計算機軟件。

該類型軟件,通過web萬維網的數據交互協議,通過網絡進行數據傳輸,主要目的是高效率的跨平臺跨地區數據共享。


編程入門之web開發的基礎概念


什麼是協議

協議:是一種共同協商、計議之後通過的一種約定。

網絡協議:互聯網中的不同主機之間互相傳遞數據的一種約定,由ISO組織定義協議的描述模型(通常稱為7層網絡傳輸模型),規範網絡傳輸的各種協議性質。

PS1:OSI(Open System Initiative)開放式系統互聯,一個推動開源軟件發展的非盈利性質的組織

PS2:OSI/RM參考模型(Open System Interconnection Reference Model),是由國際化標準ISO(International Oranization for Standardization)提出的一個網絡系統互聯參考模型

PS3:OSI/RM參考模型

OSI模型層

功能描述

涉及協議

應用層

Application layer

文件傳輸、電子郵件等等

FTP/TFTP/HTTP/SMTP/

DNS/Telnet..

表示層

Presentation layer

數據格式化、代碼轉換

數據加密等等

會話層

Session layer

建立或者解除與其他節點之間的聯繫

傳輸層

Transport layer

提供端對端的接口

TCP/UDP

網絡層

Network layer

數據包傳輸路由

IP/ICMP/RIP/OSPE

IGMP/BGP..

數據鏈路層

Datalink layer

傳輸有地址的幀

錯誤檢測功能

SLIP/GSLIP/PPP/

ARP/RAPR/MTU..

物理層

Physical layer

二進制數據在物理媒體上的傳輸

中繼器、集線器、雙絞線等等

web開發時使用的網絡傳輸協議

協議名稱

描述

IP協議

是將多個包交換網絡連接起來,在源地址和目標地址之間傳輸數據包並對數據包進行拆分和重組以適應不同的網絡大小

TCP協議

Transmission Control Protocal 傳輸控制協議

一種端對端的、可靠的、基於IP的傳輸層協議

特點:3次握手建立連接;4次揮手斷開連接

UDP協議

User Datagram Protocal用戶數據報協議

一種無連接的傳輸層協議

FTP協議

File Transfer Protocal文件傳輸協議

TCP/IP協議族中的一種

特點:FTP協議包含兩部分[服務器][客戶端]

SMTP協議

Simple Mail Transfer 簡單郵件傳輸協議

TCP/IP協議族中的一種

郵件發送服務協議

POP3協議

Post Office Protocal-Version3 郵局協議版本3

TCP/IP協議族中的一種

HTTP協議

HyperText Transfer Protocal超文本傳輸協議

HTTPS協議

HyperText Transfer Protocal over Secure Socket Layer

安全HTTP協議通道,簡稱安全的超文本傳輸協議

超文本傳輸協議(HTTP)

HTTP(HyperText Transfer Protocol),是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發佈和接收HTML頁面的方法。是一個基於TCP/IP通信協議來傳遞數據,一個屬於應用層的面向對象的協議 。

瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。Web服務器根據接收到的請求後,向客戶端發送響應信息。

主要特點:簡單快速,無連接,無狀態,支持B/S及C/S模式


編程入門之web開發的基礎概念


URI與URL

URI(Uniform Resource Identifiers):統一資源標識符,HTTP使用URI來傳輸數據和建立連接。

URL(Uniform Resource Locator):統一資源定位器,是一種特殊類型的URI,包含了用於查找某個資源的足夠的信息

HTTP請求方式

客戶端向服務器發送數據請求,根據請求的性質區分不同的請求方式

HTTP1.0定義了三種請求方法:GET, POST 和 HEAD方法

HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT協議,也就是說現在共有8種不同的請求方式

  • OPTIONS:返回服務器對指定資源數據支持的HTTP請求方法,一般用於測試服務器功能的可用性
  • HEAD:返回服務器上對指定資源數據的HTTP請求頭,在不需要返回全部數據的情況下測試指定功能大可用性
  • GET:向服務器請求指定的資源
  • POST:向服務器提交數據請求處理,數據被包含在請求體中
  • PUT:向服務器上傳指定的數據
  • DELETE:向服務器發送請求刪除指定數據
  • TRACE:回顯服務器收到的請求,主要進行功能測試診斷
  • CONNECT:HTTP1.1協議中預留請求方式,可以將連接改為管道方式的代理服務器。

web開發行業術語

硬件:組成計算機的各種元器件,如CPU、硬盤、鍵盤、鼠標等。

服務器:專門用於提供網絡數據訪問服務的主機。

客戶端:發起請求訪問數據的主機的計算機軟件。

網絡:有大量計算機和網絡介質組成,用於計算機間進行數據交互。

協議:訪問數據的數據編碼及傳輸方式或者規定。

web服務器:專門將指定大數據共享在網絡中的一種數據容器軟件

web程序:可以在網絡上訪問並且進行數據處理的程序

web接口:瀏覽器通過url地址可以訪問調用的一個函數或者方法


編程入門之web開發的基礎概念


wsgi接口開發

wsgi(web server gateway interface):web服務網管接口,是一個web服務網關接口組件。

所謂網關接口,就是指代的一個處理節點,處理節點反映到web程序中就是一個簡單的處理函數,如定義一個處理根節點的接口

在Python中,Python語言也實現了wsgi的web接口編程,如下代碼案例演示:

"""

python使用wsgi編程demo

"""

def index(env,respose):

# 設置響應頭信息

respose("200 OK",[("Content-Type","text/html;charset=utf-8")])

print(env)

print(env["PATH_INFO"])

print(env["QUERY_STRING"])

msg = "歡迎訪問我的第一個頁面"

return [msg.encode("utf-8")]

# 導入Python實現了wsgi接口編程的模塊和方法

from wsgiref.simple_server import make_server

# 設置ip地址和端口及處理函數

httpd = make_server("",8080,app=index)

# 啟動服務器

httpd.serve_forever()

啟動程序,使用瀏覽器訪問http://localhost:8080/,效果如下:


編程入門之web開發的基礎概念


打印控制檯env參數查看,我們發現env是一個字典,注意其中PATH_INFO和QUERY_STRING這兩個key對應的值。

PATH_INFO獲取的就是該頁面的URI,我們就可以利用它來傳遞參數

QUERY_STRING獲取的是使用get請求傳遞的參數。

私信我或關注猿來如此呀公眾號,回覆:視頻學習,免費領取30天學習資源包


分享到:


相關文章: