<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 1.1 如何保持交互的可見性 作為應用協議,HTTP 的設計目標是在客戶端和服務器之間保持對庫、服務器、代理、緩存和其他工具的可見性。可見性是 HTTP 的一個核心特征。按 Roy Fielding 的定義,可見性是“一個組件能夠對其他兩個組件之間的交互進行監視或仲裁的能力。”當協議是可見的時,緩存、代理、防火墻等組件就可以監視甚至參與其中。 #### 問題描述 您想知道可見性的含義,以及如何保持HTTP 請求和響應的可見性。 #### 解決方案 一旦您識別并設計資源,就可以使用 GET 方法獲取資源的表述,使用 PUT 方法更新資源,使用DELETE 方法刪除資源,以及使用 POST 方法執行各種不安全和非冪等的操作。可以添加適當的HTTP 標頭來描述請求和響應。 #### 問題討論 以下特性完全取決于保持請求和響應的可見性: 1. 緩存:緩存響應內容,并在資源修改時使緩存自動失效。 2. 樂觀并發控制:檢測并發寫入,并在操作過期的表述時防止資源發生變更。 3. 內容協商:在給定資源的多個可用表述中,選擇合適的表述。 4. 安全性和冪等性:確保客戶端可以重復或重試特定的HTTP 請求。 當一個 Web 服務無法保持可見性時,以上這些功能將無法正常工作。例如,當服務器對 HTTP的使用方式阻礙樂觀并發時,您可能要被迫自己實現應用特定的并發控制機制。 保持可見性讓您可以使用現有的 HTTP 軟件和基礎設施來實現之前必須自己實現的功能。 HTTP 通過以下途徑來實現可見性: * ? HTTP 的交互是無狀態的,任何HTTP 中介都可以推斷出給定請求和響應的意義,而無須關聯**過去**或**將來**的請求和響應。 * ? HTTP 使用一個統一接口,包括有 OPTIONS,GET,HEAD,POST,DELETE 和 TRACE 方法。接口中的每一個方法操作一個且僅有一個資源。每個方法的語法和含義不會因應用程序或資源的不同而發生改變。這就是為什么HTTP 以統一接口而聞名于世了。 * ? HTTP 使用一種與 MIME 類似的信封格式進行表述編碼。這種格式明確區分標頭和內容。標頭是可見的,除了創建、處理消息的部分,軟件的其他部分都可以不用關心消息的內容。 考慮一個更新資源的HTTP 請求: ~~~ # 請 求 PUT /movie/gone_with_the_wind HTTP/1.1 ? Host: www.example.org ? Content-Type: application/x-www-form-urlencoded summary=...&rating=5&... ? # 響 應 HTTP/1.1 200 OK ? Content-Type: text/html;charset=UTF-8 ? Content-Length: ... <html> ? ... </html> ~~~ ? 請求行包含HTTP 方法、資源路徑和HTTP 版本 ? 請求的表述形式標頭 ? 請求的表述內容 ? 響應狀態行包含HTTP 版本、狀態碼和狀態消息 ? 響應的表述形式標頭 ? 響應的表述內容 這個例子的請求是一個HTTP 消息。消息的第一行描述了客戶端所使用的協議和方法,接下來的兩行是請求頭。簡單查看這三行信息,任何理解HTTP 的軟件都可以明白請求的意圖以及如何解析消息體。響應也是同樣的,響應的第一行表示 HTTP 版本、狀態碼和狀態消息, 接下來的兩行告訴HTTP 軟件如何解釋消息。 對于RESTful Web 服務,您的主要目標必定是盡最大可能保持可見性。保持可見性非常簡單, 使用 HTTP 方法時,其語義要與 HTTP 所規定的語義保持一致,并添加適當的標頭來描述請求和響應。 保持可見性的另一方面是使用適當的狀態碼和狀態消息,以便代理、緩存和客戶端可以決定請求的結果。狀態碼是一個整數,狀態消息是文本。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看