建設(shè)網(wǎng)站項(xiàng)目的目的是什么企業(yè)網(wǎng)絡(luò)營(yíng)銷目標(biāo)
http組成及狀態(tài)及參數(shù)傳遞
早期的網(wǎng)頁(yè)都是通過(guò)后端渲染來(lái)完成的:服務(wù)器端渲染(SSR,server side render):
客戶端發(fā)出請(qǐng)求 -> 服務(wù)端接收請(qǐng)求并返回相應(yīng)HTML文檔 -> 頁(yè)面刷新,客戶端加載新的HTML文檔;
缺點(diǎn)就是:只是一些數(shù)據(jù)發(fā)生了變化,而此時(shí)服務(wù)器卻要將重繪的整個(gè)頁(yè)面再返
回給瀏覽器加載,
有沒有辦法在頁(yè)面數(shù)據(jù)變動(dòng)時(shí),只向服務(wù)器請(qǐng)求新的數(shù)據(jù),并且在阻止頁(yè)面刷新的情況下,動(dòng)態(tài)的替換頁(yè)面中展示的數(shù)據(jù)呢?
答案正是“AJAX”。
網(wǎng)頁(yè)渲染過(guò)程:
服務(wù)端渲染:
????
前后端分離:
HTTP的組成:
一次HTTP請(qǐng)求主要包括:請(qǐng)求(Request)和響應(yīng)(Response)
HTTP的請(qǐng)求方式:
-
GET:GET 方法請(qǐng)求一個(gè)指定資源的表示形式,使用 GET 的請(qǐng)求應(yīng)該只被用于獲取數(shù)據(jù)。
-
HEAD:HEAD 方法請(qǐng)求一個(gè)與 GET 請(qǐng)求的響應(yīng)相同的響應(yīng),但沒有響應(yīng)體。 ?
比如在準(zhǔn)備下載一個(gè)文件前,先獲取文件的大小,再?zèng)Q定是否進(jìn)行下載; -
POST:POST 方法用于將實(shí)體提交到指定的資源。
-
PUT:PUT
方法用請(qǐng)求有效載荷(payload)替換目標(biāo)資源的所有當(dāng)前表示 -
DELETE:DELETE 方法刪除指定的資源;
-
PATCH:PATCH
方法用于對(duì)資源應(yīng)部分修改; -
CONNECT:CONNECT
方法建立一個(gè)到目標(biāo)資源標(biāo)識(shí)的服務(wù)器的隧道,通常用在代理服務(wù)器,網(wǎng)頁(yè)開發(fā)很少用到。 -
TRACE:TRACE
方法沿著到目標(biāo)資源的路徑執(zhí)行一個(gè)消息環(huán)回測(cè)試
HTTP Request Header
在request對(duì)象的header中也包含很多有用的信息,客戶端會(huì)默認(rèn)傳遞過(guò)來(lái)一些信息:
content-type是這次請(qǐng)求攜帶的數(shù)據(jù)的類型:
application/x-www-form-urlencoded:表示數(shù)據(jù)被編碼成以 ‘&’ 分隔的鍵 - 值對(duì),同時(shí)以 '='分隔鍵和值
application/json:表示是一個(gè)json類型;
text/plain:表示是文本類型;
application/xml:表示是xml類型;
multipart/form-data:表示是上傳文件;
HTTP Request Header
content-length:文件的大小長(zhǎng)度
keep-alive:
- http是基于TCP協(xié)議的,但是通常在進(jìn)行一次請(qǐng)求和響應(yīng)結(jié)束后會(huì)立刻中斷;
- 在http1.0中,如果想要繼續(xù)保持連接:
- 瀏覽器需要在請(qǐng)求頭中添加 connection: keep-alive;
- 服務(wù)器需要在響應(yīng)頭中添加 connection:keey-alive;
- 當(dāng)客戶端再次放請(qǐng)求時(shí),就會(huì)使用同一個(gè)連接,直接一方中斷連接;
- 在http1.1中,所有連接默認(rèn)是 connection: keep-alive的
- 不同的Web服務(wù)器會(huì)有不同的保持 keep-alive的時(shí)間;
- Node中默認(rèn)是5s中;
accept-encoding:告知服務(wù)器,客戶端支持的文件壓縮格式,比如js文件可以使用gzip編碼,對(duì)應(yīng) .gz文件;
accept:告知服務(wù)器,客戶端可接受文件的格式類型;
user-agent:客戶端相關(guān)的信息;
HTTP Response響應(yīng)狀態(tài)碼
Http狀態(tài)碼(Http Status Code)是用來(lái)表示Http響應(yīng)狀態(tài)的數(shù)字代碼
常見HTTP狀態(tài)碼 | 狀態(tài)描述 | 信息說(shuō)明 |
---|---|---|
200 | OK | 客戶端請(qǐng)求成功 |
201 | Created | POST請(qǐng)求,創(chuàng)建新的資源 |
301 | Moved Permanently | 請(qǐng)求資源的URL已經(jīng)修改,響應(yīng)中會(huì)給出新的URL |
400 | Bad Request | 客戶端的錯(cuò)誤,服務(wù)器無(wú)法或者不進(jìn)行處理 |
401 | Unauthorized | 未授權(quán)的錯(cuò)誤,必須攜帶請(qǐng)求的身份信息 |
403 | Forbidden | 客戶端沒有權(quán)限訪問,被拒接 |
404 | Not Found | 服務(wù)器找不到請(qǐng)求的資源。 |
500 | Internal Server Error | 服務(wù)器遇到了不知道如何處理的情況。 |
503 | Service Unavailable | 服務(wù)器不可用,可能處理維護(hù)或者重載狀態(tài),暫時(shí)無(wú)法訪問 |
HTTP Request Header
響應(yīng)的header中包括一些服務(wù)器給客戶端的信息: