#HTTP client-server
為崆峒等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及崆峒網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、崆峒網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
Client————>Server
(
Get/http/1.1
Host:httpbln.org
User-Agent:Httple/0.9.9
Accept:*/*
)
Server————>Client
(
Http/1.1 200 OK
Content-Length:580
Content-Type:applcation/json
Date:Tue,25...
Connection:keep-alive
)
1.通過(guò)請(qǐng)求和響應(yīng)的交換達(dá)成通信
2.不保存通信狀態(tài)
3.使用URL定位互聯(lián)網(wǎng)上的資源
4.請(qǐng)求資源時(shí)使用方法下達(dá)命令(GET、POST、HEAD等)
5.通過(guò)持久鏈接節(jié)省通信量
6.使用cookie來(lái)進(jìn)行狀態(tài)管理
http請(qǐng)求報(bào)頭
1.第一行定義請(qǐng)求類型、文檔(選擇符)和協(xié)議版本
2.接著是報(bào)頭行,包括各種有關(guān)客戶端的信息
3.報(bào)頭行后面是一個(gè)空白行,表示報(bào)頭行結(jié)束
4.之后是 發(fā)送表單的信息或者上傳文件的事件中可能出現(xiàn)的數(shù)據(jù)
5.報(bào)頭的每一行都應(yīng)該使用回車符或者換行符('\r\n')終止——windows下
http響應(yīng)
1.第一行表示HTTP協(xié)議版本、成功代碼和返回消息
2.響應(yīng)行之后是一系列報(bào)頭字段,包含返回文檔的類型、文檔大小、Web服務(wù)器軟件、cookie等方面的信息
3.通過(guò)空白行結(jié)束報(bào)頭
4.之后是所請(qǐng)求文檔的原始數(shù)據(jù)
http常見請(qǐng)求方法
方法 | 描述 |
GET | 獲取文檔 |
POST | 將數(shù)據(jù)發(fā)布到表單 |
HEAD | 僅返回包頭信息 |
PUT | 將數(shù)據(jù)上傳到服務(wù)器 |
··· | ··· |
常見http狀態(tài)碼
成功代碼(2xx):200(成功) 201(創(chuàng)建) 202(接受) 204(無(wú)內(nèi)容)
重定向(3xx):300(多種選擇) 301(永久移動(dòng)) 302(可被303代替) 303(臨時(shí)移動(dòng)) 304(不修改)
客戶端錯(cuò)誤(4xx):400(請(qǐng)求錯(cuò)誤) 401(未授權(quán)) 403(禁止訪問(wèn)) 404(未找到) 405(方法不允許)
服務(wù)器錯(cuò)誤(5xx):500(內(nèi)部服務(wù)器錯(cuò)誤) 501(未實(shí)現(xiàn)) 502(網(wǎng)關(guān)錯(cuò)誤) 503(服務(wù)不可用)
Python3 標(biāo)準(zhǔn)web庫(kù)
http:處理所有客戶端一服務(wù)器http請(qǐng)求的具體細(xì)節(jié)
client:處理客戶端部分
server:提懂了實(shí)現(xiàn)HTTP服務(wù)器的各種類
cookies:支持在服務(wù)器端處理HTTP cookie
cookiejar:支持在客戶端存儲(chǔ)和管理HTTP cookie
urllib:基于http的高層庫(kù),用于編寫與HTTP服務(wù)器等交互的客戶端
request:處理客戶端請(qǐng)求
response:處理服務(wù)器端響應(yīng)
parse:用于操作URL字符串
Python Web框架
一個(gè)web框架,至少要具備處理客戶端請(qǐng)求和服務(wù)端相響應(yīng)的能力
路由:解析URL并找到對(duì)應(yīng)的服務(wù)端文件或者Python服務(wù)器代碼
模板:吧服務(wù)端數(shù)據(jù)合并成HTML頁(yè)面
認(rèn)證和授權(quán):處理用戶名。密碼和權(quán)限
Session:處理用戶在多次請(qǐng)求之間需要存儲(chǔ)的數(shù)據(jù)