http原理簡單解析測試工程師面試必備

2021-10-10 01:46:14 字數 2546 閱讀 9074

網路七層協議:

網路七層協議從下到上包括:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。

在網路層有ip協議、icmp協議、arp協議、rarp協議和bootp協議。在傳輸層中有tcp協議與udp協議。在應用層有ftp、http、telnet、smtp、dns等協議。因此,http本身就是乙個協議,但最終是基於tcp的,是從web伺服器傳輸超文字到本地瀏覽器的傳送協議。

tcp: 傳輸控制協議,是一種面向連線的,可靠的,基於位元組流的傳輸層通訊協議。

udp: 使用者資料報協議,無連線不可靠的,是一種簡單的面向資料報的傳輸層協議。

http協議

超文字傳輸協議,是乙個基於tcp/ip通訊協議來傳遞資料(html 檔案, 檔案, 查詢結果等,是屬於應用層級的。

http語法的方法主要包括:get、post、put、delete、head、options、trace最常見的是get、post。

get:向特定資源發出請求

post:指定資源提交資料進行處理請求(提交表單、上傳檔案)。

http協議請求組成部分:

主要分為請求行,請求頭部,空行,請求資料(請求體)

http請求報文示例:

以下是乙個http請求報文,其實請求行包含了請求方法,url鏈結,通常還包含http版本,目前市場大多數是http1.1版本。

post --請求行

post data:

—請求體請求資料

[no cookies] —請求頭

常用請求頭釋義:

accept:告訴伺服器,客戶端支援的資料型別。

accept-charset:告訴伺服器,客戶端採用的編碼。

accept-encoding:告訴伺服器,客戶機支援的資料壓縮格式。

accept-language:告訴伺服器,客戶機的語言環境。

host:客戶機通過這個頭告訴伺服器,想訪問的主機名。

if-modified-since:客戶機通過這個頭告訴伺服器,資源的快取時間。

referer:客戶機通過這個頭告訴伺服器,它是從哪個資源來訪問伺服器的。(一般用於防盜煉)

user-agent:客戶機通過這個頭告訴伺服器,客戶機的軟體環境。

cookie:客戶機通過這個頭告訴伺服器,可以向伺服器帶資料。

connection:客戶機通過這個頭告訴伺服器,請求完後是關閉還是保持鏈結。

date:客戶機通過這個頭告訴伺服器,客戶機當前請求時間

通用頭域:

通用頭域包含請求和響應訊息都支援的頭域,通用頭域包含cache-control、connection、date、pragma、transfer-encoding、upgrade、via。對通用頭域的擴充套件要求通訊雙方都支援此擴充套件,如果存在不支援的通用頭域,一般將會作為實體頭域處理。

cache-control指定請求和響應遵循的快取機制,請求時的快取指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,響應訊息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age

public指示響應可被任何快取區快取。

private指示對於單個使用者的整個或部分響應訊息,不能被共享快取處理。這允許伺服器僅僅描述當使用者的部分響應訊息,此響應訊息對於其他使用者的請求無效。

no-cache指示請求或響應訊息不能快取

no-store用於防止重要的資訊被無意的發布。

max-age指示客戶機可以接收生存期不大於指定時間(以秒為單位)的響應,等等。

}常見返回值含義:

狀態碼 含義

100 請求者應當繼續提出請求。伺服器返回此**表示已收到請求的第一部分,正在等待其餘部分

200 伺服器已成功處理了請求

302 重寫向,會自動將請求者轉到不同的位置

400 伺服器不理解請求的語法。

401 請求要求身份驗證。對於登入後請求的網頁,伺服器可能返回此響應。

404 伺服器找不到網頁

500 伺服器內部錯誤

502 閘道器錯誤

504 閘道器超時

常見響應頭:

content-length:表示內容長度,只有瀏覽器使用持久http連線時才需要這個引數。

expires:表示文件的過期時間,1.0中的引數,是相對檔案的最後訪問時間(atime)或者修改時間(mtime),會出現客戶端和伺服器時間不同步導致expires的配置出現問題。

max-age:也是表示文件過期時間,是1.1的引數,相對對的是文件的請求時間(atime)。

expires = 時間,http 1.0 版本,快取的載止時間,允許客戶端在這個時間之前不去檢查(發請求)。

max-age = 秒,http 1.1版本,資源在本地快取多少秒。

備註:如果max-age和expires同時存在,則被cache-control的max-age覆蓋。

測試工程師簡介

一 什麼是軟體測試?1975年,兩位軟體測試先驅john good enough和susan cerhart 在ieee上發表了 軟體資料選擇的原理 此時將軟體測試定義為 證明軟體的工作是正確 的活動。1979年,glenford j.myers的著名的 軟體測試藝術 對測試的定義是 發現錯誤而執行...

軟體測試工程師

首先,最根本的還是要看企業自身的需要,綜合自己的測試團隊力量,自己公司的研發狀況,當然還有公司的資金 到底到測試這塊公司願意投入多少money呢?另外要搞清楚自己公司招聘測試人員的目的是什麼?比如,如果公司暫時還沒有測試團隊,這個時候公司剛好有財力,同時研發力量比較大的時候,因為發展的需要,必須要組...

寫給測試工程師

你要為自己每一次的懦弱而懺悔 曾經不願承認自己出生於農村,曾經不敢面對自己是一名外包員工,曾經一次次的不甘心自己只是一名測試工程師。不做失敗者 微軟 ibm oracle 華為等等,這些公司選拔的測試工程師應該都是出類拔萃的人才。可惜不是你,說起你的大學,就想起郭敬明的 一夢三四年 你開始想做測試是...