A. 從輸入URL訪問伺服器,到獲得相應的響應信息的全部過程
不知道樓主想了解哪個過程,了解到什麼程度,我提供兩個部分吧(1)如果在URL中使用域名,以 www.qq.com 為例,DNS名稱解析過程: 當客戶端向DNS伺服器發送請求,要求解析地址地址 www.qq.com 時,將執行如下步驟: 1.為了查詢 www.qq.com 的IP地址,客戶端發出請求並向所設置的DNS伺服器發送遞歸查詢。 2.若所設DNS伺服器無法在其資料庫中找到 www.qq.com 的匹配項,則向根目錄域的權威DNS發送迭代查詢。 3.若根目錄域權威DNS伺服器也找不到 www.qq.com 的匹配項,則以com域的權威DNS伺服器的IP地址返回給1中的伺服器。 4.1中的DNS伺服器收到根目錄域返回信息後,向com域的權威DNS伺服器發送迭代查詢。 5.若com域的權威DNS伺服器也找不到 www.qq.com 的匹配項,則以web.com域的權威DNS伺服器的IP地址返回給1中的伺服器。 6.1中的DNS伺服器收到com域返回信息後,向web.com域的權威DNS伺服器發送迭代查詢。 7.若web.com域的權威DNS伺服器在其資料庫中找到了 www.qq.com 的匹配項,則以 www.qq.com 的IP地址返回給1中的伺服器。 8.1中的DNS伺服器收到web.com域返回信息後,將 www.qq.com 的IP地址作為響應發送給客戶端。(2)URL種類很多啊,我這里以最常用的HTTP協議為例吧 在http傳輸的過程中,被稱為客戶端的請求者向伺服器請求一個文件。 最基本的過程是: 1 客戶端連接一個主機; 2 伺服器接收連接, 3 客戶端請求一個文件, 4 伺服器發送一個應答. 實例:在瀏覽器上敲入「 http://www.maketop.net/resource/rs_041112_02.php 」.瀏覽器將連接 www.maketop.net 然後發送: >> GET /resource/rs_041112_02.php Http1.1 >> Host: www.maketop.net >> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, >> Accept-Language: en >> Accept-Encoding: gzip, deflate >> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10 >> Connection: Keep-Alive 解釋:瀏覽器請求頁面「/resource/rs_041112_02.php」。並使用HTTP1.1協議。並告訴伺服器你的瀏覽器是Firefox0.10。操作系統是Windows XP。 瀏覽器希望保持與 www.maketop.net 之間的連接,並請求獲得多的文件,包括網頁中的圖片。翻譯成語言上面是: >> 用HTTP1.1協議獲得 /resource/rs_041112_02.php >> 訪問的主機是: www.maketop.net >> 接收的文件包括了: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, >> 使用的語言是: en >> 接收的編碼方式(瀏覽器能夠解釋的)是: gzip, deflate >> 用戶的瀏覽器信息:Windows XP的操作系統 Firefox/0.10的瀏覽器
B. 伺服器的ip地址怎麼實現url,
去注冊一個.com的域名,然後在域名解析中ip地址指向你的伺服器地址。
還可以去注冊一個免費動態域名,在你的伺服器上裝上客戶端,使用動態域名訪問。
C. URLConnection
URLConnection是java中用於與URL指定資源建立活動連接的抽象類,它提供了對伺服器交互的更高級控制。通過它,可以發送POST、PUT等HTTP請求並獲取伺服器響應的詳細信息。
與URL類不同,URLConnection允許檢查發送的首部信息,並據此作出響應。在java.net包中,我們直接操作的是抽象的URLConnection,具體實現由sun.net包中的子類處理,通常通過forName()和newInstance()方法動態實例化。
使用URLConnection的基本步驟包括:首先,通過調用getOutputStream()獲取輸出流,但在發送數據前需設置doOutput為true。其次,可以配置請求首部,如setRequestProperty()和addRequestProperty()方法。如果需要向伺服器寫入數據,可以使用OutputStream。最後,處理伺服器響應,如檢查getResponseCode()和getResponseMessage()獲取HTTP狀態碼和消息。
對於HTTPURLConnection,它是URLConnection的子類,提供了更豐富的HTTP請求處理功能,如設置請求方法(GET, POST, HEAD等)、處理重定向和代理伺服器。默認情況下,它會處理300級重定向,但可以通過setFollowRedirects()方法調整行為。此外,還可以獲取錯誤流以處理可能出現的錯誤。
為了確保資源的正確使用,建議在完成操作後,通過調用disconnect()方法斷開與伺服器的連接。