HTTP&HTTPS&AJAX&JSON--源動力

HTTP

什么是HTTP?

超文本傳輸協(xié)議,是一個基于請求與響應(yīng)脚曾,無狀態(tài)的东且,應(yīng)用層的協(xié)議,潮炯ィ基于TCP/IP協(xié)議傳輸數(shù)據(jù)珊泳,互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,所有的WWW文件都必須遵守這個標(biāo)準(zhǔn)。設(shè)計(jì)HTTP的初衷是為了提供一種發(fā)布和接收HTML頁面的方法

我們可以從以下幾個方面來了解HTTP:
1.HTTP協(xié)議的主要特點(diǎn)
2.HTTP報(bào)文的組成部分
3.HTTP方法
4.get 和 post的區(qū)別
5.HTTP狀態(tài)碼

HTTP協(xié)議的主要特點(diǎn)

簡單快速
每個資源(比如圖片拷沸、頁面)都通過 url 來定位色查。這都是固定的,在http協(xié)議中撞芍,處理起來也比較簡單秧了,想訪問什么資源,直接輸入url即可序无。

靈活
http協(xié)議的頭部有一個數(shù)據(jù)類型验毡,通過http協(xié)議,就可以完成不同數(shù)據(jù)類型的傳輸帝嗡。

無連接
連接一次晶通,就會斷開,不會繼續(xù)保持連接

無狀態(tài)
客戶端和服務(wù)器端是兩種身份哟玷。第一次請求結(jié)束后狮辽,就斷開了,第二次請求時(shí)巢寡,服務(wù)器端并沒有記住之前的狀態(tài)喉脖,也就是說,服務(wù)器端無法區(qū)分客戶端是否為同一個人讼渊、同一個身份动看。有的時(shí)候,我們訪問網(wǎng)站時(shí)爪幻,網(wǎng)站能記住我們的賬號菱皆,這個是通過其他的手段(比如 session)做到的,并不是http協(xié)議能做到的挨稿。

HTTP報(bào)文的組成部分

image.png

HTTP方法

主要包含:
GET:獲取資源
POST:傳輸資源
put:更新資源
DELETE:刪除資源
HEAD:獲得報(bào)文首部
get 和 post 比較常見仇轻,其他較少。

get 和 post的區(qū)別

image.png

http狀態(tài)碼

http狀態(tài)碼分類:

image.png

狀態(tài)碼查詢:https://www.runoob.com/http/http-status-codes.html

Content-Type

Content-Type 標(biāo)頭告訴客戶端實(shí)際返回的內(nèi)容的內(nèi)容類型奶甘。

conten-type查詢:https://www.runoob.com/http/http-content-type.html

image.png

HTTP通信傳輸

image.png

HTTPS

什么是HTTPS篷店?

HTTPS是身披SSL外殼的HTTP。HTTPS是一種通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議,經(jīng)由HTTP進(jìn)行通信疲陕,利用SSL/TLS建立全信道方淤,加密數(shù)據(jù)包。HTTPS使用的主要目的是提供對網(wǎng)站服務(wù)器的身份認(rèn)證蹄殃,同時(shí)保護(hù)交換數(shù)據(jù)的隱私與完整性携茂。

PS:TLS是傳輸層加密協(xié)議,前身是SSL協(xié)議诅岩,由網(wǎng)景公司1995年發(fā)布讳苦,有時(shí)候兩者不區(qū)分。

HTTPS特點(diǎn):

基于HTTP協(xié)議吩谦,通過SSL或TLS提供加密處理數(shù)據(jù)鸳谜、驗(yàn)證對方身份以及數(shù)據(jù)完整性保護(hù)

通過抓包可以看到數(shù)據(jù)不是明文傳輸,而且HTTPS有如下特點(diǎn):
1.內(nèi)容加密:采用混合加密技術(shù)式廷,中間者無法直接查看明文內(nèi)容
2.驗(yàn)證身份:通過證書認(rèn)證客戶端訪問的是自己的服務(wù)器
3.保護(hù)數(shù)據(jù)完整性:防止傳輸?shù)膬?nèi)容被中間人冒充或者篡改

  • 收方能夠證實(shí)發(fā)送方的真實(shí)身份咐扭;
  • 發(fā)送方事后不能否認(rèn)所發(fā)送過的報(bào)文;
  • 收方或非法者不能偽造懒棉、篡改報(bào)文草描。

HTTPS實(shí)現(xiàn)原理

image.png

AJAX

在講Ajax之前我們先了解一下同步和異步。

同步和異步的概念
同步:必須等待前面的任務(wù)完成策严,才能繼續(xù)后面的任務(wù)穗慕。
異步:不受當(dāng)前任務(wù)的影響。

異步更新
我們在訪問一個普通的網(wǎng)站時(shí)妻导,當(dāng)瀏覽器加載完HTML逛绵、CSS、JS以后倔韭,網(wǎng)站的內(nèi)容就固定了术浪。如果想讓網(wǎng)站內(nèi)容發(fā)生更改,就必須刷新頁面才能夠看到更新的內(nèi)容寿酌。

可如果用到異步更新胰苏,情況就大為改觀了。比如醇疼,我們在訪問新浪微博時(shí)硕并,看到一大半了,點(diǎn)擊底部的加載更多秧荆,會自動幫我們加載更多的微博倔毙,同時(shí)頁面并沒有刷新。

試想一下乙濒,如果沒有異步刷新的話陕赃,每次點(diǎn)擊“加載更多”,網(wǎng)頁都要刷新,體驗(yàn)就太不好了么库。

web前端里的異步更新傻丝,就要用到 Ajax

Ajax 的概念

在瀏覽器中,我們可以在不刷新頁面的情況下诉儒,通過ajax的方式去獲取一些新的內(nèi)容桑滩。

Ajax:Asynchronous Javascript And XML(異步 JavaScript 和 XML)。它并不是憑空出現(xiàn)的新技術(shù)允睹,而是對于現(xiàn)有技術(shù)的結(jié)合。Ajax 的核心是 js 對象:XMLHttpRequest幌氮。

一個完整的HTTP請求需要的是:

  • 請求的網(wǎng)址缭受、請求方法get/post。
  • 提交請求的內(nèi)容數(shù)據(jù)该互、請求主體等米者。
  • 接收響應(yīng)回來的內(nèi)容。

Ajax的請求步驟

(1)創(chuàng)建異步對象宇智。即 XMLHttpRequest 對象蔓搞。
(2)使用open方法設(shè)置請求的參數(shù)。open(method, url, async)随橘。參數(shù)解釋:請求的方法喂分、請求的url、是否異步机蔗。
(3)發(fā)送請求蒲祈。
(4)注冊事件。 注冊onreadystatechange事件萝嘁,狀態(tài)改變時(shí)就會調(diào)用梆掸。
如果要在數(shù)據(jù)完整請求回來的時(shí)候才調(diào)用,我們需要手動寫一些判斷的邏輯牙言。
(5)獲取返回的數(shù)據(jù)酸钦。

XMLHttpRequest 對象詳解

發(fā)送請求:

  • open(method, url, async);

參數(shù)解釋:

  • method:請求的類型;GET 或 POST
  • url:文件在服務(wù)器上的位置
  • async:true(異步)或 false(同步)

POST請求注意:

  • send(string); //string要發(fā)送的內(nèi)容
  • xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//定義發(fā)送內(nèi)容的格式

onreadystatechange 事件
注冊 onreadystatechange 事件后咱枉,每當(dāng) readyState 屬性改變時(shí)卑硫,就會調(diào)用 onreadystatechange 函數(shù)。
readyState:(存有 XMLHttpRequest 的狀態(tài)庞钢。從 0 到 4 發(fā)生變化)

  • 0: 請求未初始化
  • 1: 服務(wù)器連接已建立
  • 2: 請求已接收
  • 3: 請求處理中
  • 4: 請求已完成拔恰,且響應(yīng)已就緒
    status:
  • 200: "OK"。
  • 404: 未找到頁面基括。
    在 onreadystatechange 事件中颜懊,當(dāng) readyState 等于 4,且狀態(tài)碼為200時(shí),表示響應(yīng)已就緒河爹。

服務(wù)器響應(yīng)的內(nèi)容

  • responseText:獲得字符串形式的響應(yīng)數(shù)據(jù)匠璧。
  • responseXML:獲得 XML 形式的響應(yīng)數(shù)據(jù)。

如果響應(yīng)的是普通字符串咸这,就使用responseText夷恍;如果響應(yīng)的是XML,使用responseXML媳维。

JSON

JSON 的語法
JSON(JavaScript Object Notation):是ECMAScript的子集酿雪。作用是進(jìn)行數(shù)據(jù)的交換。
語法更為簡潔侄刽,網(wǎng)絡(luò)傳輸指黎、機(jī)器解析都更為迅速。

語法規(guī)則:

  • 數(shù)據(jù)在鍵值對中
  • 數(shù)據(jù)由逗號分隔
  • 花括號保存對象
  • 方括號保存數(shù)組

數(shù)據(jù)類型:

  • 數(shù)字(整數(shù)或浮點(diǎn)數(shù))
  • 字符串(在雙引號中)
  • 邏輯值(true 或 false)
  • 數(shù)組(在方括號中)
  • 對象(在花括號中)
  • null
image.png

JSON對象和字符串轉(zhuǎn)換

JSON.parse():將JSON字符串轉(zhuǎn)化為 js 對象
JSON.stringify():將 JS 對象轉(zhuǎn)化為JSON字符串州丹。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末醋安,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子墓毒,更是在濱河造成了極大的恐慌吓揪,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件所计,死亡現(xiàn)場離奇詭異柠辞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)醉箕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門钾腺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讥裤,你說我怎么就攤上這事放棒。” “怎么了己英?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵间螟,是天一觀的道長。 經(jīng)常有香客問我损肛,道長厢破,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任治拿,我火速辦了婚禮摩泪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘劫谅。我一直安慰自己见坑,他們只是感情好嚷掠,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荞驴,像睡著了一般不皆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上熊楼,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天霹娄,我揣著相機(jī)與錄音,去河邊找鬼鲫骗。 笑死犬耻,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的执泰。 我是一名探鬼主播香追,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼坦胶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起晴楔,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤顿苇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后税弃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纪岁,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年则果,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了幔翰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡西壮,死狀恐怖遗增,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情款青,我是刑警寧澤做修,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站抡草,受9級特大地震影響饰及,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜康震,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一燎含、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧腿短,春花似錦屏箍、人聲如沸绘梦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谚咬。三九已至,卻和暖如春尚粘,著一層夾襖步出監(jiān)牢的瞬間择卦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工郎嫁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秉继,地道東北人。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓泽铛,卻偏偏與公主長得像尚辑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子盔腔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容