每一個Web服務器資源都有一個名字,這樣客戶端就能夠說明它們感興趣的資源是什麼了。服務器資源名稱被稱爲統一資源標識符(URI)html
URI有兩種形式,分別爲URL和URN服務器
統一資源定位符(URL)是資源標識符最多見的形式。URL描述了一臺特定服務器上某資源的特定位置。它們能夠明確說明如何從一個精確、固定的位置獲取資源。網絡
大部分URL都遵循一種標準格式,包含三個部分:字體
URI的第二種形式就是統一資源名(URN)。URN是做爲特定內容的惟一名稱使用的,與目前的資源所在地無關。htm
一個HTTP事務由一條(從客戶端發往服務器的)請求命令和一個(從服務器發回客戶端的)響應結果組成。這種通訊是經過HTTP報文(http message)的格式化數據塊進行的。blog
HTTP支持幾種不一樣的請求命令,這些命令被稱爲HTTP方法。每條HTTP請求報文都包含一個方法。事務
每條HTTP響應報文返回時都會攜帶一個狀態碼。狀態碼是一個三位數字的代碼,告訴客戶端請求是否成功,或者是否須要採起其餘動做。資源
HTTP報文是由一行一行的簡單字符串組成的。HTTP報文都是純文本,不是二進制代碼。字符串
從Web客戶端發往Web服務端的HTTP報文稱爲請求報文。從服務端發往客戶端的報文稱爲響應報文。get
HTTP報文包含三個部分:
報文的第一行,在請求報文中說明要作什麼,在響應報文中說明出現了什麼狀況。
起始行後面有零到多個首部字段。每一個首部字段都包含一個名字和一個值,中間用冒號(:)分隔。
首部以後就是可選的報文字體了,其中包含了全部類型的數據。
HTTP是個應用層協議。HTTP無需操心網絡通訊的具體細節,它把聯網的細節都給了通用、可靠的因特網傳輸協議TCP/IP。
TCP提供了:
HTTP協議位於TCP的上層。HTTP使用TCP來傳輸其報文數據。與之相似,TCP則位於IP的上層。
在HTTP客戶端向服務端發送報文以前,須要用網際協議(IP)地址和端口號在客戶端和服務器之間創建一條TCP/IP鏈接。
在TCP中,你須要知道服務器的IP地址,以及與服務器上運行的特定軟件相關的TCP端口號。URL就是資源地址因此天然可以爲咱們提供儲存資源的機器的IP地址。
域名又稱爲主機名,主機名就是IP地址比較人性化的別稱。能夠經過一種稱爲域名服務(DNS)的機制方便的將主機名轉換爲IP地址。