Web開發介紹

Web開發介紹

一,認識一個網站

最早的軟件都是運行在大型機上的,軟件使用者通過“啞終端”登陸到大型機上去運行軟件。

后來隨著PC機的興起,軟件開始主要運行在桌面上,而數據庫這樣的軟件運行在服務器端,這種Client/Server模式簡稱CS架構。

隨著互聯網的興起,人們發現,CS架構不適合Web,最大的原因是Web應用程序的修改和升級非常迅速,而CS架構需要每個客戶端逐個升級桌面App,因此,Browser/Server模式開始流行,簡稱BS架構。

在BS架構下,客戶端只需要瀏覽器,應用程序的邏輯和數據都存儲在服務器端。瀏覽器只需要請求服務器,獲取Web頁面,并把Web頁面展示給用戶即可。

當然,Web頁面也具有極強的交互性。由于Web頁面是用HTML編寫的,而HTML具備超強的表現力,并且,服務器端升級后,客戶端無需任何部署就可以使用到新的版本,因此,BS架構迅速流行起來

B/S和C/S結構

B/S結構的優勢

不需要通知客戶端安裝某個軟件 -- 只需要客戶端有瀏覽器

不需要通知客戶端進行軟件升級 -- 只需要升級服務器

可以輕松的實現跨平臺 --

web1.0

Web 1.0時代開始于1994年,其主要特征是大量使用靜態的 HTML 網頁來發布信息,并開始使用瀏覽器來獲取信息,這個時候主要是單向的信息傳遞。通過Web萬維網,互聯網上的資源,可以在一個網頁里比較直觀地表示出來,而且資源之間,在網頁上可以任意鏈接。Web1.0的本質是聚合、聯合、搜索,其聚合的對象是巨量、無序的網絡信息。Web1.0 只解決了人對信息搜索、聚合的需求,而沒有解決人與人之間溝通、互動和參與的需求,所以Web2.0應運而生

就是個靜態網站,只能看不能寫,沒有交互

web2.0

Web 2.0 始于 2004 年 3 月 O’Reilly Media 公司和 MediaLive 國際公司的一次頭腦風暴會議。Tim O’Reilly 在發表的“What Is Web2.0”一文中概括了Web2.0的概念,并給出了描述 Web2.0 的框圖——Web2.0 MemeMap,該文成為 Web2.0 研究的經典文章。此后關于 Web2.0 的相關研究與應用迅速發展,Web2.0 的理念與相關技術日益成熟和發展,推動了Internet的變革與應用的創新。在Web2.0中,軟件被當成一種服務,Internet從一系列網站演化成一個成熟的為最終用戶提供網絡應用的服務平臺,強調用戶的參與、在線的網絡協作、數據儲存的網絡化、社會關系網絡、RSS應用以及文件的共享等成為了Web2.0發展的主要支撐和表現。Web2.0模式大大激發了創造和創新的積極性,使Internet重新變得生機勃勃。Web 2.0的典型應用包括Blog、Wiki、RSS、Tag、SNS、P2P、IM等

就是動態網站,最直接的體現就是我們現在使用的商城,論壇,微博等,


二,Web應用結構 及 工作原理

二,Web框架

一,什么是框架?

軟件框架就是為實現或完成某種軟件開發時,提供了一些基礎的軟件產品,

框架的功能類似于基礎設施,提供并實現最為基礎的軟件架構和體系

通常情況下我們依據框架來實現更為復雜的業務程序開發

一個字,框架就是程序的骨架

二,框架的優缺點

可重用

成熟,穩健

可擴展性良好

選對框架很重要

三,python中常見的框架

大包大攬 Django 被官方稱之為完美主義者的Web框架。

力求精簡 web.py和Tornado

新生代微框架 Flask和Bottle

四,web框架中的一些概念

MVC

  • 大部分開發語言中都有MVC框架
  • MVC框架的核心思想是:解耦
  • 降低各功能模塊之間的耦合性,方便變更,更容易重構代碼,最大程度上實現代碼的重用
  • m表示model,主要用于對數據庫層的封裝
  • v表示view,用于向用戶展示結果
  • c表示controller,是核心,用于處理請求、獲取數據、返回結果

MVT

  • Django是一款python的web開發框架
  • 與MVC有所不同,屬于MVT框架
  • m表示model,負責與數據庫交互
  • v表示view,是核心,負責接收請求、獲取數據、返回結果
  • t表示template,負責呈現內容到瀏覽器

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455806.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455806.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455806.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python云端系統開發入門_Python云端系統開發入門

第01課 初識Django 課時1Django框架介紹 00 : 14 : 33 開始學習 課時2工程搭建1 00 : 28 : 50 開始學習 課時3工程搭建2 00 : 13 : 22 開始學習 第02課 請求和響應的處理 課時1獲取請求url的參數 00 : 07 : 57 開始學習 課時2獲取請求url的查詢字符串 00 : 12 : 01 開始學習 課…

IBM 安全部門 CTO:AI 必須被重新定義為“增強智能”

編者按:隨著人工智能的發展,人們對它逐漸有誤會、恐懼之心。如果能夠利用好人工智能,特別是在網絡安全領域,它將成為人類對抗網絡犯罪強有力的武器。IBM 安全部門的 CTO Sandy Bird 認為現在的人工智能應該被重新定義為“增強智能…

【Nginx】通過反向代理配置本地圖床功能

安裝nginx sudo apt-get install nginx配置nginx.conf sudo vim /etc/nginx/nginx.conf worker_processes auto; pid /run/nginx.pid;events {worker_connections 768;# multi_accept on; }http {sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash…

構建之法第二章

單元測試:一個開發人員要面對測試一個單元時只給出單元的代碼而沒有規格說明這樣吃力不討好的任務.你怎樣做才會有更多的收獲,而不僅僅是發現編譯器的Bug?第一步是理解這個單元原本要做什么, --- 不是它實際上做了什么. 比較有效的方法是倒推出一個概要的規格說明.…

幀內預測模式提取

if (input->rdopt) { int mb_available_up; int mb_available_left; int mb_available_up_left; min_rdcost max_rdcost; // precompute all new chroma intra prediction modes // 對色度進行幀內預測 IntraChromaPredict…

Django簡介以及安裝

Django簡介 1. 認識Django Django是一個高級的Python Web框架,它鼓勵快速開發和清潔,務實的設計。由經驗豐富的開發人員構建,它負責Web開發的許多麻煩,因此您可以專注于編寫應用程序,而無需重新創建輪子。它是免費的…

python基礎筆試面試題_python基礎面試常見題

Python是目前市面上,我個人認為是最簡潔、最優雅、最有前途、最全能的編程語言,沒有之一。 2、通過什么途徑學習的Python? 通過自學,包括網上查看一些視頻,購買一些相關專業的書籍。 3、Python和Java、PHP、C、C#、C等…

django-rest-swagger顯示接口備注內容

Swagger是一個API開發者的工具框架,用於生成、描述、調用和可視化RESTful風格的Web服務。總體目標是使客戶端和文件系統服務器以同樣的速度來更新,方法,參數和模型緊密集成到服務器端的代碼中,允許API始終保持同步。 在使用 djan…

安全和連接是IoT聯網設備2大挑戰

IoT正在推動500億個聯網設備在未來10年內從工業、零售、智能照明、智慧城市、汽車、農業、可穿戴設備、智能建筑、醫療市場涌現出來,ARM處理器部門市場營銷總監Ian Smythe表示:“到2020年,消費電子和健康、智慧城市和物流、汽車和運輸領域的I…

windows下部署免費ssl證書(letsencrypt)

隨著網絡的發展,網絡安全也越來越重要,對于網站來說,從Http升級到https也是我們要做的首要事情。要實現https,首先我們需要申請一張SSL證書,這篇文章我主要介紹下邊這幾個方面: 1. SSL簡單介紹 2. 免費Lete…

Django之URLconf路由

URLconf路由 一個干凈優雅的URL方案是高質量Web應用程序中的一個重要細節。 Django可以讓你設計URL,無論你想要什么,沒有框架限制。 要為應用程序設計URL,您可以非正式地創建一個名為URLconf(URL配置)的Python模塊。…

python中什么是關鍵字參數_如何使用python語言中函數的關鍵字參數的用法

一般情況下,在調用函數時,使用的是位置參數,即是按照參數的位置來傳值;關鍵字參數是按照定義函數傳入的參數名稱來傳值的。那么,關鍵字參數怎么使用?工具/原料 python pycharm 截圖工具 WPS 方法/步驟 1 打…

HTML塊級元素

在HTML5出現之前&#xff0c;人們一般把元素分為塊級、內聯和內聯塊元素。本文將詳細介紹HTML塊級元素h標題(Heading)元素有六個不同的級別&#xff0c;<h1>是最高級的&#xff0c;而<h6>則是最低的。一個標題元素能簡要描述該節的主題從<h1>到<h6>&am…

【SSL】HTTPS配置全過程

服務器配置https協議 HTTPS&#xff0c;是以安全為目標的HTTP通道&#xff0c;簡單講是HTTP的安全版。即HTTP下加入SSL層&#xff0c;HTTPS的安全基礎是SSL&#xff0c;因此加密的詳細內容就需要SSL。 配置HTTPS就需要證書&#xff0c;關于證書方面不做過多解釋&#xff0c;只…

iOS開發UI篇—懶載入

iOS開發UI篇—懶載入 1.懶載入基本 懶載入——也稱為延遲載入&#xff0c;即在須要的時候才載入&#xff08;效率低&#xff0c;占用內存小&#xff09;。所謂懶載入&#xff0c;寫的是其get方法. 注意&#xff1a;假設是懶載入的話則一定要注意先推斷是否已經有了。假設沒有那…

python之虛擬環境

Virtualenv(虛擬環境) VirtualEnv用于在一臺機器上創建多個獨立的Python虛擬運行環境&#xff0c;多個Python環境相互獨立&#xff0c;互不影響.這樣有很多優點,寶寶們要記住哦,比如: 在沒有權限的情況下安裝新套件 不同應用可以使用不同的套件版本 套件升級不影響其他應用 …

【解決】subprocess.CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘ returned non-zero exit status 127

pip list 報錯 Traceback (most recent call last):File "/home/sensetime/.pyenv/versions/3.6.5/bin/pip", line 11, in <module>sys.exit(main())File "/home/sensetime/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pip/_internal/cli/main.p…

輸出四位完全平方數_完全平方數中的規律

PS&#xff1a;很近之前自己收集的資料一個正整數如果是另一個整數的完全平方&#xff0c;那么我們就稱這個數為完全平方數&#xff0c;也叫做平方數。如&#xff1a;0&#xff0c;1&#xff0c;4&#xff0c;9&#xff0c;16&#xff0c;25&#xff0c;36&#xff0c;49&#…

RTP格式圖 NNEXB格式和RTP格式

Dove(12337127) 10:15:45我看JM代碼里面有些疑問 看好多地方都出現了ANNEXB 時空互換(178316135) 10:16:08h264的2種碼流編碼格式Dove(12337127) 10:16:19我就不太理解是什么意思 剛才翻標準看見了 剛準備認真看看 Dove(12337127) 10:16:29annexb rtp 是么&#x…

第一階段沖刺第二天

昨天把以前寫過的Java普通用戶類和訂單類看了看&#xff0c;添加了一些變量 看了一些其他網頁的代碼 今天繼續寫關于收藏部分的代碼 遇到的困難&#xff1a;還是沒有什么頭緒&#xff0c;做不到真正的實現轉載于:https://www.cnblogs.com/lzxw/p/6800311.html