完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>
標簽 > Web
web(World Wide Web)即全球廣域網,也稱為萬維網,它是一種基于超文本和HTTP的、全球性的、動態交互的、跨平臺的分布式圖形信息系統。
web(World Wide Web)即全球廣域網,也稱為萬維網,它是一種基于超文本和HTTP的、全球性的、動態交互的、跨平臺的分布式圖形信息系統。是建立在Internet上的一種網絡服務,為瀏覽者在Internet上查找和瀏覽信息提供了圖形化的、易于訪問的直觀界面,其中的文檔及超級鏈接將Internet上的信息節點組織成一個互為關聯的網狀結構。
web(World Wide Web)即全球廣域網,也稱為萬維網,它是一種基于超文本和HTTP的、全球性的、動態交互的、跨平臺的分布式圖形信息系統。是建立在Internet上的一種網絡服務,為瀏覽者在Internet上查找和瀏覽信息提供了圖形化的、易于訪問的直觀界面,其中的文檔及超級鏈接將Internet上的信息節點組織成一個互為關聯的網狀結構。
簡述
傳統的Web數據庫系統一般實現Web數據庫系統的連接和應用可采取兩種方法,一種是在Web服務器端提供中間件來連接Web服務器和數據庫服務器,另一種是把應用程序下載到客戶端并在客戶端直接訪問數據庫。中間件負責管理Web服務器和數據庫服務器之間的通信并提供應用程序服務,它能夠直接調用外部程序或腳本代碼來訪問數據庫,因此可以提供與數據庫相關的動態HTML頁面,或執行用戶查詢,并將查詢結果格式化成HTML頁面。通過Web服務器返回給Web瀏覽器。最基本的中間件技術有通過網關接口CGI和應用程序接口API兩種。
公共網關接口
CGI是外部應用程序(CGI程序)與Web服務器之間的接口標準,是WWW服務器運行時外部程序的規范,按照CGI編寫的程序可以擴展服務器的功能,完成服務器本身不能完成的工作,外部程序執行時間可以生成HTML文檔,并將文檔返回WWW服務器。CGI應用程序能夠與瀏覽器進行交互作用,還可以通過數據庫的API與數據庫服務器等外部數據源進行通信,如一個CGI程序可以從數據庫服務器中獲取數據,然后格式化為HTML文檔后發送給瀏覽器,也可以將從瀏覽器獲得的數據放到數據庫中。幾乎使用的服務器軟件都支持CGI,開發人員可以使用任何一種WWW服務器內置語言編寫CGI,其中包括流行的C、C++ 、VB和Delphi等。
從體系結構上來看,用戶通過Web瀏覽器輸入查詢信息,瀏覽器通過HTTP協議向Web服務器發出帶有查詢信息的請求,Web服務器按照CGI協議激活外部CGI程序,由該程序向DBMS發出SQL請求并將結果轉化為HTML后返回給Web服務器。再由Web服務器返回給Web瀏覽器。這種結構體現了客戶/服務器方式的三層模型,其中Web服務器和CGI程序實際起到了HTML和SQL轉換的網關的作用。CGI的典型操作過程是:分析CGI數據;打開與DBMS的連接;發送SQL請求并得到結果;將結果轉化為HTML;關閉DBMS的連接;將HTML結果返回給Web服務器。
基于Web的數據庫訪問利用已有的信息資源和服務器。其訪問頻率大,尤其是熱點數據。但其主要的缺點是:①客戶端與后端數據庫服務器通信必須通過Web服務器,且Web服務器要進行數據與HTML文檔的互相轉換,當多個用戶同時發出請求時,必然在Web服務器形成信息和發布瓶頸。②CGI應用程序每次運行都需打開和關閉數據庫連接,效率低,操作費時;③CGI應用程序不能由多個客戶機請求共享,即使新請求到來時CGI程序正在運行,也會啟動另一個CGI應用程序,隨著并行請求的數量增加,服務器上將生成越來越多的進程。為每個請求都生成進程既費時又需要大量內存,影響了資源的使用效率,導致性能降低并增加等待時間;④由于SQL與HTML差異很大,CGI程序中的轉換代碼編寫繁瑣,維護困難;⑤安全性差,缺少用戶訪問控制,對數據庫難以設置安全訪問權限;⑥HTTP協議是無狀態且沒有常連接的協議,DBMS事務的提交與否無法得到驗證,不能構造Web上的OLTP應用。
擴展接口
為了克服CGI的局限性,出現的另一種中間件解決方案是基于服務器擴展API的結構。與CGI相比,API應用程序與Web服務器結合得更加緊密,占用的系統資源也少得多,而運行效率卻大大提高,同時還提供更好的保護和安全性。
服務器API一般作為一個DLL提供,是駐留在WWW服務器中的程序代碼,其擴展WWW服務器的功能與CGI相同。WWW開發人員不僅可以API解決CGI可以解決的一切問題,而且能夠進一步解決基于不同WWW應用程序的特殊請求。各種API與其相應的WWW服務器緊密結合,其初始開發目標服務器的運行性能進一步發掘、提高。用API開發的程序比用CGI開發的程序在性能上提高了很多,但開發API程序比開發CGI程序要復雜得多。API應用程序需要一些編程方面的專門知識,如多線程、進程同步、直接協議編程以及錯誤處理等。主要的WWW API有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。使用ISPAI開發的程序性能要優于用CGI開發的程序,這主要是因為ISAPI應用程序是一些與WWW服務器軟件處于同一地址空間的DLL,因此所有的HTTP服務器進程能夠直接利用各種資源這顯然比調用不在同一地址空間的CGI程序語句要占用更少的系統時間。而NSAPI同ISAPI一樣,給WWW開發人員定制了Netscape WWW服務器基本服務的功能。開發人員利用NSAPI可以開發與WWW服務器的接口,以及與數據庫服務器等外部資源的接口。
雖然基于服務器擴展API的結構可以方便、靈活地實現各種功能,連接所有支持32位ODBC的數據庫系統,但這種結構的缺陷也是明顯的:①各種API之間兼容性很差,缺乏統一的標準來管理這些接口; ②開發API應用程序也要比開發CGI應用復雜得多; ③這些API只能工作在專用Web服務器和操作系統上。
JDBC
Java的推出,使WWW頁面有了活力和動感。Internet用戶可以從WWW服務器上下載Java小程序到本地瀏覽器運行。這些下載的小程序就像本地程序一樣,可獨立地訪問本地和其他服務器資源。而最初的Java語言并沒有數據庫訪問的功能,隨著應用的深入,要求Java提供數據庫訪問功能的呼聲越來越高。為了防止出現對Java在數據庫訪問方面各不相同的擴展,JavaSoft公司指定了JDBC,作為Java語言的數據庫訪問API。
采用JDBC技術,在Java Applet中訪問數據庫的優點在于:直接訪問數據庫,不再需要Web數據庫的介入,從而避開了CGI方法的一些局限性;用戶訪問控制可以由數據庫服務器本地的安全機制來解決,提高了安全性;JDBC是支持基本SQL功能的一個通用低層的應用程序接口,在不同的數據庫功能的層次上提供了一個統一的用戶界面,為跨平臺跨數據庫系統進行直接的Web訪問提供了方案。從而克服了API方法一些缺陷;同時,可以方便地實現與用戶地交互,提供豐富的圖形功能和聲音、視頻等多媒體信息功能。
JDBC是用于執行SQL語句的Java應用程序接口API,由Java語言編寫的類和接口組成。Java是一種面向對象、多線程與平臺無關的編程語言,具有極強的可移植性、安全性和強健性。JDBC是一種規范,能為開發者提供標準的數據庫訪問類和接口,能夠方便地向任何關系數據庫發送SQL語句,同時JDBC是一個支持基本SQL功能的低層應用程序接口,但實際上也支持高層的數據庫訪問工具及API。所有這些工作都建立在X/Open SQL CLI基礎上。JDBC的主要任務是定義一個自然的Java接口來與X/Open CLI中定義的抽象層和概念連接。JDBC的兩種主要接口分別面向應用程序的開發人員的JDBC API和面向驅動程序低層的JDBC Driver API。JDBC完成的工作是:建立與數據庫的連接;發送SQL語句;返回數據結果給Web瀏覽器。
基于JDBC的Web數據庫結構其缺陷在于:只能進行簡單的數據庫查詢等操作,還不能進行OLTP;安全性、緩沖機制和連接管理仍不完善;SUN承諾的完全跨平臺跨數據庫系統的功能和標準遠未實現。
Bootstrap是一個流行的前端框架,用于快速開發響應式和移動優先的Web應用程序。它提供了一套預定義的CSS和JavaScript組件,使得開發者可...
云防火墻和Web應用防火墻是兩種不同的網絡安全工具,它們在多個方面存在顯著的區別,同時也在各自的領域內發揮著重要的作用,主機推薦小編為您整理發布云防火墻...
隨著互聯網的迅速發展,用戶對網絡內容的訪問需求日益增長。為了提高用戶體驗和降低服務器負擔,Web緩存技術應運而生。Web緩存通過存儲重復請求的數據,減少...
HT for Web并力ARMxy工業計算機實現數字化轉型可視化解決方案
數字化轉型作為制造企業轉型的關鍵過程,正迅速改變傳統的工業運營模式。HT for Web與ARMxy工業計算機的結合,為數字化轉型提供了一個高度集成的可...
Jtti:美國VPS開啟nginx狀態監控,查看web服務器的并發連接數
Nginx的ngx_http_stub_status_module提供能夠獲取Nginx自上次啟動以來的工作狀態的功能。如果需要啟用此功能的話,需要在編...
編輯推薦廠商產品技術軟件/工具OS/語言教程專題
電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯網 | NXP | 賽靈思 |
步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
伺服電機 | SVPWM | 光伏發電 | UPS | AR | 智能電網 | 國民技術 | Microchip |
開關電源 | 步進電機 | 無線充電 | LabVIEW | EMC | PLC | OLED | 單片機 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 藍牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太網 | 仿真器 | RISC | RAM | 寄存器 | GPU |
語音識別 | 萬用表 | CPLD | 耦合 | 電路仿真 | 電容濾波 | 保護電路 | 看門狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 閾值電壓 | UART | 機器學習 | TensorFlow |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |