移動開發在路上 IOS移動開發系列 多執行緒三

2022-07-02 23:27:08 字數 2282 閱讀 6873

這一次說一點概念性的東西,也是為後邊做一些基礎

http協議的基本概念

http協議的基本概念

全稱「超文字傳輸協議」,瀏覽器和伺服器之間的通訊規則

http協議永遠都是客戶端發起的請求,伺服器回送響應

------------請求--------------->

客戶端                                           伺服器(server)

<------------響應---------------

客戶端 需要什麼資料的時間 ,根據使用者的操作,作出相應的請求;

伺服器 收到這些請求,根據這些請求,返回相應的資料

請求方式

使用者在傳送請求訊息時,又分為多種不同的請求方式,比較常見的請求方式是get 和 post 請求

get 是向伺服器索取資料的一種請求方式

post 是向伺服器提交資料的一種請求方式

http請求

http請求主要有兩部分組成:http請求頭、http請求體

post 請求才有請求體

請求頭accept-charset:gbk,utf-8;

accept-encoding:gzip,deflate,sdch

accept-language:zh-cn,zh;

connection:keep-alive

請求提keyword=aaaa

可以用抓包工具嘗試一下。。。

對於http版本沒有什麼好說的,而狀態碼值得說一下,網上對於每個具體的http狀態碼所代表的含義都有解釋,這裡我說一下分類。

http響應中包含的頭包括1.響應頭(response header) 2.普通頭(general header) 3.實體頭(entity header)。

還有一點值得注意的是,http協議是無狀態的,這意味著對於接收http請求的伺服器來說,並不知道每一次請求來自同乙個客戶端還是不同客戶端,每一次請求對於伺服器來說都是一樣的。因此需要一些額外的手段來使得伺服器在接收某個請求時知道這個請求來自於某個客戶端。

下面我們說的http頭都是w3c標準的頭,我不會對每個頭的作用進行詳細說明,關於http頭作用的文章在網上已經很多了,請自行bing。http頭按照其不同的作用,可以分為四大類。

通用頭(general header)

通用頭即可以包含在http請求中,也可以包含在http響應中。通用頭的作用是描述http協議本身。比如描述http是否持久連線的connection頭,http傳送日期的date頭,描述http所在tcp連線時間的keep-alive頭,用於快取控制的cache-control頭等。

實體頭(entity header)

實體頭是那些描述http資訊的頭。既可以出現在http post方法的請求中,也可以出現在http響應中。比如圖5和圖6中的content-type和content-length都是描述實體的型別和大小的頭都屬於實體頭。其它還有用於描述實體的content-language,content-md5,content-encoding以及控制實體快取的expires和last-modifies頭等。

請求頭(http request header)

請求頭是那些由客戶端發往服務端以便幫助服務端更好的滿足客戶端請求的頭。請求頭只能出現在http請求中。比如告訴伺服器只接收某種響應內容的accept頭,傳送cookies的cookie頭,顯示請求主機域的host頭,用於快取的if-match,if-match-since,

if-none-match頭,用於只取http響應資訊中部分資訊的range頭,用於附屬html相關請求引用的referer頭等。

響應頭(http response header)

http響應頭是那些描述http響應本身的頭,這裡面並不包含描述http響應中第三部分也就是http資訊的頭(這部分由實體頭負責)。比如說定時重新整理的refresh頭,當遇到503錯誤時自動重試的retry-after頭,顯示伺服器資訊的server頭,設定cookie的set-cookie頭,告訴客戶端可以部分請求的accept-ranges頭等。

狀態保持

還有一點值得注意的是,http協議是無狀態的,這意味著對於接收http請求的伺服器來說,並不知道每一次請求來自同乙個客戶端還是不同客戶端,每一次請求對於伺服器來說都是一樣的。因此需要一些額外的手段來使得伺服器在接收某個請求時知道這個請求來自於某個客戶端。

這次雖然都是概念的的東西,但是還得提一下的,要不然就好比上樓梯中少了幾個台階,所以的必須提一下,現在感覺要是做得越深,理論的支撐是很重要的,也給大家分享一點算是自己心得。

期待大家的繼續支援

下次會說一些例項性的東西

出處:

移動開發在路上 IOS移動開發系列 多執行緒一

類似於什麼是程序什麼是執行緒在這裡我就不多浪費時間了 google一下什麼都有 廢話不多說先上圖,我相信大家都是喜歡看圖的人,俗話說得好,求圖求真相嗎?雖然這裡只有屌絲乙個但是真相還是會有的。碼農的eq有限,所以既沒有太多煽情的部分了 在obj c中線程的建立與啟動 首先說一下oc中有幾種多執行緒的...

移動開發必備

工具 1.alcatraz 是xcode的plugin管理器,想要什麼自己來吧。如inject plugin,cocoapods 2.xctool 3.nomad 5.sourcetree git 6.cornerstone svn 7.diffmerge 8.charles 來著的 9.cocoa...

移動前端開發

去掉輸入url控制項條 window.onload function script html,body body a,img mdn 手機網頁開發 mdn 在移動瀏覽器中使用viewport元標籤控制布局 移動前端開發和 web 前端開發的區別是什麼 移動前端端開發的入門理論 alloyteam移動...