3-2:HTTP协议之URI(URL)和HTTP基本概念及其特征
文章目錄
- 一:URI和URL
- (1)URI和URL分別是什么
- (2)URL的格式(網址)
- 二:HTTP協議基本概念
- (1)HTTP協議是什么
- (2)什么是超文本傳輸協議
- (3)HTTP的基本特征
- A:無連接
- B:無狀態
- C:簡單快速
一:URI和URL
(1)URI和URL分別是什么
- URI(Uniform Resource Identifier):統一資源標識符——表示的是web上每一種可用的資源,如 HTML文檔、圖像、視頻片段、程序等都由一個URI進行標識的。
- URL(Uniform Resource Locator):統一資源定位符——URL是Internet上描述信息資源的字符串,主要用在各種WWW客戶程序和服務器程序上。
URL是URI的一個子集,URL是URI概念的一種實現方式。
URI和URL都定義了資源是什么,但是URL還定義了如何訪問資源,URL是一種具體的URL。他不僅唯一標識資源,而且還提供了定位該資源的信息。因此URL是一種語義上的抽象概念,可以是絕對的也可以是相對的,但是URL必須提供絕對的定位信息
(2)URL的格式(網址)
URL的格式如下
- 協議方案名:http或https協議
- 登錄信息(認證):指定用戶名和密碼作為服務器端獲取資源時的必要信息,此項為可選項,瀏覽器顯示時會隱藏
- 服務器地址:訪問服務器時必須指明服務器地址,上圖給出的只是方便人們記憶的網址,實際會由DNS(域名解析器)進行解析
- 服務器端口號:指定服務器連接的網絡端口號,也是一個可選項,其中有些端口號非常有名,屬于強綁定了,如果用戶省略則會使用默認的端口號
- 帶層次的文件路徑:指定服務器的文件路徑來定位指定的資源。和UNIX系統目錄結構類似,但這不是根目錄,而是一個部署好的web根目錄。
- (注意"?“好前面就是基本的URL格式,如果需要傳入參數,在”?"號后面加入,以K-V形式傳入)
- 查詢字符串:百度搜索時就按照這種方式傳參
另外,可以發現像/ ? @ :這樣的字符在URL中是具有特殊的意義的,因此在傳參時如果需要傳入這樣的字符,就必須對其進行轉義。轉義的過程稱為urlencode,其逆過程稱為urldecode
如下,如果輸入普通字符,可以發現關鍵字未被轉義
如果輸入特殊字符,發現進行了轉義
- 轉義規則:將需要轉義的字符先轉為16進制,然后從右向左取4位(不足4位直接處理),每2位做一位,在前面加上%,編成“%XY”的格式
因此在編寫服務器時,面對這些特殊字符,一定要做編碼處理,下面是一個在線的編碼/解碼工具
- urlencode工具
二:HTTP協議基本概念
(1)HTTP協議是什么
HTTP協議(HyperText Transfer Protoco)即超文本傳輸協議,屬于網絡分層中的應用層協議
(2)什么是超文本傳輸協議
1:協議
這個在這里就不多解釋了,學習網絡對于協議這二字解釋的已經夠多了
2:傳輸
HTTP協議是一個雙向協議。
我們在上網沖浪時,瀏覽器是請求方 A ,百度網站就是應答方 B。雙方約定用HTTP 協議來通信,于是瀏覽器把請求數據發送給網站,網站再把?些數據返回給瀏覽器,最后由瀏覽器渲染在屏幕,就可以看到圖片、視頻了。
3:超文本
再來理解「超文本」,它就是超越了普通文本的文本,它是文字、圖片、視頻等的混合體,最關鍵有超鏈接,能從?個超文本跳轉到另外?個超文本
因此對于HTTP協議可以總結為:HTTP 是?個在計算機世界里專門在「兩點」之間「傳輸」文字、圖片、音頻、視頻等「超文本」數據的「約定和規范」
(3)HTTP的基本特征
A:無連接
HTTP本身是基于TCP的,而TCP又是面向連接的,但HTTP卻是無連接的,這似乎有點矛盾。
實際上,HTTP既然建立與TCP之上,所以其本身是不關心TCP通信細節的,TCP是否是面向連接的與我HTTP是沒有半毛錢關系的。
而且,當TCP連接建立成功之后,HTTP是沒有必要在應用層再建立一個連接的,所以TCP建立好之后,HTTP直接向對方發HTTP請求(request)就可以了。
B:無狀態
TCP很明顯是有狀態的,但是HTTP是沒有狀態的。
HTTP是一種不保存狀態協議,其自身不對請求和相應之間的通信狀態進行保存,也就是說在HTTP這個級別,協議對于發送過的請求或相應都不會做持久化處理
使用 HTTP 協議,每當有新的請求發送時,就會有對應的新響應產生。協議本身并不保留之前一切的請求或響應報文的信息。這是為了更快地處理大量事務,確保協議的可伸縮性,而特意把 HTTP 協議設計成如此簡單的
但是這樣的簡單會帶了一個很大的問題——就是它不會記錄任何用戶信息,這樣就意味著你登錄淘寶,剛登上就斷了,無法保持登錄狀態。為了解決這個問題就引入了記錄基本信息的技術:cookie和session
C:簡單快速
HTTP在剛出來時是基于短連接的,用于傳輸html,img,css等文件,后續版本也支持了長連接。
總結
以上是生活随笔為你收集整理的3-2:HTTP协议之URI(URL)和HTTP基本概念及其特征的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (计算机组成原理)第二章数据的表示和运算
- 下一篇: HDU 5704