91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HTTP和GET命令是什么

454398 ? 來源:工程師吳畏 ? 2019-07-31 09:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)任何兩個(gè)電子設(shè)備需要相互通信時(shí),它們必須使用通用協(xié)議或消息系統(tǒng)。如果一個(gè)設(shè)備嘗試使用協(xié)議A發(fā)送消息而另一個(gè)設(shè)備正在使用協(xié)議B,則這兩個(gè)設(shè)備永遠(yuǎn)不能交換數(shù)據(jù)(他們會(huì)將對(duì)方的消息視為垃圾)。因此,為了使互聯(lián)網(wǎng)正常運(yùn)行,設(shè)備必須使用通用協(xié)議進(jìn)行通信,這就是IP或互聯(lián)網(wǎng)協(xié)議的用武之地。

IP本身相當(dāng)復(fù)雜,由幀,標(biāo)題,位置組成,等,但幸運(yùn)的是,大多數(shù)互聯(lián)網(wǎng)控制器,如以太網(wǎng)IC和Wi-Fi適配器自動(dòng)處理協(xié)議。這通常意味著用戶只需要發(fā)送簡單的命令,例如“打開套接字到IP設(shè)備”和“發(fā)送此數(shù)據(jù)包”。

HTTP和GET命令是什么

UDP Internet協(xié)議

但是,IP只是通過打開發(fā)送器和接收器上的套接字來處理物理通信鏈路(因此可以傳輸二進(jìn)制數(shù)據(jù))。理解這一點(diǎn)的一種簡單方法是將IP視為物理鏈接兩個(gè)設(shè)備的系統(tǒng)(例如使用以太網(wǎng)電纜連接兩臺(tái)計(jì)算機(jī)),因此當(dāng)一臺(tái)設(shè)備發(fā)出兩位數(shù)據(jù)時(shí),另一臺(tái)設(shè)備將看到相同的兩臺(tái)相同的數(shù)據(jù)位。要讓兩個(gè)設(shè)備了解這些位實(shí)際意味著什么,我們需要使用消息傳遞協(xié)議。雖然互聯(lián)網(wǎng)上使用了許多協(xié)議,但最常見的協(xié)議稱為HTTP。

HTTP或超文本傳輸協(xié)議定義了如何解釋通過兩個(gè)設(shè)備之間的套接字發(fā)送/接收的數(shù)據(jù)。 HTTP(HTTPS是加密的安全版本),是現(xiàn)有的每個(gè)網(wǎng)站上使用的協(xié)議,非常簡單。但HTTP并不僅限于網(wǎng)站。我們也可以將它用于物聯(lián)網(wǎng)應(yīng)用,這就是你現(xiàn)在需要學(xué)習(xí)的原因!

為什么HTTP如此驚人

HTTP是一個(gè)了不起的協(xié)議,原因如下:

所有消息是ASCII文本格式(非常適合數(shù)據(jù)大小和易用性)

所有行都以car 返回?fù)Q行符(0x0A 0x0D或\ r \ n)終止

所有消息都“按原樣”并且根本沒有摻假(即原始文本)

可以使用字符串?dāng)?shù)據(jù)類型在代碼中輕松實(shí)現(xiàn)

當(dāng)客戶端(例如PC或平板電腦)想要打開網(wǎng)頁(例如,index.html)時(shí),客戶端首先需要打開一個(gè)套接字才能連接到端口80上有問題的服務(wù)器。

在本文中,我們將使用The Gentleman Maker的MicroPython代碼:All About Circuits上的IoT Teapotproject。這段代碼不是HTTP,而是IP,它是我們的客戶端和服務(wù)器連接在一起的。

第一行創(chuàng)建一個(gè)名為sock的套接字對(duì)象,第二行獲取網(wǎng)站的IP地址我們想要連接到端口80(因?yàn)樗梢詣?dòng)態(tài)更改),最后一行創(chuàng)建一個(gè)地址對(duì)象,包括服務(wù)器的IP地址和端口號(hào)。您需要更改的唯一參數(shù)是“iot.yourwebsite.co.uk”到您要連接的任何網(wǎng)站。

知道IP地址,是時(shí)候打開客戶端和服務(wù)器之間的連接。使用下面顯示的命令很容易做到:

如果一切按計(jì)劃進(jìn)行,您現(xiàn)在應(yīng)該在客戶端和服務(wù)器之間建立了鏈接。此時(shí),您可以使用sock.send(此處為您的數(shù)據(jù))通過套接字發(fā)送數(shù)據(jù),但如果服務(wù)器不理解數(shù)據(jù),則會(huì)響應(yīng)錯(cuò)誤代碼。那么,讓我們學(xué)習(xí)如何使用GET命令請(qǐng)求數(shù)據(jù)!

**注意:確保您通過套接字發(fā)送的任何數(shù)據(jù)都被編碼為二進(jìn)制格式,因?yàn)镸icroPython中的套接字只發(fā)送二進(jìn)制數(shù)據(jù)!

GET命令

GET是用于指令的命令請(qǐng)求網(wǎng)頁或文件內(nèi)容,例如.html,.htm和.txt。 GET消息至少包含三行(所有行都以回車換行符終止):

GET 《您想要的文件》 HTTP/1.1 \ r \ n

主持人:《網(wǎng)站域名》 \ r \ n

\ r \ n

第一行以GET,然后是需要的文件。例如,如果我們想要index.html文件,我們將用/index.html替換上面顯示的文本。第二行是主機(jī)域,例如maker.pro,但不包括http或www。最后一行是一個(gè)空行,必須是空的!這表示消息結(jié)束,服務(wù)器將識(shí)別它現(xiàn)在需要處理GET請(qǐng)求。完整的消息和使其工作的代碼如下所示。

HTTP響應(yīng)

發(fā)送請(qǐng)求后,服務(wù)器將處理該消息,然后發(fā)送響應(yīng)。響應(yīng)將包含三個(gè)主要部分:

成功/錯(cuò)誤代碼

元數(shù)據(jù)

請(qǐng)求的文件內(nèi)容

為了更好地理解響應(yīng)內(nèi)容,讓我們看一下茶壺項(xiàng)目的GET請(qǐng)求。

成功/錯(cuò)誤代碼是以黃色突出顯示的第一行,如果請(qǐng)求成功或失敗,則通知客戶端。此行上的第二個(gè)數(shù)字(在本例中為200)是響應(yīng)代碼,可用于確定是否出現(xiàn)錯(cuò)誤(非常常見的錯(cuò)誤代碼為404,這意味著所請(qǐng)求的文件不存在)。所以讓我們看看一些常見的錯(cuò)誤代碼。

200 - 好的 - 一切順利:)

400 - 錯(cuò)誤請(qǐng)求

401 - 未經(jīng)授權(quán)的訪問

403 - 禁止訪問

404 - 未找到

408 - 請(qǐng)求超時(shí)

429 - 請(qǐng)求過多

500 - 內(nèi)部服務(wù)器錯(cuò)誤

502 - 錯(cuò)誤網(wǎng)關(guān)

下一部分?jǐn)?shù)據(jù)(以藍(lán)色突出顯示)是元數(shù)據(jù),其中包括當(dāng)前日期/時(shí)間,服務(wù)器類型,編碼方法,數(shù)據(jù)類型和數(shù)據(jù)長度等信息。最后一塊數(shù)據(jù)(以綠色突出顯示)是所請(qǐng)求文件的內(nèi)容。

POST命令

我們將看到的第二個(gè)命令是POST命令,它用于將數(shù)據(jù)發(fā)送到服務(wù)器。在處理需要上傳傳感器數(shù)據(jù)或命令以控制其他設(shè)備的物聯(lián)網(wǎng)設(shè)備時(shí),這非常有用。通常,POST用于將數(shù)據(jù)發(fā)送到php腳本文件,然后該腳本文件可以根據(jù)提交的數(shù)據(jù)的值執(zhí)行操作。那么讓我們看看我們?nèi)绾螌⒁恍┳兞堪l(fā)送到php頁面!

和以前一樣,第一行有POST命令和我們發(fā)送的頁面數(shù)據(jù)到。接下來的幾行(以藍(lán)色突出顯示)是元數(shù)據(jù),其中包括正在發(fā)送的內(nèi)容類型及其大小(請(qǐng)記住,在內(nèi)容長度之后需要有一個(gè)空行),最后一行是我們的數(shù)據(jù)發(fā)送。在這種情況下,php腳本將接收兩個(gè)名為temperature(其值為10)和濕度(其值為20)的變量。

結(jié)論

這篇文章只是在HTTP權(quán)力的表面上擦除。通過在PHP中編碼網(wǎng)站,添加登錄頁面以及了解錯(cuò)誤代碼,我們可以使任何支持互聯(lián)網(wǎng)的設(shè)備從互聯(lián)網(wǎng)獲取信息并將數(shù)據(jù)上傳到網(wǎng)站。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    537

    瀏覽量

    35425
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HTTP物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?有什么功能?

    HTTP物聯(lián)網(wǎng)網(wǎng)關(guān)是連接物聯(lián)網(wǎng)設(shè)備與云端平臺(tái)的核心設(shè)備,它以HTTP協(xié)議為基礎(chǔ),實(shí)現(xiàn)設(shè)備與云端之間的數(shù)據(jù)交互,并具備協(xié)議轉(zhuǎn)換、數(shù)據(jù)預(yù)處理、安全管理和設(shè)備管理等功能 。以下是詳細(xì)介紹: 一、核心定義
    的頭像 發(fā)表于 12-24 11:33 ?352次閱讀
    <b class='flag-5'>HTTP</b>物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?有什么功能?

    HTTP通信網(wǎng)關(guān)是什么?有什么功能?

    的詳細(xì)說明: 核心功能 協(xié)議轉(zhuǎn)換(核心角色) 場(chǎng)景 :當(dāng)客戶端使用HTTP協(xié)議請(qǐng)求非HTTP服務(wù)(如FTP、數(shù)據(jù)庫查詢)時(shí),網(wǎng)關(guān)作為“翻譯器”將HTTP請(qǐng)求轉(zhuǎn)換為目標(biāo)協(xié)議(如FTP命令
    的頭像 發(fā)表于 12-23 11:14 ?458次閱讀

    使用HTTP實(shí)現(xiàn)IAP的方法

    使用 HTTP 協(xié)議進(jìn)行固件升級(jí)沒有使用 TFTP 常見,但是在需要通過 Internet 進(jìn)行遠(yuǎn)程編程時(shí),這種解決方案就顯得極為有用。這時(shí),需要使用 TCP 傳輸協(xié)議來實(shí)現(xiàn) http 服務(wù)
    發(fā)表于 12-16 06:18

    大彩講堂:VisualHMI-LUA教程-set_bit/get_bit函數(shù)應(yīng)用

    set_bit/get_bit函數(shù)應(yīng)用
    的頭像 發(fā)表于 08-31 17:05 ?868次閱讀
    大彩講堂:VisualHMI-LUA教程-set_bit/<b class='flag-5'>get</b>_bit函數(shù)應(yīng)用

    Linux基礎(chǔ)命令which詳解

    在Linux系統(tǒng)中,which命令用于查找并顯示指定命令的可執(zhí)行文件路徑。這對(duì)于系統(tǒng)管理員和開發(fā)人員來說是一個(gè)非常有用的工具,可以幫助定位命令所在的位置,確認(rèn)命令是否已正確安裝,并且能
    的頭像 發(fā)表于 07-29 17:58 ?889次閱讀

    解析K8S實(shí)用命令

    前言: 作為運(yùn)維工程師,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文將深入解析 K8S 最實(shí)用的命令,從基礎(chǔ)操作到高級(jí)技巧,助你成為容器化集群管理專家。
    的頭像 發(fā)表于 07-24 14:07 ?899次閱讀

    一文掌握Linux命令

    作為一名運(yùn)維工程師,熟練掌握Linux命令是基本功中的基本功。無論是日常工作中的系統(tǒng)維護(hù),還是面試時(shí)的技術(shù)考核,Linux命令都是繞不開的核心技能。本文將從實(shí)戰(zhàn)角度出發(fā),系統(tǒng)梳理運(yùn)維工程師必須掌握的Linux命令,并結(jié)合實(shí)際場(chǎng)景
    的頭像 發(fā)表于 07-22 15:23 ?646次閱讀

    PLC通過智能網(wǎng)關(guān)做HTTP協(xié)議通訊,先取得token后再提交獲取JSON格式的數(shù)據(jù)文件

    文件的字段與PLC寄存器地址等參數(shù)即可。 智能網(wǎng)關(guān)IGT-DSER支持POST/GET/PUT等多種方法,可同時(shí)作為HTTP協(xié)議的客戶端和服務(wù)端,支持多設(shè)備同時(shí)接入智能網(wǎng)關(guān),對(duì)接局域網(wǎng)
    的頭像 發(fā)表于 06-17 11:28 ?842次閱讀
    PLC通過智能網(wǎng)關(guān)做<b class='flag-5'>HTTP</b>協(xié)議通訊,先取得token后再提交獲取JSON格式的數(shù)據(jù)文件

    SSH常用命令詳解

    SSH常用命令詳解
    的頭像 發(fā)表于 06-04 11:30 ?2060次閱讀

    如何使用Traceroute命令

    以下是如何使用 traceroute 命令的詳細(xì)指南,包括其語法、選項(xiàng)和實(shí)際示例。
    的頭像 發(fā)表于 06-04 11:28 ?2282次閱讀

    Docker Volume管理命令大全

    Docker Volume管理命令大全
    的頭像 發(fā)表于 05-28 17:14 ?930次閱讀

    不用聯(lián)網(wǎng)不用編程,PLC通過智能網(wǎng)關(guān)快速實(shí)現(xiàn)HTTP協(xié)議JSON格式與MES等系統(tǒng)平臺(tái)雙向數(shù)據(jù)通訊

    智能網(wǎng)關(guān)IGT-DSER支持POST/GET/PUT等多種方法,可同時(shí)作為HTTP協(xié)議的客戶端和服務(wù)端。作為客戶端通訊時(shí)將JSON文件提交給HTTP的服務(wù)端, 如果服務(wù)端有返回的JSON,網(wǎng)關(guān)
    的頭像 發(fā)表于 05-13 14:40 ?1226次閱讀
    不用聯(lián)網(wǎng)不用編程,PLC通過智能網(wǎng)關(guān)快速實(shí)現(xiàn)<b class='flag-5'>HTTP</b>協(xié)議JSON格式與MES等系統(tǒng)平臺(tái)雙向數(shù)據(jù)通訊

    基于RK3576開發(fā)板的http/https通訊

    主要區(qū)別在于HTTPS需要CA證書、使用加密傳輸,且端口號(hào)通常為443,而HTTP為80。HTTP/HTTPS通訊中,客戶端發(fā)送請(qǐng)求報(bào)文,服務(wù)器返回響應(yīng)報(bào)文,請(qǐng)求方法常見有GET和POST。URL(統(tǒng)一
    的頭像 發(fā)表于 05-10 11:24 ?1882次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>http</b>/https通訊

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統(tǒng)中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務(wù),如管理文件和目錄、操作進(jìn)程、網(wǎng)絡(luò)通信、軟件安裝等。
    的頭像 發(fā)表于 05-03 18:08 ?1903次閱讀

    netstat命令怎么看被監(jiān)控?

    要使用netstat命令查看網(wǎng)絡(luò)連接狀態(tài)并判斷是否被監(jiān)控,可以參考以下步驟和命令: 1、查看所有監(jiān)聽端口 使用以下命令查看系統(tǒng)上所有監(jiān)聽的端口及其對(duì)應(yīng)的進(jìn)程: sudo netstat -tulpn
    的頭像 發(fā)表于 04-16 20:36 ?2142次閱讀