當前位置:首頁 » 雲伺服器 » 代碼在伺服器上運行有什麼好處

代碼在伺服器上運行有什麼好處

發布時間: 2023-01-19 14:12:15

❶ 直接遠程到伺服器上寫代碼有什麼好處

本系列教程將和您一起探討如何利用java語言一步一步實現自己的web伺服器。

1需求描述

第1講我們要實現的效果是:當我們在瀏覽器的地址欄輸入localhost:8080的時候,我們會看到"hello,this is my web server!"。如下:

❷ 什麼是代理伺服器,為什麼叫做「代理「好處是什麼,如何在C#程序中鏈接到代理伺服器

代理程序的種類非常多,根據協議不同可以分成HTTP代理服務程序、FTP代理服務程序等,而運行代理服務程序的伺服器也就相應稱為HTTP代理伺服器和FTP代理伺服器。本文將介紹的Web代理服務程序代理的是HTTP協議。
一、網路代理程序的優點

代理服務所起的是一個橋的作用,它是網路信息的中轉站。在網路中應用代理服務一般是基於以下幾個原因:

(1)充分利用IP地址資源。在區域網中,一般對外的IP地址都是非常有限的,為了保證區域網內部的主機都能夠訪問互聯網資源,通過網路代理就可以實現。

(2)能夠保證網路安全。網路代理可以充當內部網和互聯網之間的防火牆,通過過濾IP地址,限定某些IP地址對外部資源的訪問。

(3)能夠有效地隱藏自己的IP地址和主機名。由於所有對外網的請求都是通過代理伺服器實現的,所以目的主機只能知道代理伺服器的IP地址。

(4)提高網路速度。通常代理伺服器都設有一個較大的硬碟緩沖區,它存儲界數據,當你再訪問相同的數據時,則可以直接從緩沖區中取出信息,從而提高訪問速度。

二、網路代理的類型及實現原理

網路代理服務根據工作層次,一般可分為應用層代理、傳輸層代理和SOCKS代理。應用層代理是工作在TCP/IP參考模型的應用層之上,它支持對應用
層協議(如HTTP、FTP)的代理。它提供的控制最多,但是不靈活,必須要有相應的協議支持。如果協議不支持代理(如SMTP和POP),那就只能在應
用層以下代理,也即傳輸層代理。傳輸層代理直接與TCP層交互,更加靈活。要求代理伺服器具有部分真正伺服器的功能:監聽特定TCP或UDP埠,接收客
戶端的請求同時向客戶端發出相應的響應。另一種代理需要改變客戶端的IP棧,即SOCKS代理。它是可用的最強大、最靈活的代理標准協議。SOCK V4
允許代理伺服器內部的客戶端完全地連接到外部的伺服器,SOCK V5增加了對客戶端的授權和認證,因此它是一種安全性較高的代理。本節後面介紹的代理是
一種應用層上面的代理,所代理的協議是HTTP,也就是經常見到的Web代理。

正如上面所說,網路代理就是一個連接客戶端(需要代理的計算機)和伺服器端(提供訪問資源的伺服器)的橋。要實現這種橋的功能,網路代理就必須滿足下列條件,其實也是代理服務的運行的流程:

(1)接收並解析客戶端的請求。

(2)創建到伺服器的新連接,並轉發客戶端的請求信息。

(3)接收伺服器反饋的信息。

(4)解釋伺服器的響應並將該響應傳回給客戶端。

網路代理雖然有很多優點,但由於使用代理後,自己對網路的所有請求都是通過代理伺服器這個中間人來實現的,所以有可能碰上存有惡意的人監聽你的輸入的內容。同樣,如果選擇的代理伺服器的帶寬比較小,使用代理還會降低網速。

總而言之,使用代理有利有弊,使用者要根據自身的情況來決定。但無論如何,選擇一個好的代理伺服器是非常重要的。

三、C#實現Web代理服務程序

經過了上面的介紹,我想大家對代理服務應該有了一個基本的認識,下面就讓我們通過一個實例來深入體會一下如何用C#實現Web代理服務。Web代理服務的功能順序是這樣的:

(1)偵聽埠,等待客戶端瀏覽器發送來的Web請求信息。

(2)接收到客戶端Web請求信息後,解析出目標Web伺服器的地址,並創建一個Socket實例,並以此實例連接Web伺服器上。

(3)通過創建的Socket傳送客戶端的Web請求數據包到Web伺服器的80埠。

(4)接收Web伺服器返回的頁面數據。

(5)把接收來的數據傳送到客戶端,從而實現Web代理。

客戶端對某個Web地址的瀏覽,可能要傳送很多的Web請求信息(比如網頁中的圖像、Flash等),為了更快更准確地處理這些信息,Web代理服務
程序通常採用多線程來處理每一個Web請求。細心的讀者可能會發現,處理每一個客戶端的Web請求信息,代理伺服器軟體都要使用二個Socket,一個是
用來接收/傳送客戶機的信息,一個是和Web伺服器進行交流。為了區分這二個Socket,我們把和伺服器對話的稱為「服務Socket」,和客戶端機器
對話的稱為「客戶Socket」。

下面就開始Web代理服務程序的編寫工作。這個實例包含三個部分內容:

1.創建一個Web代理類。
2.Web代理服務的類的實例化。
3.如何通過這個Web代理類的實例實現Web代理服務。

(一)創建一個Web代理類

具體操作步驟如下:

1.啟動Visual Studio.Net,依次選擇「文件」、「新建」、「項目」菜單後,在彈出「新建項目」對話框中將「項目類型」設置為
「Visual C#項目」,將「模板」設置為「Windows應用程序」,在「名稱」文本框中輸入「WebProxy」,在「位置」文本框中輸入
「E:VS.NET項目」,然後單擊「確定」按鈕,這樣項目便建立好了。
2.依次選擇菜單「項目」、「添加類」,將彈出「添加新項」對話框。
3.將「模板」設置為「類」。
4.在「名稱」文本框中輸入「Proxy」,單擊「打開」按鈕
5.在「解決方案資源管理器」窗口中,雙擊Proxy.cs文件,進入Proxy.cs文件的編輯界
6.在Proxy.cs源文件的開頭,添加下列代碼,下列代碼是導入Proxy.cs中要使用到的命名空間:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.IO;

7.用下列構造函數替代默認的構造函數。下面的代碼是在Proxy類中創建一個構造函數。Proxy類只有一個構造函數,並且這個構造函數只有一個參數,這個參數是Socket對象,它主要用來和客戶端進行數據交換,是一個「客戶Socket」:

public Proxy(Socket socket)
{
//
// TODO: 在此處添加構造函數邏輯
//
this.clientSocket = socket ;
}

8.在定義Proxy類代碼區中加入下列代碼,下列代碼是定義Proxy類中的使用的一些變數,這些變數主要是在後面的定義Run方法中使用。

Socket clientSocket;
Byte[] read = new byte[1024];
//定義一個空間,存儲來自客戶端請求數據包
Byte [] Buffer = null;
Encoding ASCII = Encoding.ASCII;
//設定編碼
Byte[] RecvBytes = new Byte[4096];
//定義一個空間,存儲Web伺服器返回的數據

9.創建Proxy類中的Run方法。Run方法是Proxy類中唯一的方法。其功能是從客戶端接收HTTP請求,並傳送到Web伺服器,然後從
Web伺服器接收反饋來的數據,並傳送到客戶端。為了實現這二個不同方面的數據傳送,Run方法中是通過兩個Socket實例來實現的。在編寫Run方法
的時候,要注意下面兩點:

(1)由於HTTP建立於TCP協議之上,所以創建的Socket實例應該使用TCP協議。下面代碼是創建可以傳送HTTP請求命令到Web伺服器和接收來自Web伺服器反饋來信息的Socket實例:

Socket IPsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

(2)另外一個Socket是在代理服務程序偵聽埠號,接收連接請求時候得到的,所以應該以此Socket為參數,利用Proxy類中的構造函數來創建一個Proxy實例。此Socket實現從客戶端接收HTTP請求信息,並傳送數據到客戶端。

Socket創建和使用是實現Web代理軟體的關鍵。在構造函數代碼後面,輸入下列代碼:
public void Run()
{
string clientmessage = " " ;
//存放來自客戶端的HTTP請求字元串
string URL = " " ;
//存放解析出地址請求信息
int bytes = ReadMessage(read, ref clientSocket, ref clientmessage);
if (bytes == 0)
{
return ;
}
int index1 = clientmessage.IndexOf(' ');
int index2 = clientmessage.IndexOf(' ', index1 + 1);
if ((index1 == -1) || (index2 == -1))
{
throw new IOException();
}
string part1 = clientmessage.Substring(index1 + 1, index2 - index1);
int index3 = part1.IndexOf('/', index1 + 8);
int index4 = part1.IndexOf(' ', index1 + 8);
int index5 = index4 - index3;
URL = part1.Substring(index1 + 4, (part1.Length - index5) - 8);
try
{
IPHostEntry IPHost = Dns.Resolve(URL);
Console.WriteLine("遠程主機名: " + IPHost.HostName);
string [] aliases = IPHost.Aliases;
IPAddress[] address = IPHost.AddressList;
Console.WriteLine("Web伺服器IP地址:" + address[0]);
//解析出要訪問的伺服器地址
IPEndPoint ipEndpoint = new IPEndPoint(address[0], 80);
Socket IPsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//創建連接Web伺服器端的Socket對象
IPsocket.Connect(ipEndpoint);
//Socket連Web接伺服器
if (IPsocket.Connected)
Console.WriteLine("Socket 正確連接!");
string GET = clientmessage;
Byte[] ByteGet = ASCII.GetBytes(GET);
IPsocket.Send(ByteGet, ByteGet.Length, 0);
//代理訪問軟體對伺服器端傳送HTTP請求命令
Int32 rBytes = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0);
//代理訪問軟體接收來自Web伺服器端的反饋信息
Console.WriteLine("接收位元組數:" + rBytes.ToString());
String strRetPage = null;
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, rBytes);
while (rBytes > 0)
{
rBytes = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0);
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, rBytes);
}
IPsocket.Shutdown(SocketShutdown.Both);
IPsocket.Close();
SendMessage(clientSocket, strRetPage);
//代理服務軟體往客戶端傳送接收到的信息
}
catch (Exception exc2)

}

//接收客戶端的HTTP請求數據
private int ReadMessage(byte [] ByteArray, ref Socket s, ref String clientmessage)
{
int bytes = s.Receive(ByteArray, 1024, 0);
string messagefromclient = Encoding.ASCII.GetString(ByteArray);
clientmessage = (String)messagefromclient;
return bytes;
}

//傳送從Web伺服器反饋的數據到客戶端
private void SendMessage(Socket s, string message)
{
Buffer = new Byte[message.Length + 1];
int length = ASCII.GetBytes(message, 0, message.Length, Buffer, 0);
Console.WriteLine("傳送位元組數:" + length.ToString());
s.Send(Buffer, length, 0);
}

至此,Proxy類的定義過程就完成了。

(二)利用Proxy類,實現Web代理

下面是利用Proxy類實現Web代理程序的具體實現步驟,Proxy類被定義在命名空間WebProxy中:

1.在Visual Studio .Net的代碼編輯器中打開Class1.cs文件,進入Class1.cs的代碼編輯界面。

2.在Class1.cs源文件的開頭導入下列命名空間:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.IO;
using System.Threading;
using WebProxy;

3.在Main函數中添加下列代碼,下列代碼是利用Proxy類,來實現Web代理程序:

const int port = 8000 ;
//定義埠號
TcpListener tcplistener = new TcpListener(port);
Console.WriteLine("偵聽埠號: " + port.ToString());
tcplistener.Start();
//偵聽埠號
while (true)
{
Socket socket = tcplistener.AcceptSocket();
//並獲取傳送和接收數據的Scoket實例
Proxy proxy = new Proxy(socket);
//Proxy類實例化
Thread thread = new Thread(new ThreadStart(proxy.Run));
//創建線程
thread.Start();
//啟動線程
}

保存上面的所有步驟,這樣一個簡單Web代理程序就算是完成了。此Web代理程序偵聽的是8000埠號。

(三)測試Web代碼程序

Web代理程序要通過二台計算機才能夠實現,其中的一台計算機運行Web代理程序充當Web代理伺服器,另外一台計算機充當客戶機,通過Web代理伺服器來瀏覽網頁。在確定Web代理軟體運行後,需要對客戶機進行進行必要的設置:

1.打開IE瀏覽器。

2.依次選擇「工具」、「Internet選項」,在彈出的「Internet選項」對話框中選擇「連接」頁面,單擊其中的「區域網設置」按鈕,在彈
出的「區域網(LAN)設置」對話框,選擇「為LAN使用代理伺服器(X),(這些設置不會應用於撥號和VPN連接)」多選框,並在其中的「地址」文本框
中輸入代理伺服器的IP地址,比如「10.138.198.213」,在「埠」文本框中輸入「8000」。

此時客戶端的設置就完成了。在確定IP地址為「10.138.198.213」的這台計算機已經運行上面介紹的Web代理程序後,打開客戶端的IE瀏覽器,並輸入要瀏覽的網址,就可以通過Web代理伺服器來瀏覽網頁了。

四、總結

至此一個簡單的Web代理服務軟體就算基本完成了。雖然代理服務的實現原理相對簡單,但具體實現還是很繁瑣的。網路代理是一個內容豐富,實現復雜的論
題,本節介紹的代理服務軟體,無論在實現的協議種類,還是實現的功能,都只能算很小的一部分。希望各位能夠通過本文的介紹,結合其他相關的知識,創造出功
能更強大、安全性更高,使用更穩定的網路代理服務程序來。

php中的伺服器是什麼意思有什麼作用干什麼的

意思:一般指裝有apache&php&mysql這三種軟體的伺服器/電腦。

作用:能夠進行PHP網站發布最基本的架構之一。

用處:能讓PHP程序/網站運行。

❹ 用SSH 登錄伺服器用 Vim 在線寫 PHP 代碼的體驗是怎樣的

這里的關鍵是:在「伺服器上寫代碼」,而不是「用vim寫代碼」。採用這類開發方式的公司,一般都是工具鏈比較完善的,又或者是採用模塊式開發的,子系統不能跑在本地跑的。要說安全,也是一個理由,但這個理由相當牽強,就算把淘寶的代碼全部送給你,你也搞不出另外一個淘寶的。代碼本身是不值錢的,值錢的是對業務的支持(純技術公司,開發OS的公司,開發小型硬體的公司除外)。只有當在伺服器上寫代碼的成本,比在本地上寫要小,才有必要部署這么一套系統,不然就是裝B浪費錢。這里可以從幾個淺而易見的成本入手。1,編譯成本。做一個修改,如果要等2分鍾編譯,就很惡心了。但如果部署了分布式編譯系統,把編譯時間變成5秒,情況就很不一樣。2,開發的模塊依賴於另外一個不能在一個機器上跑的服務,例如搜索服務。3,重裝配置環境的成本。碼農們最不喜歡的「重裝」,「配置」。採用在伺服器上開發,支撐系統的管理員就可以很方便地對工具鏈進行維護,升級。想想,你進入一個新項目,直接伺服器上就可以立馬開干,代碼在伺服器編譯運行,不用本地配置,是不是很爽啊!!所以,有這種需求的,一般來說都是比較成型的相對不小的公司。好,問題回到「如何在伺服器上寫代碼」上。適應vim的用vim,適應emacs的用emacs,喜歡IDE的可以想法直接編輯伺服器上的文件(例如開samba)。

❺ 我把公司網站代碼在伺服器上拖到本地運行,在瀏覽器打開是空白頁面怎麼通過修改代碼,能在本地訪問

前幾天,工作上有一新需求,需要前端web頁面非同步調用後台的Webservice方法返回信息。實現方法有多種,本例採用jQuery+Ajax,完成後,在本地調試了一切ok,但是部署到伺服器上以後就出現問題了,後台服務調用沒有響應,怎麼回事看代碼沒怎麼改動,唯一修改的地方就是jQuery的ajax方法中的url地址。難道是這里的問題,經過檢查和調試,發現原來是同源策略在作怪,我們知道,JavaScript或jQuery是在Web前端開發中經常使用的動態腳本技術。在JavaScript中,有一個很重要的安全性限制,被稱為逗Same- Origin Policy地(同源策略)。這一策略對於JavaScript代碼能夠訪問的頁面內容做了很重要的限制,即JavaScript只能訪問與包含它的文檔或腳本 在同一域名下的內容。不同域名下的腳本不能互相訪問,即便是子域也不行。
但是有時候又不可避免地需要進行跨域操作,這時候逗同源策略地就是一個限制了,怎麼辦呢看採用JSONP跨域GET請求是一個常用的解決方案,下面我們來看一下JSONP跨域是如何實現的,並探討下JSONP跨域的原理。

這里提到了JSONP,那有人就問了,它同JSON有什麼區別不同和區別呢,接下我們就來看看,網路有以下說明:

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成(網路傳輸速度快)。

JSONP(JSON with Padding)是JSON的 一種逗使用模式地,可用於解決主流瀏覽器的跨域數據訪問的問題。由於同源策略,一般來說位於 server1 的網頁無法與不是 server1的伺服器溝通,而 HTML 的<script> 元素是一個例外。利用 <script> 元素的這個開放策略,網頁可以得到從其他來源動態產生的 JSON 資料,而這種使用模式就是所謂的 JSONP。用 JSONP 抓到的資料並不是 JSON,而是任意的JavaScript,用 JavaScript 直譯器執行而不是用 JSON 解析器解析。

到這里,應該明白了,JSON是一種輕量級的數據交換格式,像xml一樣,是用來描述數據間的。JSONP是一種使用JSON數據的方式,返回的不是JSON對象,是包含JSON對象的javaScript腳本。

那JSONP是如何工作的呢,我們知道,由於同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、埠)的資源。若要跨域請求出於安全性考慮是不行的,但是我們發現,Web頁面上調用js文件時則不受是否跨域的影響,而且擁有地src地這個屬性的標簽都擁有跨域的能力,比如<script>、<img>、<iframe>,這時候,聰明的程序猿就想到了變通的方法,如果要進行跨域請求, 通過使用html的script標記來進行跨域請求,並在響應中返回要執行的script代碼,其中可以直接使用JSON傳遞 javascript對象。即在跨域的服務端生成JSON數據,然後包裝成script腳本回傳,這不就突破同源策略的限制,解決了跨域訪問的問題了么。

下面我們就看下怎麼實現:
前端代碼:

function CallWebServiceByJsonp() { $("#SubEquipmentDetails").html(''); $.ajax({ type: "GET", cache: false, url: "servername/webservice/webservice.asmx/GetSingleInfo", data: { strCparent: $("#Equipment_ID").val() }, dataType: "jsonp", //jsonp: "callback", jsonpCallback: "OnGetMemberSuccessByjsonp" }); } function OnGetMemberSuccessByjsonp(data) { //處理data alert(data); } 後端的WebService代碼:
[WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)] public void GetSingleInfo(string strCparent) { string ret = string.Empty; HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; string jsonCallBackFunName = HttpContext.Current.Request.Params["callback"].ToString(); //string jsonCallBackFunName1 = HttpContext.Current.Request.QueryString["callback"].Trim(); //上面代碼必須 //中間代碼執行自己的業務操作,可返回自己的任意信息(多數據類型) BLL.equipment eq_bll = new BLL.equipment(); List<Model.equipment> equipmentList = new List<Model.equipment>(); equipmentList = eq_bll.GetModelEquimentList(strCparent); ret = JsonConvert.SerializeObject(equipmentList); //下面代碼必須 HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, ret)); HttpContext.Current.Response.End(); } 如上所示,前端的CallWebServiceByJsonp方法採用jQuery的ajax方法調用後端的Web服務GetSingleInfo方法,後台的GetSingleInfo方法,使用前端的回調方法OnGetMemberSuccessByjsonp包裝後台的業務操作的JSON對象,返回給前端一段javascript片段執行。巧妙的解決了跨域訪問問題。

JSONP的缺點:

JSONP不提供錯誤處理。如果動態插入的代碼正常運行,你可以得到返回,但是如果失敗了,那麼什麼都不會發生。

以上內容簡單給大家介紹了JSONP解決Ajax跨域訪問問題的思路,希望能夠幫助到大家,如果大家有疑問歡迎給我留言,小編會及時回復大家的,在此也非常感謝大家對腳本之家網站的支持!

❻ 直接遠程到伺服器上寫代碼有什麼好處

可以在公司在家裡都同時寫,不必每次都同步,如果有公網ip還可以直接查看網站效果

❼ 集中在公司伺服器上開發有什麼好處嗎 - PHP進階討論

在大公司,個人只是做一部分功能。完全自己搭環境,太麻煩了。而且大公司網站結構比較復雜,介面多,配套伺服器軟體也多。關鍵是個人辦公電腦的環境可能跟公司開發環境下有區別。所以才集中在伺服器上做開發。ls上的防拷代碼,這個能防得住么?最起碼自己寫的代碼想怎麼拷就怎麼拷
麻煩採納,謝謝!

❽ FreeBSD做伺服器的好處是什麼比較WIN和LINUX的區別.

穩定、安全、性能的綜合選擇,如果你認為伺服器的最重要指標不只是速度快,那麼FreeBSD一定會讓你充滿驚喜,FBI的伺服器就用FreeBSD。下面是的壓力測試(下載大圖查看)

測試環境:均在虛擬機環境下,不和真機對比測試。其它沒說明的信息均代表一致,軟體的安裝均使用包管理方式,沒使用源代碼安裝,系統沒做任何調優。3個虛擬伺服器同時打開,每測試一個伺服器均測試兩次,以最好的結果為准。(測試結果順序:FreeBSD、Ubuntu、Win2019)。注意:nginx伺服器版本沒統一,會稍微影響結果的公平性,但在合理范圍之內。

ab重要指標:Requests per second(越大越好)、Time per request(越小越好)、Transfer rate(越大越好,大流量下的吞吐量)

結論:FreeBSD在大壓力情況下的性能要比ubuntu略好,穩定性、安全性、健壯性也要比Linux好。當然如果要是用於深度學習而不是web,我可能會選Linux。

另外,安全都是相對的,雖然默認情況下*BSD比Linux安全,但並不代表你維護起來就安全,賬號密碼、ssh安全,許可權,web程序的安全,都會影響系統安全性(web站點還是推薦使用wordpress最新版,安全插件使用:WP Cerber Security,比All In One WP Security略好,但即使剛入門,也比windows經常打補丁放心的多。只是FreeBSD調試wordpress還需要提高更多的技術,不是簡單的pkginstall就完了,需要對nginx、php、mysql有足夠的掌握,這些看起來復雜,但會了又覺得其樂無窮,而且絕對會培養起傳統黑客的精神和體會到簡潔的強大。

❾ 問一個很弱的問題,ASP的腳本可以在伺服器和客戶端執行,請問有什麼利弊和不同請專業人士賜教!謝謝!

伺服器腳本很簡單,它是應於提交和處理表單,實現動態內容而出現的。想像一下一個中型網站大約有幾千個鏈接地址,你總不能為每一個地址增加一個頁面吧。於是伺服器腳本從底層抽象出邏輯,把框架相同但是內容不同的頁面綜合。最重要的是將邏輯處理與數據分開。於是,多個用戶提交一個請求,大家享用了共同的邏輯處理方式,但是因為我提交的表單不一樣,相應處理也會不同,於是返回內容也就不同。

客戶端腳本,對應有 javascript,perl等等。

其實客戶端腳本從javascript才有著重強調過,尤其是ajax技術的出現,讓客戶端被重視起來。

很明顯,伺服器的數據都是存放在資料庫中的,每一次查詢都是需要資料庫的鏈接,往往資料庫鏈接比資料庫查詢更加費時。為了避免這種情況,網頁設計者可以將簡單的邏輯抽象出來,比如一次性讀入整體的數據,然後將數據存入客戶端(瀏覽器)的進程當中,這樣下次就不用重新建立鏈接,我可以從自己機子上得到數據。根本不需要伺服器頻繁通信。客戶端腳本的目的很明顯,既避免了重復冗餘的鏈接,有能緩解伺服器的壓力(你不用要求伺服器多次查詢資料庫)。

區別

伺服器腳本運行於伺服器之上,你永遠看不到伺服器腳本的內容,得到的只有腳本解釋器發回的HTML代碼,瀏覽器對它照盤接收。

客戶端腳本脫離伺服器運行,不直接執行資料庫操作。它實現了客戶端上的簡單邏輯。

Ajax技術讓客戶端腳本變的另類且強大,它讓客戶端語言將資料庫操作封裝起來,允許用戶在一個界面實現完全分離的資料庫操作請求。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:625
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:355
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:70
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:295
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:786
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:336
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:201
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:797
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:354
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:581