国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

web基礎(chǔ)及http協(xié)議 (一)

這篇具有很好參考價(jià)值的文章主要介紹了web基礎(chǔ)及http協(xié)議 (一)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、http協(xié)議

1.http 相關(guān)概念

  • 互聯(lián)網(wǎng):是網(wǎng)絡(luò)的網(wǎng)絡(luò),是所有類型網(wǎng)絡(luò)的母集

  • 因特網(wǎng):世界上最大的互聯(lián)網(wǎng)網(wǎng)絡(luò)。即因特網(wǎng)概念從屬于互聯(lián)網(wǎng)概念。習(xí)慣上,大家把連接在因特網(wǎng)上的計(jì)算機(jī)都成為主機(jī)。

  • 萬(wàn)維網(wǎng):WWW(world wide web)萬(wàn)維網(wǎng)并非某種特殊的計(jì)算機(jī)網(wǎng)絡(luò),是一個(gè)大規(guī)模的、聯(lián)機(jī)式的信息貯藏庫(kù),使用鏈接的方法能非常方便地從因特網(wǎng)上的一個(gè)站點(diǎn)訪問(wèn)另一個(gè)站點(diǎn)(超鏈技術(shù)),具有提供分布式服務(wù)的特點(diǎn)。萬(wàn)維網(wǎng)是一個(gè)分布式的超媒體系統(tǒng),是超文本系統(tǒng)的擴(kuò)充,基于B/S架構(gòu)實(shí)現(xiàn)

  • web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

  • URL:萬(wàn)維網(wǎng)使用統(tǒng)一資源定位符(Uniform Resource Locator)來(lái)標(biāo)志萬(wàn)維網(wǎng)上的各種文檔,并使每個(gè)文檔在整個(gè)因特網(wǎng)的范圍內(nèi)具有唯一的標(biāo)識(shí)符URL。(URL 描述了你需要資源的具體位置在什么地方

  • HTTP:為解決"用什么樣的網(wǎng)絡(luò)協(xié)議來(lái)實(shí)現(xiàn)整個(gè)因特網(wǎng)上的萬(wàn)維網(wǎng)文檔”這一難題,就要使萬(wàn)維網(wǎng)客戶程序(以瀏覽器為主,但不限于瀏覽器)與萬(wàn)維網(wǎng)服務(wù)器程序之間的交互遵守嚴(yán)格的協(xié)議,即超文本傳送協(xié)議(HyperText Transfer Protocol)。HTTP是處于應(yīng)用層的協(xié)議,使用TCP傳輸層協(xié)議進(jìn)行可靠的傳送。因此,需要特別提醒的是,萬(wàn)維網(wǎng)是基于因特網(wǎng)的一種廣泛因特網(wǎng)應(yīng)用系統(tǒng),且萬(wàn)維網(wǎng)采用的是HTTP(80/TCP)和 HTTPS(443/TCP)的傳輸協(xié)議,但因特網(wǎng)還有其他的網(wǎng)絡(luò)應(yīng)用系統(tǒng)(如:FTP、SMTP等等)。

  • HTML:為了解決"怎樣使不同作者創(chuàng)作的不同風(fēng)格的萬(wàn)維網(wǎng)文檔,都能在因特網(wǎng)上的各種主機(jī)上顯示出來(lái),同時(shí)使用戶清楚地知道在什么地方存在著鏈接”這一問(wèn)題,萬(wàn)維網(wǎng)使用超文本標(biāo)記語(yǔ)言(HyperText Markup Language),使得萬(wàn)維網(wǎng)頁(yè)面的設(shè)計(jì)者可以很方便地用鏈接從頁(yè)面的某處鏈接到因特網(wǎng)的任何一個(gè)萬(wàn)維網(wǎng)頁(yè)面,并且能夠在自己的主機(jī)品目上將這些頁(yè)面顯示出來(lái)。HTML與txt一樣,僅僅是是一種文檔,不同之處在于,這種文檔專供于瀏覽器上為瀏覽器用戶提供統(tǒng)一的界面呈現(xiàn)的統(tǒng)一規(guī)約。且具備結(jié)構(gòu)化的特征,這是txt所不具備的強(qiáng)制規(guī)定。

2 .訪問(wèn)瀏覽器的過(guò)程

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

3.?http 協(xié)議通信過(guò)程

HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。

HTTP是萬(wàn)維網(wǎng)的數(shù)據(jù)通信的基礎(chǔ),設(shè)計(jì)HTTP最初的目的是為了提供一種遠(yuǎn)距離共享知識(shí)的方式,借助多文檔進(jìn)行關(guān)聯(lián)實(shí)現(xiàn)超文本,連成相互參閱的WWW(world wide web,萬(wàn)維網(wǎng))

HTTP的發(fā)展是由蒂姆·伯納斯-李(Tim Berners-Lee)于1989年在歐洲核子研究組織(CERN)所發(fā)起。HTTP的標(biāo)準(zhǔn)制定由萬(wàn)維網(wǎng)協(xié)會(huì)(World Wide Web Consortium,W3C)和互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)進(jìn)行協(xié)調(diào),最終發(fā)布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定義了HTTP協(xié)議中現(xiàn)今廣泛使用的一個(gè)版本——HTTP 1.1版

2014年12月,互聯(lián)網(wǎng)工程任務(wù)組(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小組將HTTP/2標(biāo)準(zhǔn)提議遞交至IESG進(jìn)行討論,于2015年2月17日被批準(zhǔn)。 HTTP/2標(biāo)準(zhǔn)于2015年5月以RFC 7540正式發(fā)表,取代HTTP 1.1成為HTTP的實(shí)現(xiàn)標(biāo)準(zhǔn)。

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

擴(kuò)展網(wǎng)絡(luò)通信,兩臺(tái)主機(jī)之間通信

?
[root@zzh ~]#yum install nc -y


[root@zzh ~]#nc -l 8000
nihao 
xia xue le
下雪了
 
#主機(jī)1 在監(jiān)聽(tīng) 8000 端口



[root@centos7-2 ~]#nc 192.168.246.7 8000
nihao 
xia xue le
下雪了

#主機(jī)2 去訪問(wèn)  主機(jī)1(服務(wù)端)的8000 端口 就可以聊天了

?
例如:在瀏覽器地址欄鍵入U(xiǎn)RL,按下回車之后會(huì)經(jīng)歷以下流程:

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

例如:在瀏覽器地址欄鍵入U(xiǎn)RL,按下回車之后會(huì)經(jīng)歷以下流程:

1. 瀏覽器向 DNS 服務(wù)器請(qǐng)求解析該 URL 中的域名所對(duì)應(yīng)的 IP 地址;
2. 解析出 IP 地址后,根據(jù)該 IP 地址和默認(rèn)端口 80,和服務(wù)器建立TCP連接;
3. 瀏覽器發(fā)出讀取文件(URL 中域名后面部分對(duì)應(yīng)的文件)的HTTP 請(qǐng)求,該請(qǐng)求報(bào)文作為 TCP 三次握手的第三個(gè)報(bào)文的數(shù)據(jù)發(fā)送給服務(wù)器;
4. 服務(wù)器對(duì)瀏覽器請(qǐng)求作出響應(yīng),并把對(duì)應(yīng)的 html 文本發(fā)送給瀏覽器;
5. 釋放 TCP連接;
6. 瀏覽器將該 html 文本并顯示內(nèi)容;

4 . HTTP 相關(guān)技術(shù)

http: Hyper Text Transfer Protocol 應(yīng)用層協(xié)議,默認(rèn)端口: 80/tcp

①WEB前端開(kāi)發(fā)語(yǔ)言:

  • html

Hyper Text Markup Language 超文本標(biāo)記語(yǔ)言,編程語(yǔ)言,主要負(fù)責(zé)實(shí)現(xiàn)頁(yè)面的結(jié)構(gòu)

  • css

Cascading Style Sheet 層疊樣式表, 定義了如何顯示(裝扮) HTML 元素,比如:字體大小和顏色屬性等。樣式通常保存在外部的 .css 文件中,用于存放一些HTML文件的公共屬性,從而通過(guò)僅編輯一個(gè)簡(jiǎn)單的 CSS 文檔,可以同時(shí)改變站點(diǎn)中所有頁(yè)面的布局和外觀

  • javascript

javascript,實(shí)現(xiàn)網(wǎng)頁(yè)的動(dòng)畫(huà)效果,但實(shí)屬于靜態(tài)資源

②?URI(i) 和 URL uri

URI: Uniform Resource Identifier 統(tǒng)一資源標(biāo)識(shí),分為URL 和 URN

  • URN:Uniform Resource Naming,統(tǒng)一資源命名

示例: P2P下載使用的磁力鏈接是URN的一種實(shí)現(xiàn)

magnet:?xt=urn:btih:660557A6890EF888666(只是描述了資源的名字,并沒(méi)有明確該資源在哪里)

  • URL:Uniform Resorce Locator,統(tǒng)一資源定位符,用于描述某服務(wù)器某特定資源位置

兩者區(qū)別:

  • URN如同一個(gè)人的名稱,而URL代表一個(gè)人的住址。

  • URN定義某事物的身份,而URL提供查找該事物的方法。URN僅用于命名,而不指定地URL組成。

URL組成:

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>


web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

scheme:方案,訪問(wèn)服務(wù)器以獲取資源時(shí)要使用哪種協(xié)議
user:用戶 (虛擬用戶),某些方案訪問(wèn)資源時(shí)需要的用戶名
password:密碼,用戶對(duì)應(yīng)的密碼,中間用:分隔
Host:主機(jī),資源宿主服務(wù)器的主機(jī)名或IP地址
port:端口,資源宿主服務(wù)器正在監(jiān)聽(tīng)的端口號(hào),很多方案有默認(rèn)端口號(hào)
path:路徑,服務(wù)器資源的本地名,由一個(gè)/將其與前面的URL組件分隔
params:參數(shù),指定輸入的參數(shù),參數(shù)為名/值對(duì),多個(gè)參數(shù),用;分隔
query:查詢,傳遞參數(shù)給程序,如數(shù)據(jù)庫(kù),用?分隔,多個(gè)查詢用&分隔
frag:片段,一小片或一部分資源的名字,此組件在客戶端使用,用#分隔

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

補(bǔ)充:

重點(diǎn)記憶下

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

web常用軟件httpd 和 nginx

③ MIME

MIME : Multipurpose Internet Mail Extensions 多用途互聯(lián)網(wǎng)郵件擴(kuò)展

文件 /etc/mime.types ,來(lái)自于mailcap包

MIME格式:type/subtype 主要類型/次要類型

如果你的文件在mime.types里就展示給你看,如果不在就下載

text/plain ? 
text/html ?
text/css 
image/jpeg ? jpg jpeg
image/png 
video/mp4 
application/javascript


#前面是大類/后面是小類

HTTP 請(qǐng)求訪問(wèn)的完整過(guò)程

  1. 建立連接

  2. 接收請(qǐng)求

  3. 處理請(qǐng)求

  4. 訪問(wèn)資源

  5. 構(gòu)建響應(yīng)報(bào)文

  6. 發(fā)送響應(yīng)報(bào)文

  7. 記錄日志

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

接收請(qǐng)求

接收客戶端請(qǐng)求報(bào)文中對(duì)某資源的一次請(qǐng)求的過(guò)程

Web訪問(wèn)響應(yīng)模型(Web I/O)? ?I? INPUT 和O? OUTPUT

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

  • 單進(jìn)程I/O模型:?jiǎn)?dòng)一個(gè)進(jìn)程處理用戶請(qǐng)求,而且一次只處理一個(gè),多個(gè)請(qǐng)求被串行響應(yīng)

  • 多進(jìn)程I/O模型:并行啟動(dòng)多個(gè)進(jìn)程,每個(gè)進(jìn)程響應(yīng)一個(gè)連接請(qǐng)求

  • 復(fù)用I/O結(jié)構(gòu):?jiǎn)?dòng)一個(gè)進(jìn)程,同時(shí)響應(yīng)N個(gè)連接請(qǐng)求

  • 復(fù)用的多進(jìn)程I/O模型:?jiǎn)?dòng)M個(gè)進(jìn)程,每個(gè)進(jìn)程響應(yīng)N個(gè)連接請(qǐng)求,同時(shí)接收M*N個(gè)請(qǐng)求

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

⑤網(wǎng)站訪問(wèn)量

網(wǎng)站訪問(wèn)量統(tǒng)計(jì)的重要指標(biāo)

  • IP(獨(dú)立IP):即Internet Protocol,指獨(dú)立IP數(shù)。一天內(nèi)來(lái)自相同客戶機(jī)IP 地址只計(jì)算一次,記錄遠(yuǎn)程客戶機(jī)IP地址的計(jì)算機(jī)訪問(wèn)網(wǎng)站的次數(shù),是衡量網(wǎng)站流量的重要指標(biāo)

  • PV(訪問(wèn)量): 即Page View, 頁(yè)面瀏覽量或點(diǎn)擊量,用戶每次刷新即被計(jì)算一次,PV反映的是瀏覽某網(wǎng)站的頁(yè)面數(shù),PV與來(lái)訪者的數(shù)量成正比,PV并不是頁(yè)面的來(lái)訪者數(shù)量,而是網(wǎng)站被訪問(wèn)的頁(yè)面數(shù)量

  • UV(獨(dú)立訪客):即Unique Visitor,訪問(wèn)網(wǎng)站的一臺(tái)電腦為一個(gè)訪客。一天內(nèi)相同的客戶端只被計(jì)算一次??梢岳斫獬稍L問(wèn)某網(wǎng)站的電腦的數(shù)量。網(wǎng)站判斷來(lái)訪電腦的身份是通過(guò)cookies實(shí)現(xiàn)的。如果更換了IP后但不清除cookies,再訪問(wèn)相同網(wǎng)站,該網(wǎng)站的統(tǒng)計(jì)中UV數(shù)是不變的

⑥HTTP工作機(jī)制

一次http事務(wù)包括:

  • http請(qǐng)求:http request

  • http響應(yīng):http response

Web資源:web resource, 一個(gè)網(wǎng)頁(yè)由多個(gè)資源(文件)構(gòu)成,打開(kāi)一個(gè)頁(yè)面,通常會(huì)有多個(gè)資源展示出來(lái),但是每個(gè)資源都要單獨(dú)請(qǐng)求。因此,一個(gè)"Web 頁(yè)面”通常并不是單個(gè)資源,而是一組資源的集合

資源類型:

  • 靜態(tài)文件:無(wú)需服務(wù)端做出額外處理,服務(wù)器端和客戶端的文件內(nèi)容相同

    常見(jiàn)文件后綴:.html, .txt, .jpg, .js, .css, .mp3, .avi

  • 動(dòng)態(tài)文件:服務(wù)端執(zhí)行程序,返回執(zhí)行的結(jié)果,服務(wù)器端和客戶端的文件內(nèi)容不相同

    常見(jiàn)文件后綴:.php(一種語(yǔ)言), .jsp ,.asp

提高HTTP連接性能

  • 并行連接:通過(guò)多條TCP連接發(fā)起并發(fā)的HTTP請(qǐng)求

  • 持久連接:keep-alive,重用TCP連接,以消除連接和關(guān)閉的時(shí)延,以事務(wù)個(gè)數(shù)和時(shí)間來(lái)決定是否關(guān)閉連接

  • 管道化連接:通過(guò)共享TCP連接,發(fā)起并發(fā)的HTTP請(qǐng)求

  • 復(fù)用的連接:交替?zhèn)魉驼?qǐng)求和響應(yīng)報(bào)文(實(shí)驗(yàn)階段

⑦HTTP 協(xié)議版本

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

http/0.9

1991,原型版本,功能簡(jiǎn)陋,只有一個(gè)命令GET。GET /index.html ,服務(wù)器只能回應(yīng)HTML格式字符串,不能回應(yīng)別的格式

http/1.0

1996年5月,支持cache, MIME, method

每個(gè)TCP連接只能發(fā)送一個(gè)請(qǐng)求,發(fā)送數(shù)據(jù)完畢,連接就關(guān)閉,如果還要請(qǐng)求其他資源,就必須再新建一個(gè)連接引入了POST命令和HEAD命令頭信息是 ASCII 碼,后面數(shù)據(jù)可為任何格式。服務(wù)器回應(yīng)時(shí)會(huì)告訴客戶端,數(shù)據(jù)是什么格式,即Content-Type字段的作用。這些數(shù)據(jù)類型總稱為MIME 多用途互聯(lián)網(wǎng)郵件擴(kuò)展,每個(gè)值包括一級(jí)類型和二級(jí)類型,預(yù)定義的類型,也可自定義類型, 常見(jiàn)Content-Type值:text/xml image/jpeg audio/mp3

http/1.1

1997年1月,引入了持久連接(persistent connection),即TCP連接默認(rèn)不關(guān)閉,可以被多個(gè)請(qǐng)求復(fù)用,不用聲明Connection: keep-alive。對(duì)于同一個(gè)域名,大多數(shù)瀏覽器允許同時(shí)建立6個(gè)持久連接引入了管道機(jī)制,即在同一個(gè)TCP連接里,客戶端可以同時(shí)發(fā)送多個(gè)請(qǐng)求,進(jìn)一步改進(jìn)了HTTP協(xié)議的效率新增方法:PUT、PATCH、OPTIONS、DELETE同一個(gè)TCP連接里,所有的數(shù)據(jù)通信是按次序進(jìn)行的。服務(wù)器只能順序處理回應(yīng),前面的回應(yīng)慢,會(huì)有許多請(qǐng)求排隊(duì),造成"隊(duì)頭堵塞"(Head-of-line blocking)為避免上述問(wèn)題,兩種方法:一是減少請(qǐng)求數(shù),二是同時(shí)多開(kāi)持久連接。網(wǎng)頁(yè)優(yōu)化技巧,如合并腳本和樣式表、將圖片嵌入CSS代碼、域名分片(domain sharding)等HTTP 協(xié)議不帶有狀態(tài),每次請(qǐng)求都必須附上所有信息。請(qǐng)求的很多字段都是重復(fù)的,浪費(fèi)帶寬,影響速度

面試小技巧:

0.9版本 只有 get 只有下載 沒(méi)有上傳(put)

1.0版本 沒(méi)有長(zhǎng)連接可以下載和上傳 (put)

1.1版本 支持長(zhǎng)連接可以下載和上傳 (put)

HTTP2協(xié)議

http/2.0:2015年,HTTP2.0是SPDY的升級(jí)版

  • 頭信息和數(shù)據(jù)體都是二進(jìn)制,稱為頭信息幀和數(shù)據(jù)幀

  • 復(fù)用TCP連接,在一個(gè)連接里,客戶端和瀏覽器都可以同時(shí)發(fā)送多個(gè)請(qǐng)求或回應(yīng),且不用按順序一一對(duì)應(yīng),避免了"隊(duì)頭堵塞",此雙向的實(shí)時(shí)通信稱為多工(Multiplexing)

  • 引入頭信息壓縮機(jī)制(header compression),頭信息使用gzip或compress壓縮后再發(fā)送;客戶端和服務(wù)器同時(shí)維護(hù)一張頭信息表,所有字段都會(huì)存入這個(gè)表,生成一個(gè)索引號(hào),不發(fā)送同樣字段,只發(fā)送索引號(hào),提高速度

  • HTTP/2 允許服務(wù)器未經(jīng)請(qǐng)求,主動(dòng)向客戶端發(fā)送資源,即服務(wù)器推送(server push)

HTTPS協(xié)議:

為解決安全問(wèn)題,網(wǎng)景在1994年創(chuàng)建了HTTPS,并應(yīng)用在網(wǎng)景導(dǎo)航者瀏覽器中。 最初,HTTP是與SSL一起使用的;在SSL逐漸演變到TLS時(shí)(其實(shí)兩個(gè)是一個(gè)東西,只是名字不同而已),最新的HTTPS也由在2000年五月公布的RFC 2818正式確定下來(lái)。HTTPS就是安全版的HTTP,目前大型網(wǎng)站基本實(shí)現(xiàn)全站HTTPS

HTTPS特點(diǎn)

  • HTTPS協(xié)議需要到CA申請(qǐng)證書(shū),一般免費(fèi)證書(shū)很少,需要交費(fèi)

  • HTTP協(xié)議運(yùn)行在TCP之上,所有傳輸?shù)膬?nèi)容都是明文,HTTPS運(yùn)行在SSL/TLS之上,SSL/TLS運(yùn)行在TCP之上,所有傳輸?shù)膬?nèi)容都經(jīng)過(guò)加密的

  • HTTP和HTTPS使用的是不同的連接方式,端口不同,前者是80,后者是443

  • HTTPS可以有效的防止運(yùn)營(yíng)商劫持,解決了防劫持的一個(gè)大問(wèn)題

  • HTTPS 實(shí)現(xiàn)過(guò)程降低用戶訪問(wèn)速度,但經(jīng)過(guò)合理優(yōu)化和部署,HTTPS 對(duì)速度的影響還是可以接受的

5.http協(xié)議及報(bào)文頭部結(jié)構(gòu)

1.http請(qǐng)求報(bào)文

報(bào)文由三個(gè)部分組成,即開(kāi)始行、首部行和實(shí)體主體在請(qǐng)求報(bào)文中,開(kāi)始行就是請(qǐng)求行。

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

URL包含:/index/index2?a=1&b=2;路徑和參數(shù)都在這里。

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

方法
  • GET: 獲取資源 當(dāng)前網(wǎng)絡(luò)請(qǐng)求中,絕大部分使用的是 GET 方

  • HEAD: 獲取報(bào)文首部,主要用于確認(rèn) URL 的有效性以及資源更新的日期時(shí)間等

  • POST: 傳輸實(shí)體主體 (比如傳輸 用戶名密碼)

  • PUT: 上傳文件(比如寫博客)

  • PATCH: 對(duì)資源進(jìn)行部分修改

  • DELETE:刪除文件

  • OPTIONS:查詢支持的方法(查看服務(wù)端可以支持哪些方法)

  • CONNECT:要求在與代理服務(wù)器通信時(shí)建立隧道(類似加密)

  • TRACE:追蹤路徑

url:指明資源的具體位置
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

scheme

  • http 超文本傳輸協(xié)議

  • https 安全的http協(xié)議

  • ftp 文件傳輸協(xié)議

  • user:帳號(hào)

  • password:密碼

  • host:主機(jī)名 或 域名 或 ip地址

  • port: 服務(wù)器端口號(hào)

  • path:訪問(wèn)資源的路徑,相當(dāng)于組件路徑

  • params:參數(shù),但是這個(gè)不常用,指定一些參數(shù),譬如指定傳輸方式

  • qurey:查詢參數(shù)

  • frag:html資源片段,譬如html文檔過(guò)大的時(shí)候,frag定位到html的一部分

  • 首部字段:使用首部字段是為了給瀏覽器和服務(wù)器提供報(bào)文主體大小、所使用的語(yǔ)言、認(rèn)證信息等內(nèi)容,HTTP 首部字段是由首部字段名和字段值構(gòu)成的,中間用冒號(hào)“:” 分隔

    首部的分類:

    • 通用首部:請(qǐng)求報(bào)文和響應(yīng)報(bào)文兩方都會(huì)使用的首部

      • Date: 報(bào)文的創(chuàng)建時(shí)間

      • Connection:連接狀態(tài),如keep-alive, close

      • Via:顯示報(bào)文經(jīng)過(guò)的中間節(jié)點(diǎn)(代理,網(wǎng)關(guān))

      • Cache-Control:控制緩存,如緩存時(shí)長(zhǎng)

      • MIME-Version:發(fā)送端使用的MIME版本

      • Warning:錯(cuò)誤通知

    • 請(qǐng)求首部:從客戶端向服務(wù)器端發(fā)送請(qǐng)求報(bào)文時(shí)使用的首部。補(bǔ)充了請(qǐng)求的附加內(nèi)容、客戶端信息、請(qǐng)求內(nèi)容相關(guān)優(yōu)先級(jí)等信息

      • Accept:通知服務(wù)器自己可接受的媒體類型

      • Accept-Charset: 客戶端可接受的字符集

      • Accept-Encoding:客戶端可接受編碼格式,如gzip

      • Accept-Language:客戶端可接受的語(yǔ)言

      • Client-IP: 請(qǐng)求的客戶端IP

      • Host: 請(qǐng)求的服務(wù)器名稱和端口號(hào)

      • Referer:跳轉(zhuǎn)至當(dāng)前URI的前一個(gè)URL

      • User-Agent:客戶端代理,瀏覽器版本

      • Expect:允許客戶端列出某請(qǐng)求所要求的服務(wù)器行為(條件式請(qǐng)求首部)

      • If-Modified-Since:自從指定的時(shí)間之后,請(qǐng)求的資源是否發(fā)生過(guò)修改(條件式請(qǐng)求首部)

      • If-Unmodified-Since:與上面相反(條件式請(qǐng)求首部)

      • If-None-Match:本地緩存中存儲(chǔ)的文檔的ETag標(biāo)簽是否與服務(wù)器文檔的Etag不匹配(條件式請(qǐng)求首部)

      • If-Match:與上面相反 (條件式請(qǐng)求首部)

      • Authorization:向服務(wù)器發(fā)送認(rèn)證信息,如賬號(hào)和密碼(安全請(qǐng)求首部)

      • Cookie: 客戶端向服務(wù)器發(fā)送cookie

      • Proxy-Authorization: 向代理服務(wù)器認(rèn)證 ( 代理請(qǐng)求首部)

    • 響應(yīng)首部:從服務(wù)器端向客戶端返回響應(yīng)報(bào)文時(shí)使用的首部。補(bǔ)充了響應(yīng)的附加內(nèi)容,也會(huì)要求客戶端附加額外的內(nèi)容信息

      • 協(xié)商首部:某資源有多種表示方法時(shí)使用

        • Accept-Ranges:服務(wù)器可接受的請(qǐng)求范圍類型

        • Vary:服務(wù)器查看的其它首部列表

      • 安全響應(yīng)首部:

        • Set-Cookie:向客戶端設(shè)置cookie

        • WWW-Authenticate:來(lái)自服務(wù)器對(duì)客戶端的質(zhì)詢列表

      • 信息性:

        • Age:從最初創(chuàng)建開(kāi)始,響應(yīng)持續(xù)時(shí)長(zhǎng)

        • Server:服務(wù)器程序軟件名稱和版本

    • 實(shí)體首部:針對(duì)請(qǐng)求報(bào)文和響應(yīng)報(bào)文的實(shí)體部分使用的首部。補(bǔ)充了資源內(nèi)容更新時(shí)間等與實(shí)體有關(guān)的的信息

      • 緩存相關(guān):

        • ETag:實(shí)體的擴(kuò)展標(biāo)簽

        • Expires:實(shí)體的過(guò)期時(shí)間

        • Last-Modified:最后一次修改的時(shí)間

      • Allow: 列出對(duì)此資源實(shí)體可使用的請(qǐng)求方法

      • Location:告訴客戶端真正的實(shí)體位于何處

      • Content-Encoding:對(duì)主體執(zhí)行的編碼

      • Content-Language:理解主體時(shí)最適合的語(yǔ)言

      • Content-Location: 實(shí)體真正所處位置

      • Content-Type:主體的對(duì)象類型,如text

    • 擴(kuò)展首部

  • 實(shí)體:請(qǐng)求時(shí)附加的數(shù)據(jù)或響應(yīng)時(shí)附加的數(shù)據(jù),例如:登錄網(wǎng)站時(shí)的用戶名和密碼,博客的上傳文章,論壇上的發(fā)言等。

2.?響應(yīng)報(bào)文

響應(yīng)報(bào)文的開(kāi)始行是狀態(tài)行

狀態(tài)行包括三項(xiàng)內(nèi)容,即 HTTP 的版本,狀態(tài)碼以及解釋狀態(tài)碼的簡(jiǎn)單短語(yǔ)

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

狀態(tài)碼

三位數(shù)字,標(biāo)記請(qǐng)求處理過(guò)程中發(fā)生的情況

http協(xié)議狀態(tài)碼分類:
類別 原因短語(yǔ)

1xx

信息性狀態(tài)碼 接收的請(qǐng)求正在處理
2xx 成功狀態(tài)碼 請(qǐng)求正常處理完畢
3xx 重定向狀態(tài)碼 需要進(jìn)行附加操作以完成請(qǐng)求
4xx 客戶端錯(cuò)誤狀態(tài)碼 服務(wù)器無(wú)法處理請(qǐng)求
5xx 服務(wù)器錯(cuò)誤狀態(tài)碼 服務(wù)器處理請(qǐng)求出錯(cuò)
http協(xié)議常用的狀態(tài)碼

200: 成功,請(qǐng)求數(shù)據(jù)通過(guò)響應(yīng)報(bào)文的entity-body部分發(fā)送;OK
301: 請(qǐng)求的URL指向的資源已經(jīng)被刪除;但在響應(yīng)報(bào)文中通過(guò)首部Location指明了資源現(xiàn)? ? ? ? ? ? 在所處的新位置;Moved Permanently
302: 響應(yīng)報(bào)文Location指明資源臨時(shí)新位置 Moved Temporarily
304: 客戶端發(fā)出了條件式請(qǐng)求,但服務(wù)器上的資源未曾發(fā)生改變,則通過(guò)響應(yīng)此響應(yīng)狀態(tài)碼通知客戶端;Not Modified
307: ?瀏覽器內(nèi)部重定向
401: 需要輸入賬號(hào)和密碼認(rèn)證方能訪問(wèn)資源;Unauthorized
403: 請(qǐng)求被禁止;Forbidden
404: 服務(wù)器無(wú)法找到客戶端請(qǐng)求的資源;Not Found
500: 服務(wù)器內(nèi)部錯(cuò)誤;Internal Server Error,比如:cgi程序沒(méi)有執(zhí)行權(quán)限
502: 代理服務(wù)器從后端服務(wù)器收到了一條偽響應(yīng),如無(wú)法連接到網(wǎng)關(guān);Bad Gateway
503: 服務(wù)不可用,臨時(shí)服務(wù)器維護(hù)或過(guò)載,服務(wù)器無(wú)法處理請(qǐng)求,比如:php服務(wù)停止,無(wú)法處理php程序
504: 網(wǎng)關(guān)超時(shí)

二、Cookie和session

會(huì)話管理: 管理瀏覽器客戶端和服務(wù)器端之間會(huì)話過(guò)程中產(chǎn)生的會(huì)話數(shù)據(jù)。

為了會(huì)話管理,HTTP就需要傳輸大量重復(fù)信息內(nèi)容的問(wèn)題,造成大量的網(wǎng)絡(luò)帶寬消耗。于是 Cookie 和Session 技術(shù)閃亮登場(chǎng)了,它們可以為用戶進(jìn)行會(huì)話管理,實(shí)現(xiàn)保存狀態(tài)。

① Cookie

Cookie 又稱為"小甜餅”。類型為"小型文本文件”,指某些網(wǎng)站為了辨別用戶身份而儲(chǔ)存在用戶本地終端(Client Side)上的數(shù)據(jù)(通常經(jīng)過(guò)加密)。由網(wǎng)景公司的前雇員盧·蒙特利在1993年3月發(fā)明

因?yàn)镠TTP協(xié)議是無(wú)狀態(tài)的,即服務(wù)器不知道用戶上一次做了什么,這嚴(yán)重阻礙了交互式Web應(yīng)用程序的實(shí)現(xiàn)。

Cookie就是用來(lái)繞開(kāi)HTTP的無(wú)狀態(tài)性的"額外手段”之一。服務(wù)器可以設(shè)置或讀取Cookies中包含信息,借此維護(hù)用戶跟服務(wù)器會(huì)話中的狀態(tài)。

Cookie基于HTTP協(xié)議,也叫Web Cookie或?yàn)g覽器Cookie,是服務(wù)器發(fā)送到用戶瀏覽器并保存在客戶端本地的一小塊數(shù)據(jù),它會(huì)在瀏覽器下次向同一服務(wù)器再發(fā)起請(qǐng)求時(shí)被攜帶并發(fā)送到服務(wù)器上。通常,它用于告知服務(wù)端兩個(gè)請(qǐng)求是否來(lái)自同一瀏覽器,如保持用戶的登錄狀態(tài)。Cookie使基于無(wú)狀態(tài)的HTTP協(xié)議記錄穩(wěn)定的狀態(tài)信息成為了可能。

Cookie主要用于以下三個(gè)方面:

  • 會(huì)話狀態(tài)管理(如用戶登錄狀態(tài)、購(gòu)物車、游戲分?jǐn)?shù)或其它需要記錄的信息)

  • 個(gè)性化設(shè)置(如用戶自定義設(shè)置、主題等)

  • 瀏覽器行為跟蹤(如跟蹤分析用戶行為等)

②Session

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

③cookie和session的比較:

  • cookie通常是在服務(wù)器生成,但也可以在客戶端生成,session是在服務(wù)器端生成的

  • session 將數(shù)據(jù)信息保存在服務(wù)器端,可以是內(nèi)存,文件,數(shù)據(jù)庫(kù)等多種形式,cookie 將數(shù)據(jù)保存在客戶端的內(nèi)存或文件中

  • 單個(gè)cookie保存的數(shù)據(jù)不能超過(guò)4K,每個(gè)站點(diǎn)cookie個(gè)數(shù)有限制,比如IE8為50個(gè)、Firefox為50個(gè)、Opera為30個(gè);session存儲(chǔ)在服務(wù)器,沒(méi)有容量限制

  • cookie存放在用戶本地,可以被輕松訪問(wèn)和修改,安全性不高;session存儲(chǔ)于服務(wù)器,比較安全

  • cookie有會(huì)話cookie持久cookie,生命周期為瀏覽器會(huì)話期的會(huì)話cookie保存在緩存,關(guān)閉瀏覽器窗口就消失,持久cookie被保存在硬盤,知道超過(guò)設(shè)定的過(guò)期時(shí)間;隨著服務(wù)端session存儲(chǔ)壓力增大,會(huì)根據(jù)需要定期清理session數(shù)據(jù)

  • session中有眾多數(shù)據(jù),只將sessionID這一項(xiàng)可以通過(guò)cookie發(fā)送至客戶端進(jìn)行保留,客戶端下次訪問(wèn)時(shí),在請(qǐng)求報(bào)文中的cookie會(huì)自動(dòng)攜帶sessionID,從而和服務(wù)器上的的session進(jìn)行關(guān)聯(lián)

面試小技巧:

如何保持 會(huì)話連接?

web基礎(chǔ)及http協(xié)議 (一),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-832176.html

到了這里,關(guān)于web基礎(chǔ)及http協(xié)議 (一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • web基礎(chǔ)+HTTP協(xié)議+httpd詳細(xì)配置

    web基礎(chǔ)+HTTP協(xié)議+httpd詳細(xì)配置

    HTML(全稱為Hypertext Markup Language)是一種標(biāo)記語(yǔ)言,用于創(chuàng)建和組織Web頁(yè)面的結(jié)構(gòu)和內(nèi)容。 HTML是構(gòu)建Web頁(yè)面的基礎(chǔ),定義了頁(yè)面的結(jié)構(gòu)和內(nèi)容,通過(guò) 標(biāo)記和元素 來(lái)實(shí)現(xiàn)。 1.1.1 HTML的文件結(jié)構(gòu) 1.1.2 HTML中的部分基本標(biāo)簽 基本標(biāo)簽 含義 html HTML文檔的根元素, 包含文檔的全部?jī)?nèi)

    2024年02月12日
    瀏覽(20)
  • web基礎(chǔ)及http協(xié)議 (二) apache

    web基礎(chǔ)及http協(xié)議 (二) apache

    http 服務(wù)基于 C/S 結(jié)構(gòu) httpd apache,存在C10K(10K connections)問(wèn)題 nginx 解決C10K問(wèn)題lighttpd IIS .asp 應(yīng)用程序服務(wù)器 tomcat .jsp 應(yīng)用程序服務(wù)器 jetty 開(kāi)源的servlet容器,基于Java的web容器 Resin CAUCHO公司,支持servlets和jsp的引擎 webshpere:IBM公司 weblogic:BEA,Oracle jboss:RedHat,IBM oc4j:Ora

    2024年02月20日
    瀏覽(16)
  • Linux服務(wù)第一章:web基礎(chǔ)與http協(xié)議

    Linux服務(wù)第一章:web基礎(chǔ)與http協(xié)議

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 1、網(wǎng)絡(luò)上交互是基于TCP/IP協(xié)議的,每個(gè)主機(jī)在邏輯上有一個(gè)唯一位置標(biāo)識(shí)(IP地址),物理地址為MAC地址 2、為了保證地址唯一性,用戶協(xié)議向特地給機(jī)構(gòu)申請(qǐng)注冊(cè),分配IP地址網(wǎng)絡(luò)中的地址有兩套方案

    2024年02月09日
    瀏覽(18)
  • 計(jì)算機(jī)網(wǎng)絡(luò):應(yīng)用層(二) Web與http協(xié)議

    計(jì)算機(jī)網(wǎng)絡(luò):應(yīng)用層(二) Web與http協(xié)議

    我最近開(kāi)了幾個(gè)專欄,誠(chéng)信互三! ==== ||| 《算法專欄》::刷題教程來(lái)自網(wǎng)站《代碼隨想錄》。||| ==== ||| 《C++專欄》::記錄我學(xué)習(xí)C++的經(jīng)歷,看完你一定會(huì)有收獲。||| ==== ||| 《Linux專欄》::記錄我學(xué)習(xí)Linux的經(jīng)歷,看完你一定會(huì)有收獲。||| ==== ||| 《C#專欄》::記錄我復(fù)

    2024年02月03日
    瀏覽(21)
  • 計(jì)算機(jī)網(wǎng)絡(luò)第2章-HTTP和Web協(xié)議(2)

    計(jì)算機(jī)網(wǎng)絡(luò)第2章-HTTP和Web協(xié)議(2)

    一個(gè)新型應(yīng)用即萬(wàn)維網(wǎng)(World Wide Web)Web。 Web的應(yīng)用層協(xié)議是超文本傳輸協(xié)議(HTTP), 它是Web的核心 。 HTTP由兩個(gè)程序?qū)崿F(xiàn):一個(gè)用戶程序和一個(gè)服務(wù)器程序。 Web頁(yè)面(Web Page)(也叫文檔)是由對(duì)象組成的。 一個(gè)對(duì)象只是一個(gè)文件 ,諸如一個(gè)HTML文件、一個(gè)JPG圖形等等。

    2024年02月07日
    瀏覽(23)
  • 【Linux】——網(wǎng)絡(luò)基礎(chǔ):http協(xié)議

    【Linux】——網(wǎng)絡(luò)基礎(chǔ):http協(xié)議

    目錄 前言 應(yīng)用層 認(rèn)識(shí)協(xié)議 協(xié)議的概念 傳輸結(jié)構(gòu)化數(shù)據(jù) 序列化和反序列化 網(wǎng)絡(luò)版本計(jì)算器 服務(wù)器端Server ?客戶端Client 協(xié)議定制 其它 運(yùn)行效果 HTTP協(xié)議 HTTP的簡(jiǎn)介 認(rèn)識(shí)URL urlencode和urldecode HTTP協(xié)議格式 HTTP請(qǐng)求 HTTP響應(yīng) HTTP的方法? GET和POST方法 POSTMAN演示 HTTP的狀態(tài)碼 HTTP常見(jiàn)

    2024年02月09日
    瀏覽(25)
  • 【應(yīng)用層】網(wǎng)絡(luò)基礎(chǔ) -- HTTP協(xié)議

    【應(yīng)用層】網(wǎng)絡(luò)基礎(chǔ) -- HTTP協(xié)議

    協(xié)議是一種 “約定”. socket api的接口,在讀寫數(shù)據(jù)時(shí),都是按 “字符串” 的方式來(lái)發(fā)送接收的(tcp是以字節(jié)流的方式發(fā)送的,這里便與表述使用\\\"字符串\\\") 如果我們要傳輸一些\\\"結(jié)構(gòu)化的數(shù)據(jù)\\\" 怎么辦呢? 那么我們(TCP)在收到一個(gè)報(bào)文的時(shí)候,如何保證你收到了一個(gè)完整的報(bào)文?

    2024年02月11日
    瀏覽(58)
  • HTTP 和 HTTPS 協(xié)議原理【網(wǎng)絡(luò)基礎(chǔ)】

    友情鏈接: HTTP協(xié)議【網(wǎng)絡(luò)基礎(chǔ)/應(yīng)用層】 簡(jiǎn)單:HTTP 是一種文本協(xié)議,易于理解和實(shí)現(xiàn)。HTTP 的請(qǐng)求和響應(yīng)都由起始行、首部字段和可選的消息主體組成,每個(gè)部分都有明確的語(yǔ)法規(guī)則。HTTP 的方法、狀態(tài)碼和首部字段都有標(biāo)準(zhǔn)化的定義,方便開(kāi)發(fā)者遵循。 靈活:HTTP 是一種無(wú)

    2024年02月09日
    瀏覽(31)
  • 網(wǎng)絡(luò)基礎(chǔ)2(HTTP,HTTPS,傳輸層協(xié)議詳解)

    網(wǎng)絡(luò)基礎(chǔ)2(HTTP,HTTPS,傳輸層協(xié)議詳解)

    再談協(xié)議 ? ? ? ? 在之前利用套接字進(jìn)行通信的時(shí)候,我們都是利用 “字符串” 進(jìn)行流式的發(fā)送接收,但是我們平常進(jìn)行交流通信肯定不能只是簡(jiǎn)單的發(fā)送字符串。 ? ? ? ? 比如我們用QQ進(jìn)行聊天,我們不僅需要得到對(duì)方發(fā)送的消息,還要知道對(duì)方的昵稱,頭像等一系列數(shù)

    2024年02月13日
    瀏覽(59)
  • HTTP——一、了解Web及網(wǎng)絡(luò)基礎(chǔ)

    HTTP——一、了解Web及網(wǎng)絡(luò)基礎(chǔ)

    HTTP——一、了解Web及網(wǎng)絡(luò)基礎(chǔ) HTTP——二、簡(jiǎn)單的HTTP協(xié)議 HTTP——三、HTTP報(bào)文內(nèi)的HTTP信息 HTTP——四、返回結(jié)果的HTTP狀態(tài)碼 HTTP——五、與HTTP協(xié)作的Web服務(wù)器 HTTP——六、HTTP首部 HTTP——七、確保Web安全的HTTPS HTTP——八、確認(rèn)訪問(wèn)用戶身份的認(rèn)證 HTTP——九、基于HTTP的功能

    2024年02月15日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包