網絡基礎

1.網絡基本概念

1).客戶端 (手機或者iPad等手持設備上面的APP)

2).服務器(遠程服務器-本地服務器)

3).請求 (客戶端索要數據的方式)

4).響應(需要客戶端解析數據)

5).數據庫(服務器里面的數據從這里來)

2.HTTP

1).URL

1)如何找到服務器(通過一個唯一的url)

2)url介紹

a.統一資源定位符

b.url格式 (協議\主機地址\路徑)

協議:不同的協議,代表著不同的資源查找方式,資源傳輸方式

主機地址:存放資源的主機(服務器)的IP地址(域名)

路徑:資源在主機(服務器)中的具體位置

3)請求協議

[file]訪問的是本地計算機上的資源,格式是:file://(不用加上主機地址)

[ftp]訪問的是共享主機的文件資源,格式是ftp://

[mailto]訪問的是電子郵件地址,格式是:mailto:

[http]超文本傳輸協議,訪問的是遠程的網絡資源,格式是:http://(網絡請求中最常用的協議)

2)http協議

(1)http協議的簡單介紹

a.超文本傳輸協議

b.規定客戶端和服務器之間的數據傳輸格式

c.讓客戶端和服務器端能有效的進行數據溝通

(2)http協議的優缺點

a.簡單快速(協議簡單,服務器端的程序規模小,通信速度快)

b.靈活(允許傳輸各種數據)

c.非持續性連接(1.1之前版本是非持續性的,即限制每次連接只處理一個請求,服務器對客戶端的請求做出響應后,馬上斷開連接,這種方式可以節省傳輸時間)

(3)基本通信過程

a.請求:客戶端向服務器端索要數據

b.響應.服務器返回客戶端相應的數據

3)GET 和 POST?

(1)http里面發送請求的方法

GET(常用) ?POST(常用) ?OPTIONS ?HEAD PUT DELETE TRACE CONNECT PATCH

(2)GET 和 POST 請求的對比(區別在于參數如何傳遞)

GET

在請求url后面以?的形式跟上發給服務器的參數,多個參數之間用&隔開,比如?

http://www.test.com/login?username=123&pwd=123&type=JSON

由于瀏覽器和服務器對url的長度有限制,因此在url后面附帶的參數是有限制的,通常不能超過1KB

POST

發送給服務器的參數全部放在請求體中,理論上,POST傳遞的數據量沒有限制(具體還得看服務器的處理能力)

(3)如何選擇(除簡單數據查詢外,其他的一律建議使用POST請求)

a.如果要傳遞大量數據,比如文件上傳,只能使用POST

b.GET的安全性比POST要差些,如果包含機密\敏感信息,建議使用POST

c.如果僅僅是要索取數據(數據查詢),建議使用GET

d.如果是增加,修改,刪除數據,建議使用POST

4)iOS中發送http請求的方案

(1)蘋果原生

NSURLConnection 03年推出的古老技術

NSURLSession 13年推出iOS7之后,以取代NSURLConnection

CFNetwork

(2)第三方框架

ASIHttpRequest

AFNetworking

MKNetworkkit

5)http請求通信過程

(1)請求 (包括請求頭 + 請求體[非必選])

(2)響應(響應頭 + 響應體)

(3)通信過程

a.發送請求的時候把請求頭和請求體(請求體是非必須的)包裝成一個請求對象

b.服務器端對請求進行響應,在響應信息中包含響應頭和響應體,響應信息是對服務器端的描述,具體的信息放在響應體中傳遞給客戶端

(4)狀態碼

[200] : 請求成功

[400] : 客戶端請求的語法錯誤,服務器無法解析

[404] : 無法找到資源

[500] : 服務器內部錯誤,無法完成請求

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容