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

[JAVAee]HTTP協(xié)議

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

目錄

應(yīng)用層協(xié)議HTTP

HTTP的工作過(guò)程

HTTP協(xié)議格式

HTTP請(qǐng)求

URL

HTTP常用方法

Header報(bào)頭

Host

Content-Length

Content-Type

User-Agent

Referer

Cookie

Body

HTTP響應(yīng)

狀態(tài)碼

?編輯FORM構(gòu)建HTTP請(qǐng)求

GET請(qǐng)求

POST請(qǐng)求

ajax構(gòu)造HTTP請(qǐng)求

GET請(qǐng)求


HTTP (全稱為 "超文本傳輸協(xié)議") 是一種應(yīng)用非常廣泛的 應(yīng)用層協(xié)議.

應(yīng)用層協(xié)議HTTP

像TCP協(xié)議,是傳輸層中的協(xié)議.負(fù)責(zé)的只是將數(shù)據(jù)進(jìn)行傳輸,就像快遞員一樣的作用.

而HTTP應(yīng)用層的協(xié)議,是在接收到的數(shù)據(jù)進(jìn)行處理或表明其使用的方式,相當(dāng)于一種"在加工".

HTTP的工作過(guò)程

當(dāng)我們輸入一個(gè)網(wǎng)址,在同時(shí)瀏覽器就會(huì)對(duì)相應(yīng)要訪問(wèn)的服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求.

在服務(wù)器接收到這個(gè)HTTP請(qǐng)求,經(jīng)過(guò)一定的處理后,再返回一個(gè)HTTP響應(yīng).

當(dāng)我們使用抓包軟件,觀察打開(kāi)CSDN首頁(yè):

[JAVAee]HTTP協(xié)議,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

可以看到,當(dāng)打開(kāi)一個(gè)網(wǎng)頁(yè)時(shí).涉及到的不止一次HTTP的請(qǐng)求與響應(yīng).

HTTP協(xié)議格式

可以通過(guò)抓包的方式來(lái)查看HTTP協(xié)議中的格式.

  1. HTTP請(qǐng)求首行內(nèi)容:方法 + URL(網(wǎng)址)?+ 版本號(hào).
  2. HTTP響應(yīng)首行內(nèi)容:版本號(hào) + 狀態(tài)碼 + 狀態(tài)碼解釋
  3. 接下來(lái)的內(nèi)容就屬于Header部分:請(qǐng)求的屬性, 冒號(hào)分割的鍵值對(duì);每組屬性之間使用\n分隔;遇到空行表示Header部分結(jié)束.
  4. Body: 空行后面的內(nèi)容都是Body. Body允許為空字符串. 如果Body存在, 則在Header中會(huì)有
    一個(gè)Content-Length屬性來(lái)標(biāo)識(shí)Body的長(zhǎng)度.

來(lái)分別查看訪問(wèn)CSDN的抓包結(jié)果

HTTP請(qǐng)求:

(中間紅色的是Header部分)

[JAVAee]HTTP協(xié)議,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?HTTP響應(yīng):

[JAVAee]HTTP協(xié)議,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

在請(qǐng)求部分中Body的內(nèi)容不太顯著.在響應(yīng)就可以明顯的看到存放的是訪問(wèn)的網(wǎng)頁(yè)相應(yīng)的前端內(nèi)容.

HTTP請(qǐng)求

URL

URL就是我們俗稱的"網(wǎng)址"

URL-uniform resource locator-統(tǒng)一資源定位器.

一個(gè)URL包含的信息指出了一個(gè)文件在網(wǎng)絡(luò)上的位置,以及其使用的方式.

URL = 包括協(xié)議+域名或ip+端口號(hào)+路徑+查詢參數(shù)+錨點(diǎn),其中一些內(nèi)容是可以被省略的.

  • 協(xié)議:像是http,https(加密后的http)
  • 域名/IP:要訪問(wèn)的服務(wù)器地址
  • 端口號(hào):對(duì)應(yīng)服務(wù)器的端口號(hào)
  • 路徑:網(wǎng)絡(luò)服務(wù)器上的資源路徑
  • 查詢參數(shù)(query string):訪問(wèn)一個(gè)網(wǎng)頁(yè),其實(shí)就像是在訪問(wèn)一個(gè)文件.此文件可以沒(méi)有什么交互.也可以是一個(gè)程序,在我們提交了一定的參數(shù)后,返回一定的結(jié)果.返回的結(jié)果就是一個(gè)文件(頁(yè)面).參數(shù)中就存放著我們給服務(wù)器的參數(shù),本質(zhì)上是鍵值對(duì)[用&分割鍵值對(duì),=分割鍵與值]

[JAVAee]HTTP協(xié)議,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

  • 錨點(diǎn):像是一個(gè)書(shū)簽,在一些有目錄的查詢頁(yè)面可以看到,幫助定位到網(wǎng)頁(yè)的某一個(gè)位置中

HTTP常用方法

  • GET:獲取資源(一般客戶端用來(lái)向服務(wù)器獲取資源)
  • POST:傳輸實(shí)體(一般服務(wù)器用來(lái)向客戶端發(fā)送資源)
  • PUT:傳輸文件
  • HEAD:返回報(bào)頭(header)
  • DELETE:刪除文件

關(guān)于GET與POST方法.其實(shí)他們的本質(zhì)是相同的.只是在使用的習(xí)慣和場(chǎng)景上的用法不同.PUT與這兩個(gè)方法也是類似的.

GET不一定只用來(lái)在請(qǐng)求上獲取資源,也可以發(fā)送資源.POST相應(yīng)的也可以發(fā)送資源.

Header報(bào)頭

報(bào)頭中為鍵值對(duì)格式:key:value,一個(gè)鍵值對(duì)占一行空間

Host

表明服務(wù)器主機(jī)的地址與端口

例如:Host: www.csdn.net(此處的地址是域名的形式哈,解析一下就可以得到相應(yīng)的IP了)

Content-Length

表示body中的長(zhǎng)度.在GET方法中一般沒(méi)有body,自然就看不到此鍵值對(duì)啦.

Content-Type

有了此格式,接收HTTP的瀏覽器或者服務(wù)器才能正確的解析出body中的內(nèi)容

較重要的是:

  • application/x-www-form-urlencoded : 表示提交的數(shù)據(jù)為form格式,并對(duì)其進(jìn)行urlencoded編碼與序列化
  • multipart/form-data: 表示提交的數(shù)據(jù)為form格式
  • application/json: 表示提交的數(shù)據(jù)為json格式

urlencoded編碼是將一些符號(hào)進(jìn)行重新編碼成另一種形式,序列化就是為了節(jié)省資源將其的換行與空格都去除了.?

form格式,形如:

name=zhangsan&id=123456

json格式,形如(冒號(hào)分割鍵與值,逗號(hào)分割鍵值對(duì)):

{

? ? ? ? 鍵(規(guī)定為Sting類型) : 值(變量)

????????"name" : zhangsan,

????????"id" : 123456

}

User-Agent

表明瀏覽器或當(dāng)前操作系統(tǒng)的屬性

為了給不同操作系統(tǒng)或?yàn)g覽器傳輸正確版本的資源.

像一些老版本的,例如XP系統(tǒng)就會(huì)打不開(kāi)一些網(wǎng)站.或者一個(gè)網(wǎng)頁(yè)能被XP與win10打開(kāi),說(shuō)明其可能相應(yīng)的配備了兩套資源來(lái)適應(yīng)兩個(gè)操作系統(tǒng).

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203

描述了操作系統(tǒng)為win10,64位

瀏覽器版本是Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203

Referer

表明當(dāng)前網(wǎng)頁(yè)的來(lái)源的地址.

即用百度點(diǎn)擊CSDN的網(wǎng)頁(yè).Referer顯示的就是百度的地址

如果在地址欄輸入U(xiǎn)RL來(lái)訪問(wèn)或者在收藏夾進(jìn)行打開(kāi),是沒(méi)有Referer的噢

像這里的用處,就可以讓投廣告的廣告主查看哪一個(gè)網(wǎng)頁(yè)訪問(wèn)此廣告的瀏覽量最多啦.

Cookie

Cookie是在訪問(wèn)某些頁(yè)面時(shí),留存在本機(jī)中的文件.

此文件記錄了關(guān)于用戶的相關(guān)信息,或是身份標(biāo)識(shí).方便服務(wù)器高效的對(duì)用戶的偏好行為作出反應(yīng).

類似于"個(gè)性化推薦".

每一個(gè)域名下都可以有一個(gè)Cookie,其之間是不會(huì)產(chǎn)生沖突的.

Cookie還具有實(shí)效性,有一些是臨時(shí)的,還有一些是可以長(zhǎng)期存在的.跟服務(wù)器的相應(yīng)設(shè)置相關(guān).

其可以是網(wǎng)頁(yè)自行寫(xiě)入的,也可以的服務(wù)器使用SetCookie方法進(jìn)行寫(xiě)入.

Body

關(guān)于HTTP的請(qǐng)求,在用戶對(duì)服務(wù)器進(jìn)行上傳一些數(shù)據(jù)時(shí)會(huì)使用到POST方法.可以看到其body(正文).

像是上傳頭像,body中存儲(chǔ)的就是一定格式的圖片信息.

HTTP響應(yīng)

狀態(tài)碼

FORM構(gòu)建HTTP請(qǐng)求

FORM的參數(shù)

  • action:請(qǐng)求的URL
  • method:使用的方法(form只支持get方法或post方法)

INPUT的參數(shù)

type:輸入框的類型

name:構(gòu)造http請(qǐng)求時(shí)的URL上query string鍵值對(duì)中的key

vaule:輸入框中要顯示的文本

GET請(qǐng)求

<body>
    <form action="https://www.baidu.com/" method="get">
        <input type="text" name="name">
        <input type="submit" value="點(diǎn)擊提交">
        <!-- <button type="submit">提交</button> -->
    </form>
</body>

[JAVAee]HTTP協(xié)議,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

提交后的結(jié)果:

可以看到input中提交的值,與input的name組成了URL中的query string

[JAVAee]HTTP協(xié)議,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

POST請(qǐng)求

跟get相同,只要把方法改成post就可以了

<body>
    <form action="https://www.baidu.com/" method="post">
        <input type="text" name="name">
        <input type="submit" value="點(diǎn)擊提交">
        <!-- <button type="submit">提交</button> -->
    </form>
</body>

結(jié)果:

在post方法中,數(shù)據(jù)從URL中的query sting移動(dòng)到了body內(nèi)容中

[JAVAee]HTTP協(xié)議,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

ajax構(gòu)造HTTP請(qǐng)求

Asynchronous?Javascript?And?XML-異步的Javascript與XML

相比于form,功能更強(qiáng)大.能夠使用除了get與post的其他方法.

ajax發(fā)送的http請(qǐng)求中的header與body可以靈活的進(jìn)行設(shè)置

特點(diǎn)是:異步請(qǐng)求,局部刷新.

此處異步的意思是:可以不等待服務(wù)器的響應(yīng)就繼續(xù)往下執(zhí)行

GET請(qǐng)求

雖然js原生庫(kù)中含有ajax

但著還是引入了一個(gè)jquery庫(kù)里面有ajax使用更方便一定

<body>
    <script src = "http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>
    <script>
        $.ajax({
            type: 'get',
            url : 'https://www.baidu.com/index.htm?name=wow',
            success: function(data){//回調(diào)函數(shù),異步的體現(xiàn).在服務(wù)器響應(yīng)后再調(diào)用此函數(shù)
                console.log("OK")
            }
        });
        console.log("wow");//請(qǐng)求完后即刻執(zhí)行ajax后面的程序,不用等待響應(yīng)
    </script>
</body>

post也是差不多的,就不多展開(kāi)了.

以上就是關(guān)于HTTP的一些簡(jiǎn)要說(shuō)明.文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-658036.html

到了這里,關(guān)于[JAVAee]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)文章

  • JavaEE-HTTP協(xié)議(一)

    JavaEE-HTTP協(xié)議(一)

    計(jì)算機(jī)網(wǎng)絡(luò),核心概念,網(wǎng)絡(luò)協(xié)議 網(wǎng)絡(luò)協(xié)議種類非常多,其中一些耳熟能詳?shù)?,IP,TCP,UDP…其中還有一個(gè)應(yīng)用非常廣泛的協(xié)議,HTTP HTTP 處于 TCP/IP五層協(xié)議棧的應(yīng)用層~ HTTP在傳輸層是基于TCP的~( 不夠嚴(yán)謹(jǐn),HTTP/1 HTTP/2 是基于TCP,最新版本HTTP/3是基于UDP的,但是當(dāng)下互聯(lián)網(wǎng)絕大部

    2023年04月09日
    瀏覽(21)
  • HTTP協(xié)議(JavaEE初階系列15)

    HTTP協(xié)議(JavaEE初階系列15)

    目錄 前言: 1.HTTP協(xié)議 1.1HTTP協(xié)議是什么 1.2HTTP協(xié)議的報(bào)文格式 1.2.1抓包工具的使用 1.2.2HTTP請(qǐng)求 1.2.3HTTP響應(yīng) 2.HTTP請(qǐng)求 2.1首行的組成 2.2.1URL的組成 2.2認(rèn)識(shí)“方法”(method) 2.2.1GET方法 2.2.2POST方法 2.2.3GET和POST請(qǐng)求的區(qū)別 2.3認(rèn)識(shí)請(qǐng)求“報(bào)頭”(header) 2.4認(rèn)識(shí)請(qǐng)求正文(body) 3

    2024年02月11日
    瀏覽(50)
  • 【JavaEE】網(wǎng)絡(luò)原理-HTTP

    【JavaEE】網(wǎng)絡(luò)原理-HTTP

    HTTP是一種 基于傳輸層TCP并位于應(yīng)用層的超文本協(xié)議 目前主要使用HTTP1.1和HTTP2.0 2.1 使用Fiddler抓包進(jìn)行分析 關(guān)于Fiddler: 是一個(gè)代理工具,就像高速路上的收費(fèi)站,不管什么車,只要它從高速路上經(jīng)過(guò),那么就需要經(jīng)過(guò)收費(fèi)站 對(duì)應(yīng)到網(wǎng)站上,就是不管什么網(wǎng)站,只要有數(shù)據(jù)的

    2024年03月21日
    瀏覽(30)
  • 網(wǎng)絡(luò)協(xié)議HTTP/1、HTTP/2 及 HTTP/3詳解

    網(wǎng)絡(luò)協(xié)議HTTP/1、HTTP/2 及 HTTP/3詳解

    目錄 概述 ?一、發(fā)展史 HTTP/1.1 ?Keep-alive? 動(dòng)靜分離? HTTP/2 二進(jìn)制傳輸? ?多路復(fù)用 Header 壓縮 服務(wù)端 Push ?HTTP/3 QUIC ?多路復(fù)用 0-RTT 糾錯(cuò)機(jī)制 三、小結(jié) HTTP(Hyper Text Transformer Protocol,超文本傳輸協(xié)議)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器傳送到

    2024年02月02日
    瀏覽(32)
  • 【網(wǎng)絡(luò)協(xié)議】聊聊http協(xié)議

    【網(wǎng)絡(luò)協(xié)議】聊聊http協(xié)議

    當(dāng)我們輸入www.baidu.com的時(shí)候,其實(shí)是先將baidu.com的域名進(jìn)行DNS解析,轉(zhuǎn)換成對(duì)應(yīng)的ip地址,然后開(kāi)始進(jìn)行基于TCP構(gòu)建三次握手的連接,目前使用的是1.1 默認(rèn)是開(kāi)啟了keep-Alive。可以在多次請(qǐng)求中進(jìn)行連接復(fù)用。 連接建立之后,就要發(fā)送HTTP的請(qǐng)求了, 整體其實(shí)就是三部分,請(qǐng)

    2024年02月06日
    瀏覽(24)
  • 網(wǎng)絡(luò)協(xié)議 - HTTP 協(xié)議詳解

    網(wǎng)絡(luò)協(xié)議 - HTTP 協(xié)議詳解

    HTTP 協(xié)議詳解,web開(kāi)發(fā)必備。 URI 包含 URL 和 URN,目前 WEB 只有 URL 比較流行,所以見(jiàn)到的基本都是 URL。 URI(Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符) URL(Uniform Resource Locator,統(tǒng)一資源定位符) URN(Uniform Resource Name,統(tǒng)一資源名稱) 1. 請(qǐng)求報(bào)文 2. 響應(yīng)報(bào)文 客戶端發(fā)送的 請(qǐng)求報(bào)文 第

    2024年02月04日
    瀏覽(32)
  • 網(wǎng)絡(luò)協(xié)議與攻擊模擬-21-HTTP協(xié)議

    網(wǎng)絡(luò)協(xié)議與攻擊模擬-21-HTTP協(xié)議

    1、 HTTP 協(xié)議結(jié)構(gòu) 2、在 Windows server 去搭建 web 服務(wù)器 3、分析 HTTP 協(xié)議流量 1、概念 HTTP (超文本傳輸協(xié)議)是用于在萬(wàn)維網(wǎng)服務(wù)器上傳輸超文本( HTML )到本地瀏覽器的傳輸協(xié)議 屬于 TCP / IP 協(xié)議簇的一員( HTML 文件、圖片、查詢結(jié)構(gòu)等) 基于傳輸層 TCP 的80端口 2、萬(wàn)維網(wǎng)服

    2024年02月16日
    瀏覽(92)
  • [網(wǎng)絡(luò)原理] HTTP協(xié)議

    [網(wǎng)絡(luò)原理] HTTP協(xié)議

    要珍惜時(shí)間呀 HTTP協(xié)議是應(yīng)用層協(xié)議,TCP/IP協(xié)議為傳輸層協(xié)議,負(fù)責(zé)傳輸數(shù)據(jù).而HTTP協(xié)議相當(dāng)于對(duì)傳輸?shù)臄?shù)據(jù)據(jù)怎樣處理和使用進(jìn)行說(shuō)明. 每次,我們?cè)L問(wèn)網(wǎng)站的時(shí)候,都會(huì)給網(wǎng)站的服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求,服務(wù)器收到請(qǐng)求后,會(huì)返回一個(gè)HTTP響應(yīng).如下圖所示. 下圖,為一個(gè)HTTP請(qǐng)求的格式

    2024年02月03日
    瀏覽(29)
  • 網(wǎng)絡(luò)通信:http協(xié)議

    網(wǎng)絡(luò)通信:http協(xié)議

    雖然我們說(shuō), 應(yīng)用層協(xié)議是我們程序猿自己定的. 但實(shí)際上, 已經(jīng)有大佬們定義了一些現(xiàn)成的, 又非常好用的應(yīng)用層協(xié)議, 供我們直接參考使用. HTTP(超文本傳輸協(xié)議) 就是其中之一. 統(tǒng)一資源定位符(Uniform Resource Locator,縮寫(xiě):URL),是對(duì)資源的引用和訪問(wèn)該資源的方法。俗稱網(wǎng)址

    2024年02月07日
    瀏覽(17)
  • 【網(wǎng)絡(luò)】HTTP協(xié)議詳解

    【網(wǎng)絡(luò)】HTTP協(xié)議詳解

    ??大家好,我是 白晨 ,一個(gè)不是很能熬夜??,但是也想日更的人?。 如果喜歡這篇文章, 點(diǎn)個(gè)贊 ??, 關(guān)注一下 ??白晨吧!你的支持就是我最大的動(dòng)力!?????? 喲,大家好,我是白晨。距離上一次更新已經(jīng)過(guò)了一段時(shí)間了,屬實(shí)是當(dāng)鴿子當(dāng)慣了??。 上一篇文章我們

    2024年02月02日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包