導航:首頁 > 配伺服器 > 如何請求伺服器

如何請求伺服器

發布時間:2023-06-07 06:24:37

『壹』 如何向伺服器發出請求檢測與其他控制設備tcp通信

一,網路編程中兩個主要的問題

一個是如何准確的定位網路上一台或多台主機,另一個就是找到主機後如何可靠高效的進行數據傳輸。

在TCP/IP協議中IP層主要負責網路主機的定位,數據傳輸的路由,由IP地址可以唯一地確定Internet上的一台主機。

而TCP層則提供面向應用的可靠(tcp)的或非可靠(UDP)的數據傳輸機制,這是網路編程的主要對象,一般不需要關心IP層是如何處理數據的。

目前較為流行的網路編程模型是客戶機/伺服器(C/S)結構。即通信雙方一方作為伺服器等待客戶提出請求並予以響應。客戶則在需要服務時向伺服器提 出申請。伺服器一般作為守護進程始終運行,監聽網路埠,一旦有客戶請求,就會啟動一個服務進程來響應該客戶,同時自己繼續監聽服務埠,使後來的客戶也 能及時得到服務。

二,兩類傳輸協議:TCP;UDP

TCP是Tranfer Control Protocol的 簡稱,是一種面向連接的保證可靠傳輸的協議。通過TCP協議傳輸,得到的是一個順序的無差錯的數據流。發送方和接收方的成對的兩個socket之間必須建 立連接,以便在TCP協議的基礎上進行通信,當一個socket(通常都是server socket)等待建立連接時,另一個socket可以要求進行連接,一旦這兩個socket連接起來,它們就可以進行雙向數據傳輸,雙方都可以進行發送 或接收操作。

UDP是User Datagram Protocol的簡稱,是一種無連接的協議,每個數據報都是一個獨立的信息,包括完整的源地址或目的地址,它在網路上以任何可能的路徑傳往目的地,因此能否到達目的地,到達目的地的時間以及內容的正確性都是不能被保證的。

比較:

UDP:1,每個數據報中都給出了完整的地址信息,因此無需要建立發送方和接收方的連接。

2,UDP傳輸數據時是有大小限制的,每個被傳輸的數據報必須限定在64KB之內。

3,UDP是一個不可靠的協議,發送方所發送的數據報並不一定以相同的次序到達接收方

TCP:1,面向連接的協議,在socket之間進行數據傳輸之前必然要建立連接,所以在TCP中需要連接

時間。

2,TCP傳輸數據大小限制,一旦連接建立起來,雙方的socket就可以按統一的格式傳輸大的

數據。

3,TCP是一個可靠的協議,它確保接收方完全正確地獲取發送方所發送的全部數據。

應用:

1,TCP在網路通信上有極強的生命力,例如遠程連接(Telnet)和文件傳輸(FTP)都需要不定長度的數據被可靠地傳輸。但是可靠的傳輸是要付出代價的,對數據內容正確性的檢驗必然佔用計算機的處理時間和網路的帶寬,因此TCP傳輸的效率不如UDP高。

2,UDP操作簡單,而且僅需要較少的監護,因此通常用於區域網高可靠性的分散系統中client/server應用程序。例如視頻會議系統,並不要求音頻視頻數據絕對的正確,只要保證連貫性就可以了,這種情況下顯然使用UDP會更合理一些。

『貳』 如何給http伺服器發送post請求

1、HTTP請求概述

在前面有一篇文章對HTTP協議有詳細的描述,這里就不再過多的做說明,只是簡單的作為這篇文章的引子。

HTTP協議又被稱為超文本傳輸協議,它的的設計目的是保證客戶機與伺服器之間的通信。HTTP 的工作方式是客戶端與伺服器之間的請求-應答協議。在客戶端和伺服器之間進行請求-響應時,有兩個最基本的請求方式:GET 和 POST。

其中,GET請求表示從指定的資源請求數據,POST請求表示向指定的資源提交要被處理的數據。

2、HTTP請求格式

在HTTP請求中,首先是請求行,注意這里的請求行一定要放在最前面;其次,是請求頭,英文表示為header;然後會空一行,緊接著就可以是請求的具體內容了,一般稱之為請求體,request-body。給出一個圖示如下:

3、GET請求與POST請求對比

GET請求與POST請求有一些異同點,主要有以下幾點問題:

(1)、GET請求和POST請求都是客戶端與伺服器之間交互,請求--應答模式的協議

(2)、GET請求是通過URL直接請求數據,數據信息可以在URL中直接看到,比如瀏覽器訪問;而POST請求是放在請求頭中的,我們是無法直接看到的;

(3)、GET提交有數據大小的限制,一般是不超過1024個位元組,而這種說法也不完全准確,HTTP協議並沒有設定URL位元組長度的上限,而是瀏
覽器做了些處理,所以長度依據瀏覽器的不同有所不同;POST請求在HTTP協議中也沒有做說明,一般來說是沒有設置限制的,但是實際上瀏覽器也有默認
值。總體來說,少量的數據使用GET,大量的數據使用POST。

(4)、GET請求因為數據參數是暴露在URL中的,所以安全性比較低,比如密碼是不能暴露的,就不能使用GET請求;POST請求中,請求參數信息是放在請求頭的,所以安全性較高,可以使用。在實際中,涉及到登錄操作的時候,盡量使用HTTPS請求,安全性更好。

下面給出一副圖示,說明一下HTTP中GET與POST請求的差異:

4、使用步驟:

在Android中使用HTTP請求,主要步驟如下:

(1)、實例化一個HttpGet(或HttpPost)對象,將請求的URL地址通過構造方法傳給HttpGet(或HttpPost)對象;
(2)、使用DefaultHttpClient類的execute方法發送GET或POST 請求,並返回HttpResponse對象;
(3)、通過HttpResponse介面的getEntity方法返回響應信息。

5、實例代碼

給出一個在實際應用中的一個POST請求的代碼片段:

[java] view plain print?
params = new LinkedList();
params.add(new BasicNameValuePair("param1", "Post方法"));
params.add(new BasicNameValuePair("param2", "第二個參數"));

try {
HttpPost post = new HttpPost(baseUrl);
post.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中

HttpResponse response = httpClient.execute(post); //執行POST方法
resCode = response.getStatusLine().getStatusCode()); //獲取響應碼
result = EntityUtils.toString(response.getEntity(), "utf-8")); //獲取響應內容

} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

6、HTTP請求狀態碼意義

HTTP請求中,主要有這樣幾個類型:1XX:表示信息提示,2XX:表示成功,3XX:表示重定向,4XX:表示客戶端請求錯誤,5XX:表示伺服器錯誤。常見的幾個HTTP請求狀態碼意義如下:

200 OK: 找到了該資源,並且一切正常。
304 NOT MODIFIED: 該資源在上次請求之後沒有任何修改。這通常用於瀏覽器的緩存機制。
401 UNAUTHORIZED: 客戶端無權訪問該資源。這通常會使得瀏覽器要求用戶輸入用戶名和密碼,以登錄到伺服器。
403 FORBIDDEN: 客戶端未能獲得授權。這通常是在401之後輸入了不正確的用戶名或密碼。
404 NOT FOUND: 在指定的位置不存在所申請的資源。
505 NOT SUPPORTED:伺服器不支持請求中所指明的HTTP版本

『叄』 如何用php向伺服器發送post請求

用PHP向伺服器發送HTTP的POST請求,代碼如下:

<?php
/**
*發送post請求
*@paramstring$url請求地址
*@paramarray$post_datapost鍵值對數據
*@returnstring
*/
functionsend_post($url,$post_data){
$postdata=http_build_query($post_data);
$options=array(
'http'=>array(
'method'=>'POST',
'header'=>'Content-type:application/x-www-form-urlencoded',
'content'=>$postdata,
'timeout'=>15*60//超時時間(單位:s)
)
);
$context=stream_context_create($options);
$result=file_get_contents($url,false,$context);
return$result;
}

使用的時候直接調用上面定義的send_post方法:

$post_data=array(
'username'=>'username',
'password'=>'password'
);
send_post('網址',$post_data);

『肆』 表單向伺服器發送http請求通常有哪兩種辦法

表單向伺服器發送http請求通常有這Get和Post兩種辦法。將表單數據發送給伺服器的常用方式有兩種:Get和Post。瀏覽器發送給伺服器的HTTP請求分為:請求頭(header)和請求主體(body)兩部分。其中,必須包含頭部分,用於指定發送請求的方式、目的地以及其他關鍵信息;而主體是可選的。在頭數據和主體數據之間用一個空白行來隔開。

Get和Post區別

GET和POST的主要區別是數據以何種方式發送到伺服器。GET將表單域名和值作為鍵/值對追加到URL末尾。URL中。後面的數據是可見的。POST也會發送數據,同樣通過一個關聯數據發送,但是編碼方式不同,另外URL中的數據對最終用戶不可見。

『伍』 如何實現HTTP請求

HTTP(HyperText Transfer Protocol)是一套計算機通過網路進行通信的規則。計算機專家設計出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP伺服器(Web伺服器)請求信息和服務,HTTP目前協議的版本是1.1.HTTP是一種無狀態的協議,無狀態是指Web瀏覽器和Web伺服器之間不需要建立持久的連接,這意味著當一個客戶端向伺服器端發出請求,然後Web伺服器返回響應(response),連接就被關閉了,在伺服器端不保留連接的有關信息.HTTP遵循請求(Request)/應答(Response)模型。Web瀏覽器向Web伺服器發送請求,Web伺服器處理請求並返回適當的應答。所有HTTP連接都被構造成一套請求和應答。
HTTP使用內容類型,是指Web伺服器向Web瀏覽器返回的文件都有與之相關的類型。所有這些類型在MIMEInternet郵件協議上模型化,即Web伺服器告訴Web瀏覽器該文件所具有的種類,是HTML文檔、GIF格式圖像、聲音文件還是獨立的應用程序。大多數Web瀏覽器都擁有一系列的可配置的輔助應用程序,它們告訴瀏覽器應該如何處理Web伺服器發送過來的各種內容類型。
HTTP通信機制是在一次完整的HTTP通信過程中,Web瀏覽器與Web伺服器之間將完成下列7個步驟:
(1) 建立TCP連接
在HTTP工作開始之前,Web瀏覽器首先要通過網路與Web伺服器建立連接,該連接是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網路。HTTP是比TCP更高層次的應用層協議,根據規則,只有低層協議建立之後才能,才能進行更層協議的連接,因此,首先要建立TCP連接,一般TCP連接的埠號是80
(2) Web瀏覽器向Web伺服器發送請求命令
一旦建立了TCP連接,Web瀏覽器就會向Web伺服器發送請求命令
例如:GET/sample/hello.jsp HTTP/1.1
(3) Web瀏覽器發送請求頭信息
瀏覽器發送其請求命令之後,還要以頭信息的形式向Web伺服器發送一些別的信息,之後瀏覽器發送了一空白行來通知伺服器,它已經結束了該頭信息的發送。
(4) Web伺服器應答
客戶機向伺服器發出請求後,伺服器會客戶機回送應答,
HTTP/1.1 200 OK
應答的第一部分是協議的版本號和應答狀態碼
(5) Web伺服器發送應答頭信息
正如客戶端會隨同請求發送關於自身的信息一樣,伺服器也會隨同應答向用戶發送關於它自己的數據及被請求的文檔。
(6) Web伺服器向瀏覽器發送數據
Web伺服器向瀏覽器發送頭信息後,它會發送一個空白行來表示頭信息的發送到此為結束,接著,它就以Content-Type應答頭信息所描述的格式發送用戶所請求的實際數據
(7) Web伺服器關閉TCP連接
一般情況下,一旦Web伺服器向瀏覽器發送了請求數據,它就要關閉TCP連接,然後如果瀏覽器或者伺服器在其頭信息加入了這行代碼
Connection:keep-alive
TCP連接在發送後將仍然保持打開狀態,於是,瀏覽器可以繼續通過相同的連接發送請求。保持連接節省了為每個請求建立新連接所需的時間,還節約了網路帶寬。

閱讀全文

與如何請求伺服器相關的資料

熱點內容
單片機編程取反 瀏覽:895
51單片機課程設計課題 瀏覽:898
手機淘寶登錄怎麼加密碼 瀏覽:484
linux快捷方式圖標 瀏覽:37
陽光車險的app叫什麼名字 瀏覽:461
購買單片機的器件時需要給商家啥 瀏覽:534
並行編譯技術的發展 瀏覽:550
阿里雲伺服器安裝管理 瀏覽:550
java手機開發教程 瀏覽:674
我的世界怎麼刪除伺服器數據 瀏覽:671
linux內存子系統 瀏覽:972
加密思維幣 瀏覽:690
魅族訪客文件夾 瀏覽:52
添加的文件夾怎麼找 瀏覽:617
程序員涉黃 瀏覽:700
maven編譯resources下的js 瀏覽:522
ubuntu文件移動命令 瀏覽:229
安卓i怎麼查找蘋果手機 瀏覽:951
雲伺服器宕機概率 瀏覽:232
在線買葯用什麼app知乎 瀏覽:815