接口測試-必須掌握的網(wǎng)絡(luò)基礎(chǔ)

一、網(wǎng)絡(luò)概述
網(wǎng)絡(luò)是由若干節(jié)點(diǎn)和連接這些節(jié)點(diǎn)的鏈路構(gòu)成掘猿,表示諸多對象及其相互聯(lián)系病游。在計(jì)算機(jī)領(lǐng)域中,網(wǎng)絡(luò)是信息傳輸稠通、接收衬衬、共享的虛擬平臺(tái),通過它把各個(gè)點(diǎn)采记、面佣耐、體的信息聯(lián)系到一起,從而實(shí)現(xiàn)這些資源的共享唧龄。網(wǎng)絡(luò)是人類發(fā)展史來最重要的發(fā)明兼砖,提高了科技和人類社會(huì)的發(fā)展奸远。
二、網(wǎng)絡(luò)基礎(chǔ)概念

  1. 客戶端:應(yīng)用 C/S(客戶端/服務(wù)器) B/S(瀏覽器/服務(wù)器)
  2. 服務(wù)器:為客戶端提供服務(wù)讽挟、數(shù)據(jù)懒叛、資源的機(jī)器
    3 .請求:客戶端向服務(wù)器索取數(shù)據(jù)點(diǎn)擊免費(fèi)下載海量工程資料
  3. 響應(yīng):服務(wù)器對客戶端請求作出反應(yīng),一般是返回給客戶端數(shù)據(jù)
  4. URL:Uniform Resource Locator(統(tǒng)一資源定位符)耽梅。網(wǎng)絡(luò)中每一個(gè)資源都對應(yīng)唯一的地址薛窥。
  5. IP地址是IP協(xié)議提供的一種統(tǒng)一的地址格式,它為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址眼姐,以此來屏蔽物理地址(每個(gè)機(jī)器都有一個(gè)編碼诅迷,如MAC上就有一個(gè)叫MAC地址的東西)的差異。是32位二進(jìn)制數(shù)據(jù)众旗,通常以十進(jìn)制表示罢杉,并以“.”分隔。IP地址是一種邏輯地地址贡歧,用來標(biāo)識(shí)網(wǎng)絡(luò)中一個(gè)個(gè)主機(jī)浓冒,在本地局域網(wǎng)上是惟一的巢掺。
  6. IP(網(wǎng)絡(luò)之間互連的協(xié)議)它是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則喳钟,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則逞壁。任何廠家生產(chǎn)的計(jì)算機(jī)系統(tǒng),只要遵守IP協(xié)議就可以與因特網(wǎng)互連互通绍弟。IP地址有唯一性技即,即每臺(tái)機(jī)器的IP地址在全世界是唯一的。這里指的是網(wǎng)絡(luò)上的真實(shí)IP它是通過本機(jī)IP地址和子網(wǎng)掩碼的"與"運(yùn)算然后再通過各種處理算出來的(要遵守TCP協(xié)議還要加報(bào)文及端口什么的晌柬,我沒有細(xì)追究姥份,現(xiàn)在還用不上,反正暫時(shí)知道被處理過的就行了)

三年碘、網(wǎng)絡(luò)通信

1. 網(wǎng)絡(luò)三要素

IP:主機(jī)的唯一表示 (http://202.108.22.5/)
端口號(hào):正在運(yùn)行的程序(0~65535)
協(xié)議:通信規(guī)則澈歉,TCP以及UDP

2. 網(wǎng)絡(luò)模型

2.1 簡介

  • 定義:計(jì)算機(jī)網(wǎng)絡(luò)的各層 + 其協(xié)議的集合
  • 作用:定義該計(jì)算機(jī)網(wǎng)絡(luò)的所能完成的功能

2.2 結(jié)構(gòu)介紹

  • OSI體系結(jié)構(gòu):概念清楚 & 理念完整,但復(fù)雜 & 不實(shí)用

  • TCP / IP體系結(jié)構(gòu):含了一系列構(gòu)成互聯(lián)網(wǎng)基礎(chǔ)的網(wǎng)絡(luò)協(xié)議屿衅,是Internet的核心協(xié)議 & 被廣泛應(yīng)用于局域網(wǎng) 和 廣域網(wǎng)

  • 五層體系結(jié)構(gòu):融合了OSI 與 TCP / IP的體系結(jié)構(gòu)埃难,目的是為了學(xué)習(xí) & 講解計(jì)算機(jī)原理

網(wǎng)絡(luò)模型

網(wǎng)絡(luò)參考模型OSI概述:(物聯(lián)網(wǎng)傳話試用)
1. 物理層:主要定義物理設(shè)備標(biāo)準(zhǔn),如網(wǎng)線的接口類型涤久、光纖的接口類型涡尘、各種傳輸介質(zhì)的傳輸速率等。它的主要作用是傳輸比特流(就是由1响迂、0轉(zhuǎn)化為電流強(qiáng)弱來進(jìn)行傳輸,到達(dá)目的地后在轉(zhuǎn)化為1考抄、0,也就是我們常說的數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換)蔗彤。這一層的數(shù)據(jù)叫做比特川梅。 指兩臺(tái)電腦進(jìn)行傳輸數(shù)據(jù)的網(wǎng)線疯兼。
2. 數(shù)據(jù)鏈路層:主要將從物理層接收的數(shù)據(jù)進(jìn)行MAC地址(網(wǎng)卡的地址)的封裝與解封裝。常把這一層的數(shù)據(jù)叫做幀贫途。在這一層工作的設(shè)備是交換機(jī)吧彪,數(shù)據(jù)通過交換機(jī)來傳輸。
3. 網(wǎng)絡(luò)層:主要將從下層接收到的數(shù)據(jù)進(jìn)行IP地址(例192.168.0.1)的封裝與解封裝丢早。在這一層工作的設(shè)備是路由器姨裸,常把這一層的數(shù)據(jù)叫做數(shù)據(jù)包。 將發(fā)送端電腦發(fā)送過來的數(shù)據(jù), 通過路由器進(jìn)行分配給指定IP的電腦上怨酝。
4. 傳輸層:定義了一些傳輸數(shù)據(jù)的協(xié)議和端口號(hào)(WWW端口80等)傀缩,如:TCP(傳輸控制協(xié)議,傳輸效率低凫碌,可靠性強(qiáng)扑毡,用于傳輸可靠性要求高,數(shù)據(jù)量大的數(shù)據(jù))盛险,UDP(用戶數(shù)據(jù)報(bào)協(xié)議,與TCP特性恰恰相反勋又,用于傳輸可靠性要求不高苦掘,數(shù)據(jù)量小的數(shù)據(jù),如QQ聊天數(shù)據(jù)就是通過這種方式傳輸?shù)模?主要是將從下層接收的數(shù)據(jù)進(jìn)行分段和傳輸楔壤,到達(dá)目的地址后再進(jìn)行重組鹤啡。常常把這一層數(shù)據(jù)叫做段。 定義兩臺(tái)電腦數(shù)據(jù)傳輸方式蹲嚣,稱作協(xié)議递瑰,常用的協(xié)議有:TCP、UDP隙畜、HTTP抖部。
5. 會(huì)話層:通過傳輸層(端口號(hào):傳輸端口與接收端口)建立數(shù)據(jù)傳輸?shù)耐贰V饕谀愕南到y(tǒng)之間發(fā)起會(huì)話或者接受會(huì)話請求(設(shè)備之間需要互相認(rèn)識(shí)可以是IP也可以是MAC或者是主機(jī)名) 要設(shè)置目標(biāo)電腦的IP地址和端口號(hào)议惰,才可以找到接收端的電腦和應(yīng)用慎颗。
6. 表示層:主要是進(jìn)行對接收的數(shù)據(jù)進(jìn)行解釋、加密與解密言询、壓縮與解壓縮等(也就是把計(jì)算機(jī)能夠識(shí)別的東西轉(zhuǎn)換成人能夠能識(shí)別的東西(如圖片俯萎、聲音等)。 將文字或者圖片轉(zhuǎn)換成電腦識(shí)別的二進(jìn)制的過程.运杭。
7. 應(yīng)用層: 主要是一些終端的應(yīng)用夫啊,比如說FTP(各種文件下載),WEB(IE瀏覽)辆憔,QQ之類的(可以把它理解成我們在電腦屏幕上可以看到的東西.就是終端應(yīng)用)撇眯。

四谆趾、HTTP協(xié)議

1. HTTP

  • HTTP是 Hyper Text Transfer Protocol(超文本傳輸協(xié)議)。
  • 1960年美國人Ted Nelson構(gòu)思了一種通過計(jì)算機(jī)處理文本信息的方法叛本,并稱之為超文本(hypertext),這成為了HTTP超文本傳輸協(xié)議標(biāo)準(zhǔn)架構(gòu)的發(fā)展根基沪蓬。
  • 超文本是用超鏈接的方法,將各種不同空間的文字信息組織在一起的網(wǎng)狀文本来候。超文本更是一種用戶界面范式跷叉,用以顯示文本及與文本之間相關(guān)的內(nèi)容。現(xiàn)時(shí)超文本普遍以電子文檔方式存在营搅,其中的文字包含有可以鏈結(jié)到其他位置或者文檔的連結(jié)云挟,允許從當(dāng)前閱讀位置直接切換到超文本連結(jié)所指向的位置。
  • 它是TCP/IP協(xié)議的一個(gè)應(yīng)用層協(xié)議转质,用于定義WEB瀏覽器與WEB服務(wù)器之間交換數(shù)據(jù) 的過程及數(shù)據(jù)本身的格式园欣。

2. HTTP協(xié)議概述

  • WEB瀏覽器與WEB服務(wù)器之間的一問一答的交互過程必須遵循一定的規(guī)則,這個(gè)規(guī)則就是HTTP協(xié)議休蟹。
  • Http協(xié)議是一種應(yīng)用層協(xié)議沸枯,它通過TCP實(shí)現(xiàn)了可靠的數(shù)據(jù)傳輸,能夠保證數(shù)據(jù)的完整性赂弓、正確性
  • 而TCP對于數(shù)據(jù)傳輸控制的優(yōu)點(diǎn)也能夠體現(xiàn)在Http協(xié)議上绑榴,使得Http的數(shù)據(jù)傳輸吞吐量、效率得到保證
10.1.3 http與https基本概念
  • HTTP:是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議盈魁,是一個(gè)客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)(TCP)翔怎,用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏覽器更加高效杨耙,使網(wǎng)絡(luò)傳輸減少赤套。
  • HTTPS:是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版珊膜,即HTTP下加入SSL(Secure Sockets Layer)層容握,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL辅搬。
    HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道唯沮,來保證數(shù)據(jù)傳輸?shù)陌踩涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性堪遂。
10.1.4 http與https的區(qū)別

簡單來說介蛉,HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議溶褪,要比http協(xié)議安全币旧。區(qū)別主要如下:
  1、https協(xié)議需要到ca申請證書猿妈,一般免費(fèi)證書較少吹菱,因而需要一定費(fèi)用巍虫。
  2、http是超文本傳輸協(xié)議鳍刷,信息是明文傳輸占遥,https則是具有安全性的ssl加密傳輸協(xié)議。
  3输瓜、http和https使用的是完全不同的連接方式瓦胎,用的默認(rèn)端口也不一樣,前者是80尤揣,后者是443搔啊。
  4、http的連接很簡單北戏,是無狀態(tài)的负芋;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議嗜愈,比http協(xié)議安全旧蛾。

10.2 http請求的組成

從客戶端到服務(wù)器端的請求消息,信息由4部分組成請求行芝硬、消息報(bào)頭蚜点、空行、請求正文


10.2.1 請求行(請求方法URI協(xié)議/版本)

請求的第一行是“方法URI協(xié)議/版本”例如:GET/sample.jsp HTTP/1.1
以上代碼中“GET”代表請求方法拌阴,“/sample.jsp”表示URI,“HTTP/1.1代表協(xié)議和協(xié)議的版本奶镶。

10.2.2 消息報(bào)頭(請求頭Request Header)

4. 常用請求頭

  • Host: www.baidu.com
  • User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
    (User Agent用戶代理迟赃,是Http協(xié)議中的一部分,屬于頭域的組成部分厂镇,User Agent也簡稱UA纤壁。它是一個(gè)特殊字符串頭,是一種向訪問網(wǎng)站提供你所使用的瀏覽器類型及版本捺信、操作系統(tǒng)及版本酌媒、瀏覽器內(nèi)核、等信息的標(biāo)識(shí)迄靠。通過這個(gè)標(biāo)識(shí)秒咨,用戶所訪問的網(wǎng)站可以顯示不同的排版從而為用戶提供更好的體驗(yàn)或者進(jìn)行信息統(tǒng)計(jì);例如用手機(jī)訪問谷歌和電腦訪問是不一樣的掌挚,這些是谷歌根據(jù)訪問者的UA來判斷的雨席。UA可以進(jìn)行偽裝。
  • Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
  • Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
  • Accept-Encoding: gzip, deflate, br
  • Connection: keep-alive
  • Cache-Control: max-age=0
  • Content-Type: text/html
  • Content-Length:120

請求頭包含許多有關(guān)的客戶端環(huán)境和請求正文的有用信息吠式。例如陡厘,請求頭可以聲明瀏覽器所用的語言抽米,請求正文的長度等。例如:
Accept:image/gif.image/jpeg./(請求的圖片內(nèi)容格式)
Accept-Language:zh-cn(zh-CN 是表示中文糙置,fr-FR 是表示法語云茸。 這是RFC1766定義的語言表示方式)
Connection:Keep-Alive(又稱持久連接、連接重用谤饭,Keep-Alive功能使客戶端到服務(wù)器端的連接持續(xù)有效标捺,當(dāng)出現(xiàn)對服務(wù)器的后繼請求時(shí),Keep-Alive功能避免了建立或者重新建立連接网持。)
Host:localhost(主機(jī)名字)
User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)(客戶端身份信息)
Accept-Encoding:gzip,deflate( 以壓縮格式接收請求數(shù)據(jù))

10.2.3 空行

必須有宜岛,發(fā)送回車符和換行符,通知服務(wù)器以下不再有請求頭

10.2.4 請求正文(body)

請求頭和請求正文之間是一個(gè)空行功舀,這個(gè)行非常重要萍倡,它表示請求頭已經(jīng)結(jié)束,接下來的是請求正文辟汰。請求正文中可以包含客戶提交的查詢字符串信息:
username=jinqiao&password=1234
在以上的例子的HTTP請求中列敲,請求的正文只有一行內(nèi)容。當(dāng)然帖汞,在實(shí)際應(yīng)用中戴而,HTTP請求正文可以包含更多的內(nèi)容。

案例

請求案例.png

10.4 請求方法

請求方法 解釋
GET 請求獲取Request-URI所標(biāo)識(shí)的資源
POST 在Request-URI所標(biāo)識(shí)的資源后附加新的數(shù)據(jù)
HEAD 請求獲取由Request-URI所標(biāo)識(shí)的資源的響應(yīng)消息報(bào)頭
PUT 請求服務(wù)器存儲(chǔ)一個(gè)資源翩蘸,并用Request-URI作為其標(biāo)識(shí)
DELETE 請求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源
TRACE 請求服務(wù)器回送收到的請求信息所意,主要用于測試或診斷
CONNECT 保留將來使用
OPTIONS 請求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項(xiàng)和需求
PATCH 對PUT方法的補(bǔ)充催首,用來對已知資源進(jìn)行局部更新

面試題:psot與get的區(qū)別

  1. Get是不安全的扶踊,因?yàn)樵趥鬏斶^程,數(shù)據(jù)被放在請求的URL中郎任;Post是安全的秧耗,因?yàn)樗胁僮鲗τ脩魜碚f都是不可見的。
  2. Get傳送的數(shù)據(jù)量較小舶治,這主要是因?yàn)槭躑RL長度限制分井;Post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制霉猛。
  3. Get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符尺锚;而Post支持整個(gè)ISO10646字符集。
  4. Get執(zhí)行效率卻比Post方法好韩脏。Get是form提交的默認(rèn)方法缩麸。

拓展:

  • Http的get請求方法提交的數(shù)據(jù)大小長度并沒有限制,Http協(xié)議規(guī)范沒有對URL長度進(jìn)行限制。目前說的get長度有限制杭朱,是特定的瀏覽器及服務(wù)器對它的限制阅仔。
  • 各種瀏覽器和服務(wù)器的最大處理能力如下:
    IE:對URL的最大限制為2083個(gè)字符,若超出這個(gè)數(shù)字弧械,提交按鈕沒有任何反應(yīng)八酒。
    Firefox:對Firefox瀏覽器URL的長度限制為:65536個(gè)字符。
    Safari:URL最大長度限制為80000個(gè)字符刃唐。
    Opera:URL最大長度限制為190000個(gè)字符羞迷。
    Chrome:URL最大長度限制為8182個(gè)字符。
    Apache(Server):能接受的最大url長度為8192個(gè)字符(這個(gè)準(zhǔn)確度待定画饥?衔瓮??) Microsoft Internet Information Server(IIS):n能接受最大url的長度為16384個(gè)字符抖甘。
  • 理論上講热鞍,post是沒有大小限制的。Http協(xié)議規(guī)范也沒有進(jìn)行大小限制衔彻,起限制作用的是服務(wù)器處理程序的處理能力薇宠。
    Tomcat下默認(rèn)post長度為2M,可通過修改conf/server.xml中的“maxPostSize=0”來取消對post大小的限制艰额。
  • 注意:若長度超限澄港,則服務(wù)端返回414標(biāo)識(shí)

10.5 http響應(yīng)格式

從服務(wù)器端到客戶器端的響應(yīng)信息,信息由4部分組成:狀態(tài)行柄沮、消息報(bào)頭回梧、空行、響應(yīng)正文祖搓。


響應(yīng)格式.png
10.5.1 狀態(tài)行

HTTP-1.1 Status-Code Reason-Phrase CRLF其中漂辐,HTTP-Version表示服務(wù)器HTTP協(xié)議的版本;Status-Code表示服務(wù)器發(fā)回的響應(yīng)狀態(tài)代碼棕硫;Reason-Phrase表示狀態(tài)代碼的文本描述。
例如:HTTP/1.1 200 OK \r\n

狀態(tài)碼

當(dāng)瀏覽者訪問一個(gè)網(wǎng)頁時(shí)袒啼,瀏覽者的瀏覽器會(huì)向網(wǎng)頁所在服務(wù)器發(fā)出請求哈扮。當(dāng)瀏覽器接收并顯示網(wǎng)頁前,此網(wǎng)頁所在的服務(wù)器會(huì)返回一個(gè)包含HTTP狀態(tài)碼的信息頭(server header)用以響應(yīng)瀏覽器的請求蚓再。

HTTP狀態(tài)碼的英文為HTTP Status Code滑肉。
下面是常見的HTTP狀態(tài)碼:

狀態(tài)碼 描述
200 請求成功
301 資源(網(wǎng)頁等)被永久轉(zhuǎn)移到其它URL
404 請求的資源(網(wǎng)頁等)不存在
500 內(nèi)部服務(wù)器錯(cuò)誤

HTTP狀態(tài)碼分類
HTTP狀態(tài)碼由三個(gè)十進(jìn)制數(shù)字組成,第一個(gè)十進(jìn)制數(shù)字定義了狀態(tài)碼的類型摘仅,后兩個(gè)數(shù)字沒有分類的作用靶庙。HTTP狀態(tài)碼共分為5種類型:

狀態(tài)碼 解釋
100-199 信息狀態(tài)碼,表示成功接收請求娃属,要求客戶端繼續(xù)提交下一次請求才能完成整個(gè)處理過程六荒。100(continue)繼續(xù)發(fā)送
200-299 成功狀態(tài)碼护姆,表示成功接收請求并已完成整個(gè)處理過程,常用200(OK)成功接收
300-399 重定向狀態(tài)碼掏击,例如卵皂,請求的資源已經(jīng)移動(dòng)一個(gè)新地址,常用302砚亭、307和304
400-499 客戶端的請求有錯(cuò)誤灯变,常用404(Not Found),403(Fobidden)
500-599 服務(wù)器端出現(xiàn)錯(cuò)誤捅膘,常用 500

HTTP狀態(tài)碼列表:

狀態(tài)碼 狀態(tài)碼英文名稱 中文描述
100 Continue 繼續(xù)添祸。客戶端應(yīng)繼續(xù)其請求
101 Switching Protocols 切換協(xié)議。服務(wù)器根據(jù)客戶端的請求切換協(xié)議寻仗。只能切換到更高級的協(xié)議刃泌,例如,切換到HTTP的新版本協(xié)議
200 OK 請求成功愧沟。一般用于GET與POST請求
201 Created 已創(chuàng)建蔬咬。成功請求并創(chuàng)建了新的資源
202 Accepted 已接受。已經(jīng)接受請求沐寺,但未處理完成
203 Non-Authoritative Information 非授權(quán)信息林艘。請求成功。但返回的meta信息不在原始的服務(wù)器混坞,而是一個(gè)副本
204 No Content 無內(nèi)容狐援。服務(wù)器成功處理,但未返回內(nèi)容究孕。在未更新網(wǎng)頁的情況下啥酱,可確保瀏覽器繼續(xù)顯示當(dāng)前文檔
205 Reset Content 重置內(nèi)容。服務(wù)器處理成功厨诸,用戶終端(例如:瀏覽器)應(yīng)重置文檔視圖镶殷。可通過此返回碼清除瀏覽器的表單域
206 Partial Content 部分內(nèi)容微酬。服務(wù)器成功處理了部分GET請求
300 Multiple Choices 多種選擇绘趋。請求的資源可包括多個(gè)位置,相應(yīng)可返回一個(gè)資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇
301 Moved Permanently 永久移動(dòng)颗管。請求的資源已被永久的移動(dòng)到新URI陷遮,返回信息會(huì)包括新的URI,瀏覽器會(huì)自動(dòng)定向到新URI垦江。今后任何新的請求都應(yīng)使用新的URI代替
302 Found 臨時(shí)移動(dòng)帽馋。與301類似。但資源只是臨時(shí)被移動(dòng)≌雷澹客戶端應(yīng)繼續(xù)使用原有URI
303 See Other 查看其它地址姨涡。與301類似。使用GET和POST請求查看
304 Not Modified 未修改项秉。所請求的資源未修改绣溜,服務(wù)器返回此狀態(tài)碼時(shí),不會(huì)返回任何資源娄蔼〔烙鳎客戶端通常會(huì)緩存訪問過的資源,通過提供一個(gè)頭信息指出客戶端希望只返回在指定日期之后修改的資源
305 Use Proxy 使用代理岁诉。所請求的資源必須通過代理訪問
306 Unused 已經(jīng)被廢棄的HTTP狀態(tài)碼
307 Temporary Redirect 臨時(shí)重定向锚沸。與302類似。使用GET請求重定向
400 Bad Request 客戶端請求的語法錯(cuò)誤涕癣,服務(wù)器無法理解
401 Unauthorized 請求要求用戶的身份認(rèn)證
402 Payment Required 保留哗蜈,將來使用
403 Forbidden 服務(wù)器理解請求客戶端的請求,但是拒絕執(zhí)行此請求
404 Not Found 服務(wù)器無法根據(jù)客戶端的請求找到資源(網(wǎng)頁)坠韩。通過此代碼距潘,網(wǎng)站設(shè)計(jì)人員可設(shè)置"您所請求的資源無法找到"的個(gè)性頁面
405 Method Not Allowed 客戶端請求中的方法被禁止
406 Not Acceptable 服務(wù)器無法根據(jù)客戶端請求的內(nèi)容特性完成請求
407 Proxy Authentication Required 請求要求代理的身份認(rèn)證,與401類似只搁,但請求者應(yīng)當(dāng)使用代理進(jìn)行授權(quán)
408 Request Time-out 服務(wù)器等待客戶端發(fā)送的請求時(shí)間過長音比,超時(shí)
409 Conflict 服務(wù)器完成客戶端的 PUT 請求時(shí)可能返回此代碼贷币,服務(wù)器處理請求時(shí)發(fā)生了沖突
410 Gone 客戶端請求的資源已經(jīng)不存在苛萎。410不同于404,如果資源以前有現(xiàn)在被永久刪除了可使用410代碼沮翔,網(wǎng)站設(shè)計(jì)人員可通過301代碼指定資源的新位置
411 Length Required 服務(wù)器無法處理客戶端發(fā)送的不帶Content-Length的請求信息
412 Precondition Failed 客戶端請求信息的先決條件錯(cuò)誤
413 Request Entity Too Large 由于請求的實(shí)體過大焰望,服務(wù)器無法處理骚亿,因此拒絕請求。為防止客戶端的連續(xù)請求熊赖,服務(wù)器可能會(huì)關(guān)閉連接来屠。如果只是服務(wù)器暫時(shí)無法處理,則會(huì)包含一個(gè)Retry-After的響應(yīng)信息
414 Request-URI Too Large 請求的URI過長(URI通常為網(wǎng)址)震鹉,服務(wù)器無法處理
415 Unsupported Media Type 服務(wù)器無法處理請求附帶的媒體格式
416 Requested range not satisfiable 客戶端請求的范圍無效
417 Expectation Failed 服務(wù)器無法滿足Expect的請求頭信息
500 Internal Server Error 服務(wù)器內(nèi)部錯(cuò)誤的妖,無法完成請求
501 Not Implemented 服務(wù)器不支持請求的功能,無法完成請求
502 Bad Gateway 作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請求時(shí)足陨,從遠(yuǎn)程服務(wù)器接收到了一個(gè)無效的響應(yīng)
503 Service Unavailable 由于超載或系統(tǒng)維護(hù),服務(wù)器暫時(shí)的無法處理客戶端的請求娇未。延時(shí)的長度可包含在服務(wù)器的Retry-After頭信息中
504 Gateway Time-out 充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器墨缘,未及時(shí)從遠(yuǎn)端服務(wù)器獲取請求
505 HTTP Version not supported 服務(wù)器不支持請求的HTTP協(xié)議的版本,無法完成處理
10.5.2 消息報(bào)頭

服務(wù)器傳遞給客戶端用于說明服務(wù)器的一些信息,以及將來繼續(xù)訪問該資源時(shí)的策略镊讼。

Location:Location響應(yīng)報(bào)頭域用于重定向接受者到一個(gè)新的位置宽涌。
Server:Server響應(yīng)報(bào)頭域包含了服務(wù)器用來處理請求的軟件信息。?WWW-Authenticate:WWW-Authenticate響應(yīng)報(bào)頭域必須被包含在401(未授權(quán)的)響應(yīng)消息中下面是WWW-Authenticate響應(yīng)報(bào)頭域的一個(gè)蝶棋,例子:WWW-Authenticate: Basic realm="Basic Auth Test!“
Content-Encoding:Content-Encoding實(shí)體報(bào)頭域被使用作媒體類型的修飾符.
Content-Language:Content-Language實(shí)體報(bào)頭域描述了資源所用的自然語言卸亮。
Content-Length:  Content-Length實(shí)體報(bào)頭域用于指明正文的長度.
Content-Type:Content-Type實(shí)體報(bào)頭域用語指明發(fā)送給接收者的實(shí)體正文的媒體類型。
Last-Modified:Last-Modified實(shí)體報(bào)頭域用于指示資源最后的修改日期及時(shí)間玩裙。
Expires: Expires實(shí)體報(bào)頭域給出響應(yīng)過期的日期和時(shí)間兼贸。
Expires實(shí)體報(bào)頭域使用的日期和時(shí)間必須是RFC 1123中的日期格式,例如:?Expires: Thu, 15 Sep 2005 16:00:00 GMT
10.5.3 響應(yīng)正文

服務(wù)端返回給客戶端的HTML文本內(nèi)容吃溅,或者其他格式的數(shù)據(jù)溶诞,比如:視頻流、圖片或者音頻數(shù)據(jù)决侈。
如果請求的是HTML頁面螺垢,那么返回的就是HTML代碼。如果是JS就是JS代碼赖歌。


響應(yīng)案例.png

7. Http協(xié)議的特點(diǎn)

①支持客戶/服務(wù)器模式枉圃。
②簡單快速:客戶向服務(wù)器請求服務(wù)時(shí),只需傳送請求方法和路徑庐冯。請求方法常用的有GET孽亲、 HEAD、POST肄扎。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同墨林。 由于HTTP協(xié)議簡單,使得HTTP服務(wù)器的程序規(guī)模小犯祠,因而通信速度很快旭等。
③靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。正在傳輸?shù)念愋陀蒀ontent-Type加以標(biāo)記衡载。
④無連接:無連接的含義是限制每次連接只處理一個(gè)請求搔耕。服務(wù)器處理完客戶的請求, 并收到客戶的應(yīng)答后痰娱,即斷開連接弃榨。采用這種方式可以節(jié)省傳輸時(shí)間。
⑤無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議梨睁。無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力鲸睛。 缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳坡贺,這樣可能導(dǎo)致每 次連接傳送的數(shù)據(jù)量增大官辈。另一方面箱舞,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快

8. Http 1.0 與 Http1.1的區(qū)別

1.0協(xié)議,客戶端與web服務(wù)器建立連接后拳亿,只能獲得一個(gè)web資源晴股! 而1.1協(xié)議,允許客戶端與web服務(wù)器建立連接后肺魁,在一個(gè)連接上獲取多個(gè)web資源电湘!

3. TCP與UDP區(qū)別:

  • TCP:
    建立連接
    安全可靠協(xié)議
    以流進(jìn)行數(shù)據(jù)傳遞,無大小限制
    三次握手協(xié)議鹅经,四次揮手

  • UDP:
    不建立連接
    不可靠協(xié)議
    以數(shù)據(jù)包傳遞寂呛,有大小限制64K

04. Socket以及Http:

  • Socket:長連接,理論上客戶端和服務(wù)端一旦建立連接瞬雹,則不會(huì)主動(dòng)斷掉昧谊;但是由于各種環(huán)境因素可能會(huì)是連接斷開,比如說:服務(wù)器端或客戶端主機(jī)down了酗捌,網(wǎng)絡(luò)故障呢诬,或者兩者之間長時(shí)間沒有數(shù)據(jù)傳輸,網(wǎng)絡(luò)防火墻可能會(huì)斷開該鏈接已釋放網(wǎng)絡(luò)資源胖缤。所以當(dāng)一個(gè)socket連接中沒有數(shù)據(jù)的傳輸尚镰,那么為了位置連續(xù)的連接需要發(fā)送心跳消息,具體心跳消息格式是開發(fā)者自己定義的哪廓。

  • Http:短連接狗唉,即客戶端向服務(wù)器發(fā)送一次請求,服務(wù)器端響應(yīng)后連接即會(huì)斷掉涡真。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末分俯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子哆料,更是在濱河造成了極大的恐慌缸剪,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件东亦,死亡現(xiàn)場離奇詭異杏节,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)典阵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門奋渔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人壮啊,你說我怎么就攤上這事嫉鲸。” “怎么了歹啼?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵充坑,是天一觀的道長减江。 經(jīng)常有香客問我,道長捻爷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任份企,我火速辦了婚禮也榄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘司志。我一直安慰自己甜紫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布骂远。 她就那樣靜靜地躺著囚霸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪激才。 梳的紋絲不亂的頭發(fā)上拓型,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機(jī)與錄音瘸恼,去河邊找鬼劣挫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛东帅,可吹牛的內(nèi)容都是我干的压固。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼靠闭,長吁一口氣:“原來是場噩夢啊……” “哼帐我!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起愧膀,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤拦键,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后扇调,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矿咕,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年狼钮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碳柱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熬芜,死狀恐怖莲镣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涎拉,我是刑警寧澤瑞侮,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布的圆,位于F島的核電站,受9級特大地震影響半火,放射性物質(zhì)發(fā)生泄漏越妈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一钮糖、第九天 我趴在偏房一處隱蔽的房頂上張望梅掠。 院中可真熱鬧,春花似錦店归、人聲如沸阎抒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽且叁。三九已至,卻和暖如春秩伞,著一層夾襖步出監(jiān)牢的瞬間逞带,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工稠歉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掰担,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓怒炸,卻偏偏與公主長得像带饱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子阅羹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

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