成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHPer也來聊聊HTTP

phodal / 1063人閱讀

摘要:前言三月份就快要結(jié)束了,這個(gè)月定的目標(biāo)是對的基礎(chǔ)知識點(diǎn)做一個(gè)落地。由于是無狀態(tài)的,請求之間無法維系上下文,所以就出現(xiàn)了作為會(huì)話控制,服務(wù)端存放用戶的會(huì)話信息。概念在協(xié)議上增加了層。

前言

三月份就快要結(jié)束了,這個(gè)月定的目標(biāo)是對http的基礎(chǔ)知識點(diǎn)做一個(gè)落地。直入主題我們順著下面的思路去對http基礎(chǔ)知識做一個(gè)總結(jié):

概念

五層網(wǎng)絡(luò)協(xié)議

HTTP Method

HTTP Status

HTTP Header

Cookie/Session

HTTPs

Websocket

HTTP2

概念

什么是http?Hypertext Transfer Protocol, 超文本傳輸(轉(zhuǎn)移)協(xié)議,是客戶端和服務(wù)端傳輸文本制定的協(xié)議。說起http協(xié)議,還得說說WWW,http是構(gòu)建WWW的三項(xiàng)技術(shù)之一,具體的三項(xiàng)技術(shù)如下:

WWW: world wide web, 萬維網(wǎng)

HTML: Hypertext Markup Language, 超文本標(biāo)記語言

HTTP: Hypertext Transfer Protocol, 超文本傳輸(轉(zhuǎn)移)協(xié)議

URL: Uniform Resource Locator, 統(tǒng)一資源定位符號

URI: Uniform Resource Identitier, 統(tǒng)一資源標(biāo)示符號,URL是URI的子集
五層網(wǎng)絡(luò)協(xié)議
    應(yīng)用層(http/https/websocket/ftp...) => 定義:文本傳輸協(xié)議
      |
    傳輸層(tcp/udp) => 定義:端口
      |
    網(wǎng)絡(luò)層(ip) => 定義:IP
      |
    鏈路層(mac&數(shù)據(jù)包) => 定義:數(shù)據(jù)包,MAC地址
      |
    實(shí)體層(光纜/電纜/交換機(jī)/路由/終端...) => 定義:物理

TCP/IP:

說起網(wǎng)絡(luò)協(xié)議自然不能不提TCP/IP協(xié)議了,它有兩種解釋如下,

解釋一:分別代表tcp協(xié)議和ip協(xié)議

解釋二:如果按照網(wǎng)絡(luò)五層架構(gòu),TCP/IP代表除了應(yīng)用層其他層所有協(xié)議簇的統(tǒng)稱

TCP/IP connect: TCP/IP的三次握手:

          標(biāo)有syn的數(shù)據(jù)包
          ------------->
          標(biāo)有syn/ack的數(shù)據(jù)包
  client  <-------------  server
          標(biāo)有ack的數(shù)據(jù)包
          -------------->

TCP/IP finish: TCP/IP的四次握手:

                          fin
                    <-------------
                          ack
client(或server)    -------------> server(或client)
                          fin
                    ------------->
                          ack
                    <-------------

Keep-Alive:

HTTP協(xié)議初期每次連接結(jié)束后都會(huì)斷開TCP連接,之后HEADER的connection字段定義Keep-Alive(HTTP 1.1 默認(rèn) 持久連接),代表如果連接雙方如果沒有一方主動(dòng)斷開都不會(huì)斷開TCP連接,減少了每次建立HTTP連接時(shí)進(jìn)行TCP連接的消耗。

HTTP Method

get: 獲取資源,url傳參,大小2KB

post: 傳輸資源,http body, 大小默認(rèn)8M,1000個(gè)input variable

put: 傳輸資源,http body,資源更新

delete: 刪除資源

patch: 傳輸資源,http body,存在的資源局部更新

head: 獲取http header

options: 獲取支持的method

trace: 追蹤,返回請求回環(huán)信息

connect: 建立隧道通信

HTTP Status

200: ok

301: 永久重定向

302: 臨時(shí)重定向

303: 臨時(shí)重定向,要求用get請求資源

304: not modified, 返回緩存,和重定向無關(guān)

307: 臨時(shí)重定向,嚴(yán)格不從post到get

400: 參數(shù)錯(cuò)誤

401: 未通過http認(rèn)證

403: forbidden,未授權(quán)

404: not found,不存在資源

500: internet server error,代碼錯(cuò)誤

502: bad gateway,fastcgi返回的內(nèi)容web server不明白

503: service unavailable,服務(wù)不可用

504: gateway timeout,fastcgi響應(yīng)超時(shí)

接口選取http status作為響應(yīng)code是個(gè)不錯(cuò)的選擇
HTTP Header Fields

常見通用頭部

Cache-Control:

no-cache: 不緩存過期的緩存

no-store: 不緩存

Pragma: no-cache, 不使用緩存,http1.1前的歷史字段

Connection:

控制不在轉(zhuǎn)發(fā)給代理首部不字段

Keep-Alive/Close: 持久連接

Date: 創(chuàng)建http報(bào)文的日期

常見請求頭

Accept: 可以處理的媒體類型和優(yōu)先級

Host: 目標(biāo)主機(jī)域名

Referer: 請求從哪發(fā)起的原始資源URI

User-Agent: 創(chuàng)建請求的用戶代理名稱

Cookie: cookie信息

常見響應(yīng)頭

Location: 重定向地址

Server: 被請求的服務(wù)web server的信息

Set-Cookie: 要設(shè)置的cookie信息

NAME: 要設(shè)置的鍵值對

expires: cookie過期時(shí)間

path: 指定發(fā)送cookie的目錄

domain: 指定發(fā)送cookie的域名

Secure: 指定之后只有https下才發(fā)送cookie

HostOnly: 指定之后javascript無法讀取cookie

Cookie/Session

Cookie: 工作機(jī)制是用戶識別和狀態(tài)管理,服務(wù)端為了管理用戶的狀態(tài)會(huì)通過客戶端,把一些臨時(shí)的數(shù)據(jù)寫入到設(shè)備中Set-Cookie,當(dāng)用戶訪問服務(wù)的時(shí)候,服務(wù)可以通過通信的方式取回之前存放的cookie。

Session: 由于http是無狀態(tài)的,請求之間無法維系上下文,所以就出現(xiàn)了session作為會(huì)話控制,服務(wù)端存放用戶的會(huì)話信息。

HTTPs

概念:在http協(xié)議上增加了ssl(secure socket layer)層。

    SSL層
      |
    應(yīng)用層
      |
    傳輸層
      |
    網(wǎng)絡(luò)層
      |
    鏈路層
      |
    實(shí)體層

HTTPS 認(rèn)證流程

                              發(fā)起請求
                     --------------------------->  server 
                              下發(fā)證書
                      <---------------------------   server 
                      證書數(shù)字簽名(用證書機(jī)構(gòu)公鑰加密)
                     --------------------------->  證書機(jī)構(gòu) 
                          證書數(shù)字簽名驗(yàn)證通過
client(內(nèi)置證書機(jī)構(gòu)證書) <---------------------------   證書機(jī)構(gòu)
                      公鑰加密隨機(jī)密碼串(未來的共享秘鑰)
                     --------------------------->  server私鑰解密(非對稱加密)
                        SSL協(xié)議結(jié)束 HTTP協(xié)議開始
                      <---------------------------   server(對稱加密)
                            共享秘鑰加密 HTTP
                     --------------------------->  server(對稱加密)

核對證書證書: 證書機(jī)構(gòu)的公開秘鑰驗(yàn)證證書的數(shù)字簽名

公開密鑰加密建立連接:非對稱加密

共享密鑰加密

Websocket

基于http協(xié)議建立連接,header的upgrade字段轉(zhuǎn)化協(xié)議為websocket

全雙工通信,客戶端建立連接

HTTP2

多路復(fù)用:多個(gè)請求共享一個(gè)tcp連接

全雙工通信

必須https://

頭部壓縮

二進(jìn)制傳輸

附錄

詳細(xì)五層協(xié)議

概括:從上到下,越上越接近用戶,越下越接近硬件

應(yīng)用層:

規(guī)定應(yīng)用程序的數(shù)據(jù)格式

[HEAD(以太網(wǎng)標(biāo)頭) [HEAD(IP標(biāo)頭) [HEAD(TCP標(biāo)頭) DATA(應(yīng)用層數(shù)據(jù)包)]]]

傳輸層(端口到端口的通信):

端口:

0到65535(2^16)的整數(shù)

進(jìn)程使用網(wǎng)卡的編號

通過IP+mac確定主機(jī),只要確定主機(jī)+端口(套接字socket),就能進(jìn)行程序間的通信

UDP協(xié)議:

數(shù)據(jù)包中加入端口依賴的新協(xié)議

數(shù)據(jù)包[HEAD(發(fā)送、接收mac) [HEAD(發(fā)送、接收ip) [HEAD(發(fā)送、接收端口) DATA]]]

簡單,可靠性差,不知道對方是否接受包

TCP協(xié)議:

帶有確認(rèn)機(jī)制的UDP協(xié)議

過程復(fù)雜,實(shí)現(xiàn)困難,消耗資源

網(wǎng)絡(luò)層(主機(jī)到主機(jī)的通信):

IP協(xié)議

ipv4:

32個(gè)二進(jìn)制位表示,由網(wǎng)絡(luò)部分和主機(jī)部分構(gòu)成,

子網(wǎng)掩碼: 網(wǎng)絡(luò)部分都為1,主機(jī)部分都為0,目的判斷ip的網(wǎng)絡(luò)部分,如255.255.255.0(11111111.11111111.11111111.00000000)

IP數(shù)據(jù)包:標(biāo)頭Head+數(shù)據(jù)Data,放進(jìn)以太網(wǎng)數(shù)據(jù)包的Data部分[HEAD [HEAD DATA]]

IP數(shù)據(jù)包的傳遞:

非同一網(wǎng)絡(luò):無法獲得mac地址,發(fā)送數(shù)據(jù)到網(wǎng)關(guān),網(wǎng)關(guān)處理

ARP(Address Resolation Protocol): 解析地址協(xié)議,通過ip解析mac地址

同一網(wǎng)絡(luò):mac地址填寫FF:FF:FF:FF:FF:FF:FF,廣播數(shù)據(jù),對比ip,不符合丟包

鏈接層:

定義數(shù)據(jù)包(幀F(xiàn)rame)

標(biāo)頭(Head):數(shù)據(jù)包的一些說明項(xiàng), 如發(fā)送者、接收者、數(shù)據(jù)類型

數(shù)據(jù)(Data):數(shù)據(jù)包的具體內(nèi)容

數(shù)據(jù)包:[HEAD DATA]

定義網(wǎng)卡和網(wǎng)卡唯一的mac地址

以太網(wǎng)規(guī)定接入網(wǎng)絡(luò)的所有終端都應(yīng)該具有網(wǎng)卡接口,數(shù)據(jù)包必須是從一個(gè)網(wǎng)卡的mac地址到另一網(wǎng)卡接口的mac地址

mac全球唯一,16位16位進(jìn)制組成,前6廠商編號,后6網(wǎng)卡流水號

廣播發(fā)送數(shù)據(jù)

向本網(wǎng)絡(luò)內(nèi)的所有設(shè)備發(fā)送數(shù)據(jù)包,對比接收者mac地址,不是丟包,是接受

實(shí)體層:

終端(pc,phone,pad...)的物理連接(光纜,電纜,路由...),負(fù)責(zé)傳遞0和1信號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22587.html

相關(guān)文章

  • GitChat · 安全 | 聊聊 「密碼找回」

    摘要:微信任意用戶密碼修改漏洞漏洞描述在微信官方的首頁上發(fā)現(xiàn)了找回密碼功能。選擇通過手機(jī)號碼找回密碼。提交成功,輸入新密碼。網(wǎng)易郵箱可直接修改其他用戶密碼描述這次我們看一個(gè)郵箱的找回密碼漏洞,這個(gè)還真和上面的方式有點(diǎn)不一樣。 來自 GitChat 作者:湯青松更多使用技術(shù),盡在微信公眾號:GitChat技術(shù)雜談 進(jìn)入 GitChat 閱讀原文 WEB安全用戶密碼找回多案例安全攻防實(shí)戰(zhàn) 這次文...

    YorkChen 評論0 收藏0
  • 聊聊加密那點(diǎn)事——PHP加密最佳實(shí)踐

    摘要:所謂對稱加密,就是加密和解密使用同一秘鑰,這也是這種加密算法最顯著的缺點(diǎn)之一。非對稱加密算法由于對稱加密在通信加密領(lǐng)域的缺陷,年和提出了非對稱加密的概念。非對稱加密,其主要缺點(diǎn)之一就是慢,適合加密少量數(shù)據(jù)。 1. 加密的目的 加密不同于密碼,加密是一個(gè)動(dòng)作或者過程,其目的就是將一段明文信息(人類或機(jī)器可以直接讀懂的信息)變?yōu)橐欢慰瓷先]有任何意義的字符,必須通過事先約定的解密規(guī)則才能將...

    lcodecorex 評論0 收藏0
  • 聊聊加密那點(diǎn)事——PHP加密最佳實(shí)踐

    摘要:所謂對稱加密,就是加密和解密使用同一秘鑰,這也是這種加密算法最顯著的缺點(diǎn)之一。非對稱加密算法由于對稱加密在通信加密領(lǐng)域的缺陷,年和提出了非對稱加密的概念。非對稱加密,其主要缺點(diǎn)之一就是慢,適合加密少量數(shù)據(jù)。 1. 加密的目的 加密不同于密碼,加密是一個(gè)動(dòng)作或者過程,其目的就是將一段明文信息(人類或機(jī)器可以直接讀懂的信息)變?yōu)橐欢慰瓷先]有任何意義的字符,必須通過事先約定的解密規(guī)則才能將...

    Mr_zhang 評論0 收藏0
  • 我眼中的PHP

    摘要:趁著吃下午茶,我也來簡單談?wù)剬ι踔恋囊恍┛捶āH欢叛郜F(xiàn)在,其實(shí)這些東西,感覺像是入門級別的要求了。說說我自己吧,不可否認(rèn),在工作中,我確實(shí)是個(gè)打雜,說好的架構(gòu)呢,說還的管理呢,說好的技術(shù)支持呢,,到頭來,還是東忙西忙,一無所事。 趁著吃下午茶,我也來簡單談?wù)剬?PHP 甚至 PHPer 的一些看法。 況且最好的語言要是沒有優(yōu)秀的人,那幾本就是扯淡,沒錯(cuò),就是你們在大大小小的群經(jīng)??吹?..

    Lin_R 評論0 收藏0
  • 阿里五年晉升三次,這個(gè)程序員要聊聊他的選擇

    摘要:小二穆遠(yuǎn)是螞蟻金服的一名程序員,五年晉升了三次,他要聊聊自己的五年阿里之旅,那些變化堅(jiān)持和淚水。在阿里待滿五年是一種什么樣的體驗(yàn)打怪升級,一路找尋自己的答案。年陳故事會(huì),來自阿里小二的自述。小二穆遠(yuǎn)是螞蟻金服的一名程序員,五年晉升了三次,他要聊聊自己的五年阿里之旅,那些變化、堅(jiān)持和淚水。請看本期的年陳故事會(huì)。showImg(https://user-gold-cdn.xitu.io/2019...

    Seay 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<