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

【JavaEE】HTTP請求的構(gòu)造

這篇具有很好參考價(jià)值的文章主要介紹了【JavaEE】HTTP請求的構(gòu)造。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1、通過form表單構(gòu)造HTTP請求

2、通過JS的ajax構(gòu)造HTTP請求

3、Postman的安裝和簡單使用


常見的構(gòu)造HTTP請求的方式有一下幾種:

  1. 直接通過瀏覽器的地址欄,輸入一個(gè)URL,就可以構(gòu)造一個(gè)GET請求
  2. HTML中的一些特殊標(biāo)簽,也會(huì)觸發(fā)GET請求,例如:link、script、img、a....
  3. 通過form表單標(biāo)簽可以實(shí)現(xiàn)GET和POST請求的構(gòu)造
  4. 通過JS中ajax實(shí)現(xiàn)各種請求的構(gòu)造

在編寫前端程序的時(shí)候,通常使用HTML和JS來構(gòu)造請求。再簡單方便一點(diǎn),我們還可以使用一些工具來構(gòu)造HTTP請求,例如使用postman軟件。

1、通過form表單構(gòu)造HTTP請求

form表單標(biāo)簽是HTML中的一個(gè)常用標(biāo)簽,可以用于個(gè)服務(wù)器發(fā)送GET或者POST請求。

??form發(fā)送GET請求

    <form action="http://www.baidu.com/abc" method="GET">
        <input type="text" name="userId">
        <input type="password" name="password">
        <input type="submit" value="提交">
    </form>

form標(biāo)簽的一些屬性:

  • action:表示構(gòu)造的HTTP請求的URL是什么
  • method:表示構(gòu)造的HTTP請求的方法是GET還是POST(form只支持HTTP方法GET和POST

下面我們來看請求構(gòu)造的請求返回的頁面和抓到的這個(gè)請求的報(bào)。?

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

這里我們就來看一下我們寫的代碼和填寫的表單,與形成的請求的首行之間的聯(lián)系。

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

???form表單發(fā)送post請求

構(gòu)造一個(gè)POST請求,我們只需要將form表單中的method屬性的值改為POST即可。

    <form action="http://www.baidu.com/abc" method="POST">
        <input type="text" name="userId">
        <input type="password" name="password">
        <input type="submit" value="提交">
    </form>

我們通過fiddler抓取我們構(gòu)造的這個(gè)報(bào)來看一下。?

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?可以看見我們構(gòu)造的POST請求,首行中沒有查詢字符串(query string), 但是請求正文中出現(xiàn)了我們在網(wǎng)頁表單上填寫的內(nèi)容。這個(gè)時(shí)候請求頭(header)中出現(xiàn)了Content-Length和Content-Type字段,用來表示請求正文中的內(nèi)容的長度和內(nèi)容的構(gòu)造格式。與GET的理解方式相似,代碼和輸入框與POST請求的的對(duì)應(yīng)關(guān)系,這里就不再展示。


2、通過JS的ajax構(gòu)造HTTP請求

從前端角度,處理瀏覽器地址欄能構(gòu)造GET請求,form表單能構(gòu)造GET和POST請求之外,還可以通過ajax的方式來構(gòu)造HTTP請求。當(dāng)然ajax的功能比form更加強(qiáng)大。

ajax是Asynchronous JavaScript And XML的縮寫。ajax是前端后端異步交互的一種方式

1??這里的XML是一種基于標(biāo)簽形式的自定義數(shù)據(jù)格式的方式,XML和HTML都是由標(biāo)簽構(gòu)成的,對(duì)于html來說,它的標(biāo)簽數(shù)量和含義都是由標(biāo)準(zhǔn)委員會(huì)規(guī)定好的,但是相對(duì)于XML來說,它的標(biāo)簽都是自定義的。XML和前端沒有關(guān)系,這只是數(shù)據(jù)的一種組織方式。XML的格式如下

<request>
    <userld>zhangsan</userId>
    <password>12346</password>
    <age>20</age>
</request>

?2??Asynchronous這個(gè)詞的含義是"異步"。說到這里有沒有老鐵聯(lián)想到synchronized,它表示的是"同步"。

??我們在加鎖的場景中,synchronized認(rèn)為是互斥的。就是在同一時(shí)間多個(gè)線程訪問同一個(gè)資源,只有一個(gè)線程能夠訪問,其他線程需要阻塞等待;

??在IO場景中,同步和異步的區(qū)別是,同步表示在請求的發(fā)起者,自行獲取響應(yīng)。異步表示請求的發(fā)起者不關(guān)心結(jié)果,而是由被請求的這一方,計(jì)算成結(jié)果之后,把結(jié)果推送給發(fā)起者。這個(gè)的區(qū)別就是請求發(fā)出后是否主動(dòng)獲取響應(yīng)結(jié)果。

這里我們通過一個(gè)例子來了解一下IO場景下的同步和異步。你去餐館吃飯,給老板說"老板來份油潑面",然后站在窗口等,老板做好之后,你自己端著飯找位置坐下。而異步就是你對(duì)老板說了之后,你就不管了,老板把飯做好之后,端到你面前來。只關(guān)注飯(響應(yīng))是你自己獲取還是老板給你送。

3??JS中提供了原生的ajax的api,但是使用起來比較麻煩,所以我們這里使用JQuery里面的提供ajax的api來構(gòu)造HTTP請求。這里小編已經(jīng)jQuery下載到了本地,使用的相對(duì)地址引入的jQuery,但是我們也可以找到j(luò)Query的網(wǎng)絡(luò)路徑,將其引入到代碼中。在編寫代碼的時(shí)候,使用jQuery時(shí),可以使用$符號(hào)表示jQuery,也可以使用完成的單詞來表示,這里小編更建議使用完成的單詞表示,因?yàn)橛械膸煲矔?huì)使用$符號(hào)作為變量名,我們在代碼中如果引入了不止一個(gè)庫,那么就會(huì)容易出現(xiàn)錯(cuò)誤。

下面時(shí)使用jQuery構(gòu)造一個(gè)請求的基本格式,當(dāng)然ajax方法中可以設(shè)置的字段不止代碼中出現(xiàn)的這些。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ajax</title>
    <script src="../jquery.min.js"></script>
</head>
<body>
    <script>
        jQuery.ajax({
            url:"https://www.baidu.com",
            type:"get",
            data:"這是 body",
            contentType:"text/plain",
            //此處success就聲明了一個(gè)回調(diào)函數(shù),會(huì)在服務(wù)器返回一個(gè)正確的響應(yīng)的時(shí)候,被瀏覽器自動(dòng)執(zhí)行。
            //這里的執(zhí)行過程就是"異步"的。
            //在我們頁面的JS中,把請求發(fā)送出去之后就不管了,就繼續(xù)執(zhí)行后續(xù)的代碼,直到服務(wù)器將響應(yīng)返回來之后,
            //瀏覽器將這個(gè)響應(yīng)給我們的代碼之后,瀏覽器才會(huì)執(zhí)行該方法。
            success: function(body) {
                //這里寫處理響應(yīng)的代碼
                alert(body);
            }
        });
    </script>
</body>
</html>

這里需要了解一下回調(diào)函數(shù),回調(diào)函數(shù)就是在代碼執(zhí)行的時(shí)候,并不會(huì)立即執(zhí)行,而是在等到合適的時(shí)機(jī)再執(zhí)行,例如在多線程中重寫run方法和lambda表達(dá)式都是回調(diào)函數(shù),還有集合類中的Comparable接口中的compare To方法和Comparator接口中的compare方法在代碼中使用的時(shí)候都是回調(diào)的。

將上述的代碼運(yùn)行,給百度的服務(wù)器發(fā)送請求,代碼在執(zhí)行的過程中會(huì)出錯(cuò)。

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?這個(gè)報(bào)錯(cuò)是ajax的一個(gè)典型的跨域問題,這是瀏覽器為了限制安全問題引入的保護(hù)機(jī)制。使用ajax構(gòu)造的請求,要求運(yùn)行ajax代碼的頁面的域名,要和ajax里請求訪問的域名是一致的,兩個(gè)域名不一致的話,哪怕服務(wù)器給你響應(yīng)了數(shù)據(jù),瀏覽器也不能處理,還是會(huì)報(bào)錯(cuò)。但是form表單標(biāo)簽構(gòu)造請求是可以跨域訪問的,即a網(wǎng)站的頁面可以請求b網(wǎng)站的數(shù)據(jù)。

?總結(jié)

ajax相比于form功能更強(qiáng),構(gòu)造請求更靈活,form只支持get和post兩種HTTP方法,而ajax不僅可以支持這兩種HTTP方法,還可以支持put、delete等,ajax還可以靈活的設(shè)置header和body.

3、Postman的安裝和簡單使用

上述的重點(diǎn)說到的構(gòu)造請求的方式,不論哪一種,構(gòu)造請求都是需要我們手動(dòng)寫代碼的,但是這里使用的Postman在構(gòu)造請求的時(shí)候他會(huì)自己生成某種語言的HTTP請求。點(diǎn)擊這個(gè)連接就可以進(jìn)入官網(wǎng):https://www.postman.com/downloads/下載。

點(diǎn)擊進(jìn)入官網(wǎng)頁面之后,按照下面的步驟進(jìn)行就可以了。

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

下載完成之后,需要我們自己創(chuàng)建一個(gè)用戶,創(chuàng)建完成之后,第一次登錄Postman的頁面是這個(gè)樣子需要點(diǎn)擊workspaces創(chuàng)建一個(gè)工作空間。

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?文章來源地址http://www.zghlxwxcb.cn/news/detail-583095.html

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?點(diǎn)擊+,創(chuàng)建一個(gè)標(biāo)簽頁。

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?構(gòu)造HTTP請求。【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?以上說到就是Postman最基本的用法,還有一個(gè)好用的地方就是點(diǎn)擊</>符號(hào),它可以生成各種語言的構(gòu)造HTTP請求的代碼。想要使用jQuery版本的代碼,直接選中,復(fù)制放在jQuery的代碼中就可以使用,前提是你在代碼中引入了jQuery。

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?

【JavaEE】HTTP請求的構(gòu)造,JavaEE,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

?

到了這里,關(guān)于【JavaEE】HTTP請求的構(gòu)造的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 網(wǎng)絡(luò)原理 - HTTP / HTTPS(4)——構(gòu)造http請求

    網(wǎng)絡(luò)原理 - HTTP / HTTPS(4)——構(gòu)造http請求

    目錄 一、postman 的下載安裝以及簡單介紹 1、下載安裝 2、postman的介紹 二、通過 Java socket 構(gòu)造 HTTP 請求 ? ? ? ? 構(gòu)造http請求的方式有兩種: (1)通過代碼構(gòu)造 (有一點(diǎn)難度)? ? ? ? (2)通過第三方工具構(gòu)造 (非常容易)。 ? ? ? ? 下面介紹第三方工具構(gòu)造http請求,這

    2024年04月17日
    瀏覽(31)
  • 計(jì)算機(jī)網(wǎng)絡(luò)——如何構(gòu)造HTTP請求

    計(jì)算機(jī)網(wǎng)絡(luò)——如何構(gòu)造HTTP請求

    ????????構(gòu)造HTTP請求的常見方式有,通過form表單標(biāo)簽來實(shí)現(xiàn),通過ajax來實(shí)現(xiàn),這兩種是通過HTML/JS來實(shí)現(xiàn)的,還可通過java使用Socket來進(jìn)行構(gòu)造(本質(zhì)就是根據(jù)不同的格式來解析字符串,處理請求),最簡單的也可以使用一些工具來進(jìn)行構(gòu)造,比如使用postman來進(jìn)行構(gòu)造。

    2023年04月08日
    瀏覽(25)
  • 安卓網(wǎng)絡(luò)請求1————Http協(xié)議

    安卓網(wǎng)絡(luò)請求1————Http協(xié)議

    http是超文本傳輸協(xié)議的縮寫(Hyper Text Transfer Protocol),是從萬維網(wǎng)服務(wù)器傳送到本地瀏覽器的傳送協(xié)議 HTTP的協(xié)議工作于客戶端——服務(wù)端的框架上,即客戶端向服務(wù)端發(fā)送請求,服務(wù)端接收請求后向客戶端發(fā)送響應(yīng)信息 1.http是無連接的:無連接的含義是限制每次連接值處

    2024年02月06日
    瀏覽(25)
  • 【JavaEE】HTTP狀態(tài)碼-HTTP數(shù)據(jù)報(bào)的構(gòu)造

    【JavaEE】HTTP狀態(tài)碼-HTTP數(shù)據(jù)報(bào)的構(gòu)造

    HTTP狀態(tài)碼 HTTP數(shù)據(jù)報(bào)的構(gòu)造 c語言也學(xué)到了一個(gè)全局的變量errno,在一些內(nèi)存函數(shù)或者文件操作的時(shí)候,這個(gè)變量會(huì)有所變化,如果程序出錯(cuò)了,這個(gè)變量對(duì)應(yīng)的值就代表了對(duì)應(yīng)的錯(cuò)誤信息,【errno - error no(number)】,通過一些函數(shù)去解析這個(gè)錯(cuò)誤碼就可以了~ 而HTTP的狀態(tài)碼,就

    2024年02月07日
    瀏覽(21)
  • JavaEE & HTTP狀態(tài)碼 & HTTP數(shù)據(jù)報(bào)的構(gòu)造

    JavaEE & HTTP狀態(tài)碼 & HTTP數(shù)據(jù)報(bào)的構(gòu)造

    HTTP狀態(tài)碼 HTTP數(shù)據(jù)報(bào)的構(gòu)造 c語言也學(xué)到了一個(gè)全局的變量errno,在一些內(nèi)存函數(shù)或者文件操作的時(shí)候,這個(gè)變量會(huì)有所變化,如果程序出錯(cuò)了,這個(gè)變量對(duì)應(yīng)的值就代表了對(duì)應(yīng)的錯(cuò)誤信息,【errno - error no(number)】,通過一些函數(shù)去解析這個(gè)錯(cuò)誤碼就可以了~ 而HTTP的狀態(tài)碼,就

    2024年02月07日
    瀏覽(26)
  • Chrome/Safari 瀏覽器怎么查看網(wǎng)絡(luò)請求的 http 協(xié)議版本

    Chrome/Safari 瀏覽器怎么查看網(wǎng)絡(luò)請求的 http 協(xié)議版本

    通過 Chrome 或者 Safari 瀏覽器的開發(fā)者工具查看網(wǎng)絡(luò)請求后,發(fā)現(xiàn)只能看到 scheme 是 https,但是看不到 http 協(xié)議是 1.1 還是 2,亦或者是 http3 查看 http 請求 http 協(xié)議版本的方法是:鼠標(biāo)右鍵表頭中的任何一項(xiàng),隨后勾選上「Protocol」 隨后可以看到新增了一列 Protocol,顯示了 htt

    2024年02月15日
    瀏覽(95)
  • 【網(wǎng)絡(luò)應(yīng)用層協(xié)議】【HTTP】詳解HTTP與HTTPS、POST 請求與 GET請求 、TCP與UDP、cookie和session的區(qū)別

    目錄 1. HTTP和HTTPS的區(qū)別 2. POST 請求與 GET 請求區(qū)別 3. TCP與UDP的區(qū)別 4. cookie和session的區(qū)別

    2024年04月14日
    瀏覽(38)
  • 高效便捷構(gòu)造 Http 請求

    高效便捷構(gòu)造 Http 請求

    對(duì)于Get請求: 地址欄直接輸入 點(diǎn)擊收藏夾 html 中的 link script img a… form 標(biāo)簽 這里我們重點(diǎn)強(qiáng)調(diào) form 標(biāo)簽構(gòu)造的 http請求 使用 form 標(biāo)簽構(gòu)造http請求. form 的重要參數(shù): action: 構(gòu)造 http 請求的 URL 是什么 method:構(gòu)造 http 請求的方法是 GET 還是 POST(form 僅支持 GET 和 POST) input 的重要參數(shù)

    2023年04月14日
    瀏覽(23)
  • 【JavaEE】_HTTP請求首行

    【JavaEE】_HTTP請求首行

    目錄 1.?URL 2.?方法 2.1 GET方法 2.2 POST方法 2.3?GET與POST的區(qū)別 2.4 低頻使用方法 在mysql JDBC中已經(jīng)提到過URL的相關(guān)概念: 如需查看有關(guān)JDBC更多內(nèi)容,原文鏈接如下: 【MySQL】_JDBC編程-CSDN博客 URL用于描述某個(gè)資源在網(wǎng)絡(luò)上的所屬位置,數(shù)據(jù)庫也是一種資源故而在JDBC中使用URL描述

    2024年02月19日
    瀏覽(26)
  • [JAVAee]HTTP協(xié)議

    [JAVAee]HTTP協(xié)議

    目錄 應(yīng)用層協(xié)議HTTP HTTP的工作過程 HTTP協(xié)議格式 HTTP請求 URL HTTP常用方法 Header報(bào)頭 Host Content-Length Content-Type User-Agent Referer Cookie Body HTTP響應(yīng) 狀態(tài)碼 ?編輯FORM構(gòu)建HTTP請求 GET請求 POST請求 ajax構(gòu)造HTTP請求 GET請求 HTTP (全稱為 \\\"超文本傳輸協(xié)議\\\") 是一種應(yīng)用非常廣泛的 應(yīng)用層協(xié)議

    2024年02月12日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包