網路請求的基礎知識

2021-07-22 15:47:13 字數 2170 閱讀 9374

網路請求的方式分類

建立url物件

/* 第1種方法

*/nsstring *string = [nsstring stringwithcontentsofurl:url encoding:nsutf8stringencoding error:nil];

/* 第2種方法

*/nsdata *data = [nsdata datawithcontentsofurl:url];

/* 第3種方法(使用nsurlconnection傳送同步請求)

*/3.1 建立請求物件

nsurlrequest *request = [nsurlrequest requestwithurl:url];

3.2 傳送同步請求

[nsurlconnection sendsynchronousrequest:request returningresponse:nil error:nil];

非同步請求 (常用nsurlconnection, afnetworking, nsurlsession, 下乙份筆記會詳細對比)

/*

第1種方法

*/1.1 建立url物件

1.2 建立請求物件

nsurlrequest *request = [nsurlrequest requestwithurl:url];

1.3 傳送非同步請求

[nsurlconnection sendasynchronousrequest:request queue:[nsoperationqueue mainqueue] completionhandler:^(nsurlresponse * _nullable response, nsdata * _nullable data, nserror * _nullable connectionerror) ];

/*

第2種方法

*/2.1 建立請求物件

nsurlrequest *request = [nsurlrequest requestwithurl:url];

2.2 傳送非同步請求, 並繫結其**為self

[nsurlconnection connectionwithrequest:request delegate:self];

``````

2.3 實現第乙個**方法(只有在收到伺服器響應時會觸發)

//注意:引數response即伺服器返回的響應頭, 包含返回資料的各種資訊, 如檔名,檔案大小,檔案型別

- (void)connection:(nsurlconnection *)connection didreceiveresponse:(nsurlresponse *)response

2.4 實現第二個**方法(接受伺服器傳過來的資料) 

伺服器會分段把資料傳給客戶端, 因此該方法可能會走多次.

- (void)connection:(nsurlconnection *)connection didreceivedata:(nsdata *)data

(void)connectiondidfinishloading:(nsurlconnection *)connection

- (void)connection:(nsurlconnection *)connection didfailwitherror:(nserror *)error

網路協議

http請求的結構

http最常用的請求的方法

post請求(常用)

網路請求的注意事項

對urlstring進行utf8編碼 --> 轉換成url

nsstring *urlstring = @"開發"

urlstring = [urlstring stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];

nsurl *url = [nsurl urlwithstring:urlstr];

nsurl->nsstring  ====>  [url absolutestring]

nsstring->nsurl ====> [nsurl urlwithstring:@""]

網路基礎知識(http請求)

http請求的過程 tcp的四次揮手 http和https的區別 1.https 需要到ca申請證書 2.http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議 3.http和https使用埠不一致,前者是80,後者是443 4.http的連線很簡單,是無狀態的。ht...

Request請求基礎知識

tomcat伺服器的實際行為 其中的資源路徑 正是 webservlet demo3 中的資源路徑 1.通過該路徑可以載入這個路徑指向的類,並建立該類物件,2.之後再建立request,response物件,並傳入該類物件的service方法,再執行 其中request物件中封裝了請求資料,resp...

網路基礎知識 網路基礎知識普及一

網路基礎知識普及一 mp.weixin.qq.com 1 什麼是鏈結?鏈結是指兩個裝置之間的連線。它包括用於乙個裝置能夠與另乙個裝置通訊的電纜型別和協議。2 osi 參考模型的層次是什麼?有 7 個 osi 層 物理層,資料鏈路層,網路層,傳輸層,會話層,表示層和應用層。3 什麼是骨幹網?骨幹網路是...