ios網路通訊及http簡述

2021-07-11 03:07:16 字數 2921 閱讀 2063

網路協議分為7層,從下至上分別為。高層定義了應用程式的功能,底層只要面向通過網路的端到端的資料流

網路7層協議

物理層下層(位元流)

1資料鏈路層

下層(資料幀)

2網路層

下層(資料報)

3傳輸層

高層(資料段)

4會話層

高層(資料)

5表示層

高層(資料)

6應用層

高層(資料)7

物理層:物理層是osi參考模型的最低層,它利用傳輸介質為資料鏈路層提供物理連線。它主要關心的是通過物理鏈路從乙個節點向另乙個節點傳送位元流,物理鏈路可能是銅線、衛星、微波或其他的通訊媒介。它關心的問題有:多少伏電壓代表1?多少伏電壓代表0?時鐘速率是多少?採用全雙工還是半雙工傳輸?總的來說物理層關心的是鏈路的機械、電氣、功能和規程特性。主要有:

乙太網 ·

數據機 · 電力線通訊(plc) ·

sonet/sdh · g.709 ·

光導纖維 · 同軸電纜 · 雙絞線等

資料鏈路層:資料鏈路層是為網路層提供服務的,解決兩個相鄰結點之間的通訊問題,傳送的協議資料單元稱為

資料幀。只要協議有:wi-fi(

ieee 802.11) · wimax(

ieee 802.16) ·atm · dtm ·

令牌環 ·

乙太網 ·fddi ·

幀中繼 · gprs · evdo ·hspa · hdlc ·

ppp · l2tp ·pptp · isdn·stp 等

網路層:網路層是為傳輸層提供服務的,傳送的協議資料單元稱為

資料報或分組。該層的主要作用是解決如何使資料報通過各結點傳送的問題,即通過

路徑選擇演算法(

路由)將資料報送到目的地。另外,為避免

通訊子網中出現過多的資料報而造成

網路阻塞,需要對流入的資料報數量進行控制(

擁塞控制)。當資料報要跨越多個通訊子網才能到達目的地時,還要解決網際互連的問題。ip (ipv4 · ipv6) · icmp· icmpv6·igmp ·is-is · ipsec · arp · rarp等

傳輸層:tcp · udp · tls ·

dccp · sctp · rsvp · ospf 等

會話層:會話層主要功能是管理和協調不同主機上各種程序之間的通訊(對話),即負責建立、管理和終止應用程式之間的會話。會話層得名的原因是它很類似於兩個實體間的會話概念。例如,乙個互動的使用者會話以登入到計算機開始,以登出結束。

表示層:表示層處理流經結點的

資料編碼的表示方式問題,以保證乙個系統應用層發出的資訊可被另一系統的應用層讀出。如果必要,該層可提供一種標準表示形式,用於將計算機內部的多種

資料表示格式轉換成

網路通訊中採用的標準表示形式。資料壓縮和加密也是表示層可提供的轉換功能之一。

檔案傳輸、收發電子郵件等。

表示層,會話層,應用層我統一理解為應用層,管理、控制傳輸(http、socket等協議)。

http(hypertext transfer protocol),超文字傳輸協議

(1)規定客戶端和伺服器之間的資料傳輸格式

(2)讓客戶端和伺服器能有效的進行資料溝通

(4)過程:

1、請求:客戶端向伺服器端請求資料

http協議規定,1個完整的由客戶端傳送給伺服器的http請求中包括以下內容

請求行:包含了請求方式,請求資源路徑,http協議版本

2、響應:伺服器返回客戶端相應的資料

http協議規定,乙個完整的http響應,應包括以下內容

狀態行:包含了http協議版本,狀態碼,狀態英文名稱

響應頭:包含了對伺服器的描述,返回資料的描述

server:~

//伺服器的型別

content-type:text/html

//返回資料型別

content_length:51222

//資料長度

date:mon,23jun 2016 14:12:12 gmt //響應時間

(5)錯誤碼

http常見的響應碼

200   -- ok                            -- 請求成功

400   -- bad request             -- 客戶端請求的語法錯誤,伺服器無法解析

404   -- not found                 -- 伺服器無法根據客戶端的請求找到資源

500   -- internal server error  --  伺服器內部錯誤,無法完成請求

1、8種傳送http請求的方法

一般來說,http一共有八種請求方式:分別為get、post、options、head、put、delete、trace、connect、patch其中最為常用的為get,post方法

2、ios中傳送http請求的方案

在ios中,常見的傳送http請求(get和post)的解決方案有

(1)蘋果原生(自帶)

nsurlconnection:用法簡單,最古老最經典最直接的一種方案

nsurlsession:ios 7新出的技術,功能比nsurlconnection更加強大

cfnetwork:nsurl*的底層,純c語言

(2)第三方框架

asihttprequest:外號「http終結者」,功能極其強大,可惜早已停止更新

afnetworking:簡單易用,提供了基本夠用的常用功能

網路通訊原理簡述

主機a連線在路由器1上。主機a要與主機b通訊 主機a一定是知道主機b的ip位址的,在網路層ip位址是主機的唯一標示 注意 我們日常使用的網路都是星型結構,乙個區域網所有主機是通過路由器連線的,並沒有直接連線。wifi環境也是如此,每台主機通過分時復用或分頻復用等技術分別於路由器相連,相當於每台主機都...

網路通訊 http基礎

2 長連線 3 session 和 cookie的區別 uri uniform resource identifier 包含url uniform resource locator 和urn uniform resource name url 協議名 網域名稱 可以是ip位址 埠號 可省略 虛擬目錄...

HTTP 網路通訊過程

瀏覽器解析 url 協議 網域名稱 資源路徑 生成http 請求報文 2 dns 真實位址查詢 3 協議棧 指南幫手 4 tcp 可靠傳輸 5 ip 遠端定位 6 mac 兩點傳輸 7 網絡卡 出口 8 交換機 送別 9 路由器 出境 mac 頭部的作用就是將包送達路由器,其中的接收方 mac 位址...