精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通信協議中的HTTP、TCP、UDP你了解多少(下)

jf_78858299 ? 來源:Java架構技術 ? 作者:Java架構技術 ? 2023-02-13 14:23 ? 次閱讀

User-Agent

作用:告訴HTTP服務器, 客戶端使用的操作系統和瀏覽器的名稱和版本.

我們上網登陸論壇的時候,往往會看到一些歡迎信息,其中列出了你的操作系統的名稱和版本,你所使用的瀏覽器的名稱和版本,這往往讓很多人感到很神奇,實際上,服務器應用程序就是從User-Agent這個請求報頭域中獲取到這些信息User-Agent請求報頭域允許客戶端將它的操作系統、瀏覽器和其它屬性告訴服務器。

例如: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)

Connection

例如:Connection: keep-alive 當一個網頁打開完成后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的連接

例如: Connection: close 代表一個Request完成后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接會關閉, 當客戶端再次發送Request,需要重新建立TCP連接。

Content-Length

作用:發送給HTTP服務器數據的長度。

例如: Content-Length: 38

Host(發送請求時,該報頭域是必需的)

作用: 請求報頭域主要用于指定被請求資源的Internet主機和端口號,它通常從HTTP URL中提取出來的

例如: 我們在瀏覽器中輸入:http://www.guet.edu.cn/index.html

瀏覽器發送的請求消息中,就會包含Host請求報頭域,如下:

Host:http://www.guet.edu.cn

此處使用缺省端口號80,若指定了端口號,則變成:Host:指定端口號

Pragma

作用: 防止頁面被緩存, 在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一樣

Pargma只有一個用法, 例如: Pragma: no-cache

Cookie:

作用: 最重要的header, 將cookie的值發送給HTTP 服務器

Accept-Charset

作用:瀏覽器申明自己接收的字符集,這就是本文前面介紹的各種字符集和字符編碼,如gb2312,utf-8(通常我們說Charset包括了相應的字符編碼方案);

我們再看Response消息的結構, 和Request消息的結構基本一樣。 同樣也分為三部分

第一部分叫Response line,

第二部分叫Response header,

第三部分是body. header和body之間也有個空行,

結構如下圖

圖片

HTTP/version-number表示HTTP協議的版本號, status-code 和message 請看下節[狀態代碼]的詳細解釋.

我們用Fiddler 捕捉一個博客園首頁的Response然后分析下它的結構, 在Inspectors tab下以Raw的方式可以看到完整的Response的消息, 如下圖

Cache-Control

作用: 這個是非常重要的規則。 這個用來指定Response-Request遵循的緩存機制。各個指令含義如下

Cache-Control:Public 可以被任何緩存所緩存()

Cache-Control:Private 內容只緩存到私有緩存中

Cache-Control:no-cache 所有內容都不會被緩存

還有其他的一些用法, 我沒搞懂其中的意思, 請大家參考其他的資料

Content-Type

作用:WEB服務器告訴瀏覽器自己響應的對象的類型和字符集,

例如:

Content-Type: text/html; charset=utf-8

Content-Type:text/html;charset=GB2312

Content-Type: image/jpeg

Expires

作用: 瀏覽器會在指定過期時間內使用本地緩存

例如: Expires: Tue, 08 Feb 2022 11:35:14 GMT

Last-Modified:

作用: 用于指示資源的最后修改日期和時間。(實例請看上節的If-Modified-Since的實例)

例如: Last-Modified: Wed, 21 Dec 2011 09:09:10 GMT

Server:

作用:指明HTTP服務器的軟件信息

例如:Server: Microsoft-IIS/7.5

X-AspNet-Version:

作用:如果網站是用ASP.NET開發的,這個header用來表示ASP.NET的版本

例如: X-AspNet-Version: 4.0.30319

X-Powered-By:

作用:表示網站是用什么技術開發的

例如: X-Powered-By: ASP.NET

Connection

例如:Connection: keep-alive 當一個網頁打開完成后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的連接

例如: Connection: close 代表一個Request完成后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接會關閉, 當客戶端再次發送Request,需要重新建立TCP連接。

Content-Length

指明實體正文的長度,以字節方式存儲的十進制數字來表示。在數據下行的過程中,Content-Length的方式要預先在服務器中緩存所有數據,然后所有數據再一股腦兒地發給客戶端。

例如: Content-Length: 19847

Date

作用: 生成消息的具體時間和日期

例如:Date: Sat, 11 Feb 2012 11:35:14 GMT

HTTP協議之Get和Post

Http協議定義了很多與服務器交互的方法,最基本的有4種,分別是GET,POST,PUT,DELETE. 一個URL地址用于描述一個網絡上的資源,而HTTP中的GET, POST, PUT, DELETE就對應著對這個資源的查,改,增,刪4個操作。 我們最常見的就是GET和POST了。GET一般用于獲取/查詢資源信息,而POST一般用于更新資源信息.

我們看看GET和POST的區別

  1. GET提交的數據會放在URL之后,以?分割URL和傳輸數據,參數之間以&相連,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的數據放在HTTP包的Body中.
  2. GET提交的數據大小有限制(因為瀏覽器對URL的長度有限制),而POST方法提交的數據沒有限制.
  3. GET方式需要使用Request.QueryString來取得變量的值,而POST方式通過Request.Form來獲取變量的值,也就是說Get是通過地址欄來傳值,而Post是通過提交表單來傳值。
  4. GET方式提交數據,會帶來安全問題,比如一個登錄頁面,通過GET方式提交數據時,用戶名和密碼將出現在URL上,如果頁面可以被緩存或者其他人可以訪問這臺機器,就可以從歷史記錄獲得該用戶的賬號和密碼.
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HTTP
    +關注

    關注

    0

    文章

    501

    瀏覽量

    31076
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1351

    瀏覽量

    78999
  • UDP
    UDP
    +關注

    關注

    0

    文章

    324

    瀏覽量

    33882
收藏 人收藏

    評論

    相關推薦

    TCP通信協議-Labview上位機

    現在用單片機進行信息采集,通過GPRS模塊上傳到PC,用Labview做上位機,TCP通信協議,想請教一TCP通信協議和Modbus
    發表于 12-10 08:58

    了解MODBUS通信協議

    目錄前言MODBUS協議簡介MODBUS通信格式信息幀格式前言近期需要制作一個MODBUS/RTU轉MODBUS/TCP 的網關。首先需要了解
    發表于 01-14 06:19

    TCPUDP的區別分析

      傳輸層協議主要有TCPUDPUDP提供無連接的通信,不能保證數據包被發送到目標地址,典型的即時傳輸少量數據的應用程序通常使用
    發表于 09-18 10:29 ?2次下載

    (WiFi干貨)WiFi模塊的TCPUDP協議

    TCPUDP都是網絡通信協議,也就是通信時都要遵守的規則,雙方在同一規則”交流”,才能理解或者為之服務.?一、
    的頭像 發表于 09-11 09:02 ?3w次閱讀

    如何使用Socket實現TCPUDP的原理探索

    Socket是傳輸層提供的網絡進程通信接口。它封裝了通信協議族系的不同、同一族系傳輸層不同協議的差別。用戶可以為Socket 機制選取不同的參數,使Socket機制支持不同族系的通信協議
    發表于 11-28 11:54 ?9次下載
    如何使用Socket實現<b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的原理探索

    tcpudp協議的異同

    UDP 校驗和則是包含 UDP 首部和數據在內的校驗結果。 TCP協議 TCP協議基于網絡層的
    的頭像 發表于 11-12 14:45 ?4023次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b><b class='flag-5'>協議</b>的異同

    通信協議HTTPTCPUDP了解多少(上)

    TCP HTTP UDP: 都是通信協議,也就是通信時所遵守的規則,只有雙方按照這個規則“說話”,對方才能理解或為之服務。
    的頭像 發表于 02-13 14:19 ?934次閱讀
    <b class='flag-5'>通信協議</b><b class='flag-5'>中</b>的<b class='flag-5'>HTTP</b>、<b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>你</b><b class='flag-5'>了解</b>多少(上)

    TCP協議UDP協議的區別

    TCP/IP協議中有兩個具有代表性的傳輸層協議,分別是TCP協議UDP
    的頭像 發表于 03-21 10:39 ?1160次閱讀

    一文搞明白TCP協議UDP協議(上)

    網絡編程有三個要素,分別是IP地址、端口號和通信協議,那本文主要講述的是TCPUDP這兩種通信協議,以及編程的實現。 首先,我們需要了解
    的頭像 發表于 05-18 17:17 ?647次閱讀
    一文搞明白<b class='flag-5'>TCP</b><b class='flag-5'>協議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>(上)

    一文搞明白TCP協議UDP協議

    網絡編程有三個要素,分別是IP地址、端口號和通信協議,那本文主要講述的是TCPUDP這兩種通信協議,以及編程的實現。 首先,我們需要了解
    的頭像 發表于 05-18 17:17 ?627次閱讀
    一文搞明白<b class='flag-5'>TCP</b><b class='flag-5'>協議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>(<b class='flag-5'>下</b>)

    基于Socket的UDPTCP編程解析 1

    TCP(傳輸控制協議)和UDP(用戶數據報協議是網絡體系結TCP/IP模型傳輸層一層
    的頭像 發表于 05-18 17:22 ?941次閱讀
    基于Socket的<b class='flag-5'>UDP</b>和<b class='flag-5'>TCP</b>編程解析 1

    IP地址、端口號、通信協議的相關知識 TCPUDP通信協議簡述

    網絡編程有三個要素,分別是IP地址、端口號和通信協議。本文主要講述的是TCPUDP這兩種通信協議,以及編程的實現。首先,我們需要了解
    的頭像 發表于 07-18 11:20 ?1873次閱讀
    IP地址、端口號、<b class='flag-5'>通信協議</b>的相關知識 <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b><b class='flag-5'>通信協議</b>簡述

    TCPUDP協議有什么區別?如何通過網關實現TCP協議通信

    TCP協議是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,能夠保證數據從發送方到達接收方,是物聯網領域常見的通信協議之一。 TCP是面
    的頭像 發表于 01-24 11:07 ?572次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>有什么區別?如何通過網關實現<b class='flag-5'>TCP</b><b class='flag-5'>協議</b><b class='flag-5'>通信</b>?

    了解清楚了嘛-TCPHTTP、MQTT協議

    TCPHTTP 和 MQTT 是三種不同層級和用途的協議是進行設備互聯和傳送數據的重要組成部分;TCP適用高可靠性傳送,HTTP適用Web
    的頭像 發表于 07-11 11:34 ?2672次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b>清楚了嘛-<b class='flag-5'>TCP</b>、<b class='flag-5'>HTTP</b>、MQTT<b class='flag-5'>協議</b>

    tcpudp的區別和聯系

    揮著重要作用。然而,它們在設計、功能和性能方面存在顯著差異。 二、TCPUDP的定義 傳輸控制協議TCPTCP是一種面向連接的、可靠
    的頭像 發表于 08-16 11:06 ?540次閱讀