日韩午夜福利a无码,三级亚洲中文字幕,免费高清av一区二区三区,国产精品白丝祙喷水视频

您現(xiàn)在所在的位置:首頁 >關(guān)于奇酷 > 行業(yè)動態(tài) > Python-web開發(fā)必備的9個知識點

Python-web開發(fā)必備的9個知識點

來源:奇酷教育 發(fā)表于:

Python-web開發(fā)必備的9個知識點

  一、什么是web軟件?
 
  軟件開發(fā),web軟件,是一種基于萬維網(wǎng)為其數(shù)據(jù)交互基礎(chǔ)的計算機軟件。
 
  主要目的是高效率的跨平臺跨地區(qū)數(shù)據(jù)共享
 
 
 
  二.C/S和B/S架構(gòu)
 
   C/S指Client/Server,即客戶端/服務器。
 
  客戶端和服務器是兩個應用程序,通常部署在兩臺不同的計算機上。
 
  客戶端和服務器通過網(wǎng)絡進行通信,充分利用本機資源處理相關(guān)數(shù)據(jù),只在網(wǎng)絡中傳輸必要的數(shù)據(jù)。
 
  客戶端負責將客戶請求提交給服務器,再將接收到的響應結(jié)果顯示給用戶。
 
  服務器接收來自客戶端的請求,進行相應的計算處理,然后將結(jié)果返回給客戶端。
 
  B/S指Browser/Server,即瀏覽器/服務器。
 
  B/S架構(gòu)將Web瀏覽器作為客戶端應用軟件,是一種特殊的C/S架構(gòu)。
 
   
 
  三、web軟件開發(fā)
 
  B/S結(jié)構(gòu)的網(wǎng)絡軟件的開發(fā),一般稱為web軟件的開發(fā)
 
  在B/S結(jié)構(gòu)網(wǎng)絡軟件開發(fā)包括  前端開發(fā)與后端開發(fā)
 
  前端開發(fā)人員負責數(shù)據(jù)的表現(xiàn),以及交互方式
 
  后端開發(fā)人員需要根據(jù)前端操作以及業(yè)務邏輯處理系統(tǒng)數(shù)據(jù)
 
 
 
  四、HTTP與HTTPS
 
  HTTP,HyperText Transfer Protocol,是互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議。
 
  設計HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁面的方法。
 
  是一個基于TCP/IP通信協(xié)議封裝的應用層的協(xié)議
 
   
 
  什么是HTTPS
 
  Https并非是應用層的一種新協(xié)議。只是http通信接口部分用SSL(安全套接字層)和TLS(安全傳輸層協(xié)議)代替而已。即添加了加密及認證機制的HTTP稱為HTTPS(HTTP Secure).
 
  http相當于裸奔 沒有安全性
 
  HTTP和HTTPS協(xié)議的區(qū)別:
 
  1,HTTPS更安全:HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡協(xié)議,要比HTTP協(xié)議的信息明文傳輸安全;
 
  2,HTTPS需要申請證書:HTTPS協(xié)議需要到CA申請證書,一般免費證書很少,需要交費,費用大概與.com域名差不多,每年需要大約幾十元的費用。而常見的HTTP協(xié)議則沒有這一項;
 
  3,端口不同:HTTP使用的是大家最常見的80端口,而HTTPS連接使用的是443端口
 
  為什么需要HTTPS
 
  HTTP是明文傳輸?shù)模簿鸵馕吨?,介于發(fā)送端、接收端中間的任意節(jié)點都可以知道你們傳輸?shù)膬?nèi)容是什么。這些節(jié)點可能是路由器、代理等。
 
  舉個最常見的例子,用戶登陸。用戶輸入賬號,密碼,采用HTTP的話,只要在代理服務器上做點手腳就可以拿到你的密碼了。
 
  用戶登陸 --> 代理服務器(做手腳)--> 實際授權(quán)服務器
 
  在發(fā)送端對密碼進行加密?沒用的,雖然別人不知道你原始密碼是多少,但能夠拿到加密后的賬號密碼,照樣能登陸。
 
 
 
  五、請求與響應
 
  瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發(fā)送所有請求。
 
  Web服務器根據(jù)接收到的請求后,向客戶端發(fā)送響應信息。
 
   
 
  HTTP協(xié)議定義Web客戶端如何從Web服務器請求Web頁面,以及服務器如何把Web頁面?zhèn)魉徒o客戶端。
 
  HTTP協(xié)議采用了請求/響應模型。
 
  客戶端向服務器發(fā)送一個請求報文,請求報文包含請求的方法、URL、協(xié)議版本、請求頭部和請求數(shù)據(jù)。
 
  服務器以一個狀態(tài)行作為響應,響應的內(nèi)容包括協(xié)議的版本、成功或者錯誤代碼、服務器信息、響應頭部和響應數(shù)據(jù)。
 
  HTTP 請求/響應的步驟:
 
  1、客戶端連接到Web服務器
 
  2、發(fā)送HTTP請求
 
  3、服務器接受請求并返回HTTP響應
 
  4、釋放連接TCP連接
 
  5、客戶端瀏覽器解析HTML內(nèi)容
 
 
 
  六、Web框架
 
  l Web框架:是一組Web開發(fā)工具包,它封裝了底層的數(shù)據(jù)庫訪問、協(xié)議、線程等細節(jié),使Web開發(fā)人員專注于業(yè)務邏輯設計
 
  Python Web框架
 
  l 1.Django
 
  l Django是Python世界中最出名、最成熟的Web框架。Django功能全面,各模塊之間結(jié)合緊密。
 
  l Django提供了豐富、完善的文檔,幫助開發(fā)者快速掌握Python Web開發(fā)技巧,并及時解決學習中遇到的各種問題。
 
  l 2.Flask 
 
  l Flask是一個用Python實現(xiàn)的輕量級Web框架,被稱為"微框架"。Flask的核心簡單,通過擴展組件增加其他功能。
 
  l 3.Web2py
 
  l Web2py是一個大而全,為Python提供一站式Web開發(fā)支持的框架。它旨在快速實現(xiàn)Web應用,提供快速、安全以及可移植的數(shù)據(jù)庫支持,Web2py兼容Google App Engine。
 
  l 4.Bottle
 
  l Bottle是一個簡單高效的遵循WSGI的微型Python Web框架,它只有一個文件,除Python標準庫外,它不依賴于任何第三方模塊。
 
  l 5.Tornado
 
  l Tornado的全稱是Tornado Web Server,它既可用作Web服務器,也可作為Python Web框架。Tornado最早用于FriendFeed、FaceBook等社交網(wǎng)站。
 
 
 
 
  七、MVC:
 
  大部分開發(fā)語言中都有MVC框架
 
  MVC框架的核心思想是:解耦
 
  降低各功能模塊之間的耦合性,方便變更,更容易重構(gòu)代碼,最大程度上實現(xiàn)代碼的重用
 
   
 
  l Model(模型):
 
  l 用于封裝應用的數(shù)據(jù)和數(shù)據(jù)處理方法。模型只提供功能接口,視圖只能通過接口來訪問模型功能。
 
  l View(視圖):
 
  l 用于實現(xiàn)用戶界面,負責數(shù)據(jù)的顯示,完成與用戶的交互。在早期的Web應用中,視圖是由HTML元素構(gòu)成的界面。
 
  在新的Web應用程序中,XHTML、XML/XSL、CSS、DHTML等新技術(shù)也用于構(gòu)成Web界面。
 
  l  Controller(控制器):
 
  l 根據(jù)用戶輸入調(diào)用模型和視圖完成相應處理。控制器相當于調(diào)度中心核心,它本身不產(chǎn)生數(shù)據(jù),只是接收請求并決定調(diào)用哪個模型來處理請求,然后再確定用哪個視圖來顯示結(jié)果。
 
   
 
  l 常見的MVC架構(gòu):
 
  l C++語言的QT、MFC、gtk
 
  l Java語言的Struts、Spring
 
  l PHP語言的ZF
 
  l 微軟的.NET MVC
 
  l Python語言的Django
 
 
  八、MVT
 
  Django是一款python的web開發(fā)框架
 
   
 
  與MVC有所不同,屬于MVT框架
 
  m表示model,負責與數(shù)據(jù)庫交互
 
  v表示view,是核心,負責接收請求、獲取數(shù)據(jù)、返回結(jié)果
 
  t表示template,負責呈現(xiàn)內(nèi)容到瀏覽器
 
 
  九、ORM
 
  對象-關(guān)系映射(Object/Relation Mapping,簡稱ORM)
 
  幾乎所有的程序里面,都存在對象和關(guān)系數(shù)據(jù)庫。
 
   
 
  通常在業(yè)務邏輯層和用戶界面層中,我們是面向?qū)ο蟮摹?/div>
 
  當對象信息發(fā)生變化的時候,我們需要把對象的信息保存在關(guān)系數(shù)據(jù)庫中。
 
  面向?qū)ο笫菑能浖こ袒驹瓌t(如耦合、聚合、封裝)的基礎(chǔ)上發(fā)展起來的,
 
  而關(guān)系數(shù)據(jù)庫則是從數(shù)學理論發(fā)展而來的,兩套理論存在顯著的區(qū)別。
 
  為了解決這個不匹配的現(xiàn)象,ORM 技術(shù)應運而生。
 
  ORM技術(shù)可以把對象模型表示的對象映射到基于SQL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去。 
 
  對象-關(guān)系映射(ORM)系統(tǒng)一般以中間件的形式存在,主要實現(xiàn)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫數(shù)據(jù)的映射。