HTTP 校招知識點總結

2021-10-21 23:17:36 字數 3322 閱讀 5535

http協議概述http報文格式請求方法與響應碼瀏覽器搜尋到頁面顯示的過程,http與tcpsession與cookieshttp1.0,1.1,2.0restful 程式設計風格https

http是指超文字傳輸協議,顧名思義就是通過網路在主機之間傳遞超文字的一種協議,廣泛用於bs(瀏覽器和web伺服器)架構下

http的工作模式是客戶端瀏覽器向伺服器請求資源,伺服器響應發回資源,所以http報文分為請求報文和響應報文

格式:起始行 + 頭 + 資料體

請求報文響應報文

起始行方法型別、資源url、版本號

版本號、響應碼、狀態碼描述

content-length:傳送資料的長度

content-encoding:資料壓縮格式(zip)

server:伺服器應用軟體名稱、版本

date

資料

資源

請求方法

請求定義了對資源的操作型別,get,post,put,delete就像資料庫select,insert,update,delete

get和post請求方法的區別

getpost

語義get表示從伺服器取,應該只是檢索資料

post表示上傳實體到伺服器,通常會對伺服器產生影響

傳送資料的方式

放到url裡

放到請求體裡,相較而言更安全,但是也是明文傳輸

傳送資料長度限制

受限於url長度

沒有限制

tcp資料報數

產生乙個包,傳送請求頭和資料

產生兩個包,

先傳送頭,伺服器響應100(continue);

再傳送資料

get快取機制目的:

做法:瀏覽器會把資源以及狀態資訊快取下來

使用者再次請求該資源時,瀏覽器檢查過期時間是否到,

詢問伺服器資源這段時間是否被更新

學習自部落格   http請求中的快取機制

響應碼

20x30x

40x50x

通俗請求成功

請求重定向

客戶端的請求有問題

伺服器的處理有問題

舉例200:請求成功

201:建立成功,請求資源被成功建立

301;請求資源永久轉移了

302:請求資源暫時被轉移

304:請求資源未被修改

400:請求格式有誤

403:拒絕執行請求

404:請求資源不存在

500:伺服器內部錯誤

301和302的區別

瀏覽器搜尋到頁面顯示的過程

dns的解析

建立tcp連線

傳送http請求報文

伺服器處理請求

伺服器發回http響應報文

瀏覽器請求靜態資源(css,img,js等),渲染html

http與tcp

一次http請求建立乙個tcp連線?處理完畢連線斷開?

session與cookies

cookies:cookie集合,乙個cookie包含鍵值對、過期時間、網域名稱、路徑、secure(ssh安全連線時回傳)、描述資訊,使用者訪問伺服器時,伺服器會給客戶端瀏覽器返回一些鍵值對用來區分使用者

客戶端再次訪問伺服器時,滿足條件就會在請求頭里帶上這些cookie(有數量、大小限制,取決於瀏覽器,使用者可自行刪除),包含sessionid,用來確定客戶身份

session:是乙個concurrenthashmap,是伺服器用來儲存使用者資訊的;伺服器用的concurrenthashmap根據sessionid查詢使用者session

作用:都是用來儲存http請求間的狀態資訊,保持訪問使用者與後端伺服器的互動狀態
區別:儲存位置不同,session更安全儲存在伺服器,cookie儲存在客戶端瀏覽器,傳輸過程容易被人窺探,所以敏感資訊應該加密 或 不通過cookie傳輸
http1.0,1.1與2.0

連線預設短連線(1次請求建立1個tcp連線)

可以通過設定connection:keep-alive使用長連線

缺省長連線

多路復用(乙個連線併發多個請求),基於二進位制幀(保證請求不亂序)

快取cache-control:

快取響應指令:

支援虛擬主機,增加host欄位以區分同乙個ip下的多個虛擬主機

引入options方法

服務端主動推送,比如推送css檔案,js檔案,靜態資料

允許客服端不等請求返回就發下乙個請求,

伺服器必須按請求順序返回響應

首部壓縮

restful 程式設計風格

概述:對資源的url訪問路徑進行命名的風格

特點: 舉例:

好處:對所有資源的訪問更加統一,容易舉一反三,便於訪問、記憶

uri:統一資源識別符號,url:統一資源定位符

uri包括了url,url是以路徑作為標識

設計模式 校招知識點總結

目錄 6大原則 分類 模式 jdk中的設計模式 單一職責 乙個類只需要做好一件事,複雜事通過多個類的合作完成 開閉原則 對擴充套件開放,對修改關閉 黎克特制替換原則 父物件能做的事,子物件也能做 依賴倒置 上層模組不應該依賴下層模組,應該都依賴於抽象 解耦,兩邊約定好介面,各幹各的 抽象更穩定 介面...

MySQL事務實現 校招知識點總結

本章內容 事務特性 redo log如何實現永續性 undo log如何實現原子性 鎖 mvcc 實現隔離性 事務特性 redo log如何實現永續性 實現 innodb通過force log at commit機制實現永續性 效能影響 redo log包括兩部分 記憶體中的重做日誌緩衝區 磁碟中的...

HTTP知識點總結

唉扯遠了,說點實在的吧。web相關的開發人員應該都知道http協議的重要性,無論是做後端還是前端,安卓還是ios,都要跟http打交道。想必用fiddler除錯web api的時候,對返回的各種4xx 5xx狀態碼感到一頭霧水絕不是什麼愉快的體驗。最近也是複習了一些相關的知識,今天就總結一下。通常所...