最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaWeb基礎(chǔ)概念以及與架構(gòu)之間有哪些區(qū)別

 更新時間:2025年12月24日 09:44:24   作者:guslegend  
JavaWeb是基于Java技術(shù)棧開發(fā)的Web應(yīng)用,SpringMVC是實現(xiàn)JavaWeb的一種框架,C/S架構(gòu)和B/S架構(gòu)的區(qū)別主要在客戶端形式、開發(fā)維護成本、響應(yīng)速度和跨平臺能力,本文介紹JavaWeb基礎(chǔ)概念以及與架構(gòu)之間有哪些區(qū)別,感興趣的朋友跟隨小編一起看看吧

什么是JavaWeb?架構(gòu)之間有哪些區(qū)別?

Java Web 定義:

  • JavaWeb是基于Java技術(shù)棧開發(fā)的Web應(yīng)用的總稱;
  • Web(World Wide Web,中文為萬維網(wǎng))是一種基于互聯(lián)網(wǎng)的信息服務(wù)系統(tǒng);
  • 核心是通過瀏覽器訪問全球各地服務(wù)器上的資源;
  • 我們?nèi)粘S脼g覽器刷網(wǎng)頁,看新聞,在線工具都是用的web服務(wù)器;
  • 本質(zhì)是java技術(shù)與web架構(gòu)的結(jié)合,是企業(yè)級web應(yīng)用開發(fā)的主流方向之一;
  • SpringMVC是基于Javaweb實現(xiàn)的。

對比維度

C/S 架構(gòu)(客戶端 / 服務(wù)器)

B/S 架構(gòu)(瀏覽器 / 服務(wù)器)

客戶端形式

專用軟件(需安裝,適配特定系統(tǒng))

通用瀏覽器(無需安裝,跨設(shè)備兼容)

開發(fā)維護成本

高(多平臺開發(fā),客戶端逐個升級)

低(僅維護服務(wù)器,升級同步所有用戶)

響應(yīng)速度

快(本地處理部分邏輯,減少網(wǎng)絡(luò)傳輸)

較慢(依賴網(wǎng)絡(luò)與服務(wù)器,高并發(fā)易卡頓)

跨平臺能力

差(不同系統(tǒng)需單獨開發(fā)客戶端)

好(支持所有帶瀏覽器的設(shè)備)

典型應(yīng)用

游戲客戶端、專業(yè)工具(如 Photoshop)

電商網(wǎng)站、在線文檔、政務(wù)平臺

用戶使用門檻

高(需安裝,對設(shè)備配置有要求)

低(輸入 URL 即可訪問,低配置設(shè)備可用)

Web工作的原理

第1步:用戶發(fā)起請求(輸入URL):在瀏覽器輸入訪問地址

  • 瀏覽器解析URL核心信息,協(xié)議,域名,資源路徑。

第2步:域名解析(將域名轉(zhuǎn)為IP地址):依賴DNS(域名系統(tǒng))

  • 優(yōu)先查詢?yōu)g覽器本地DNS緩存;
  • 如果本地沒有緩存,查詢路由器DNS緩存;
  • 仍無結(jié)果則向運營商DNS服務(wù)器發(fā)起查詢;
  • 運營商DNS服務(wù)器向DNS服務(wù)器查詢;

第3步:建立TPC連接:通過TPC協(xié)議建立可靠網(wǎng)絡(luò)連接(三次握手??

  • 客戶端(瀏覽器)向服務(wù)器發(fā)生"請求連接"數(shù)據(jù)包;
  • 服務(wù)器接受后,返回"同意連接"數(shù)據(jù)包;
  • 客戶端確認(rèn)收到響應(yīng),發(fā)送"連接確認(rèn)"數(shù)據(jù)包,TCP連接正式建立;

第4步:發(fā)送HTTP請求

  • 請求內(nèi)容組成:
    • 請求方法:GET(獲取首頁 HTML 等資源)、POST(提交登錄表單等數(shù)據(jù));
    • 請求頭:包含瀏覽器信息(如 Chrome 版本)、Cookie(登錄狀態(tài))、期望響應(yīng)格式(如 HTML、JSON);
    • 請求體:僅 POST 請求包含(如加密后的用戶名、密碼)。
  • HTTP定義
    • HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)是應(yīng)用層的核心協(xié)議
    • 用于客戶端(如瀏覽器、Postman)與服務(wù)器之間傳輸超文本數(shù)據(jù)(HTML、圖片、視頻、JSON 等)
    • 是萬維網(wǎng)(WWW)服務(wù)的基礎(chǔ)。
    • 瀏覽器與服務(wù)器的通信全依賴 HTTP 協(xié)議
    • 它定義了 “請求該發(fā)什么”“響應(yīng)該怎么回” 的規(guī)則。

第5步:服務(wù)器處理請求并返回響應(yīng)

  • 服務(wù)器協(xié)同處理流程:
    • 應(yīng)用服務(wù)器(如 Nginx)解析請求(識別需返回首頁資源);
    • 若需數(shù)據(jù)支撐(如首頁推薦內(nèi)容),應(yīng)用服務(wù)器向數(shù)據(jù)庫服務(wù)器發(fā)起查詢;
    • 數(shù)據(jù)庫服務(wù)器返回數(shù)據(jù)(如推薦新聞、圖片鏈接);
    • 應(yīng)用服務(wù)器生成響應(yīng)內(nèi)容(HTML 代碼、CSS 樣式、JS 腳本),經(jīng) HTTPS 加密后返回瀏覽器;
  • 響應(yīng)內(nèi)容組成:
    • 響應(yīng)狀態(tài)碼:200(成功)、404(資源不存在)、500(服務(wù)器錯誤)等;
    • 響應(yīng)頭:包含服務(wù)器信息(如 Nginx 版本)、數(shù)據(jù)類型(text/html表示 HTML 頁面)、緩存規(guī)則;
    • 響應(yīng)體:核心資源(HTML 代碼、圖片二進(jìn)制數(shù)據(jù)等)。

第6步:關(guān)閉TCP連接:瀏覽器沒有請求其他資源,會發(fā)生四次揮手

  • 客戶端發(fā)生"關(guān)閉連接"請求;
  • 服務(wù)器放回"準(zhǔn)備關(guān)閉"響應(yīng),等待剩余數(shù)據(jù)傳輸;
  • 服務(wù)器確認(rèn)無剩余數(shù)據(jù),發(fā)生"關(guān)閉連接"請求;
  • 客戶端返回"確認(rèn)關(guān)閉"響應(yīng)。TCP連接正式關(guān)閉;

第7步:瀏覽器解析并渲染頁面

  • 解析 HTML:生成 DOM 樹(描述頁面結(jié)構(gòu),如標(biāo)題、按鈕位置);
  • 解析 CSS:生成 CSSOM 樹(定義頁面樣式,如字體大小、顏色);
  • 結(jié)合 DOM 樹與 CSSOM 樹,生成渲染樹(僅包含需顯示的元素及樣式);
  • 布局(Layout):計算渲染樹中元素的位置和大?。?/li>
  • 繪制(Paint):根據(jù)布局結(jié)果將元素繪制到瀏覽器窗口(填充顏色、渲染圖片);
  • 執(zhí)行 JavaScript:運行頁面 JS 腳本(如搜索框自動補全功能),動態(tài)修改頁面內(nèi)容(更新 DOM 樹、發(fā)送異步請求)。

HTTP和HTTPS核心區(qū)別

HTTP 的明文傳輸存在 “竊聽、篡改、偽造” 風(fēng)險,HTTPS 通過 “TLS/SSL 加密” 解決此問題,兩者核心區(qū)別如下:

對比維度

HTTP

HTTPS

默認(rèn)端口

80

443

數(shù)據(jù)傳輸

明文(可被抓包工具直接查看)

TLS/SSL 加密(抓包僅見密文)

安全性

低(無加密、無身份驗證)

高(加密 + 服務(wù)器身份驗證,需 CA 證書)

性能開銷

無加密 / 解密開銷,速度快

需 TLS 握手、加密 / 解密,性能略低(可優(yōu)化)

證書要求

無需證書

需 CA 機構(gòu)頒發(fā)的 SSL 證書(免費 / 付費)

適用場景

非敏感數(shù)據(jù)(如靜態(tài)文檔、內(nèi)部系統(tǒng))

敏感數(shù)據(jù)(如登錄、支付、電商、個人信息)

HTTP消息結(jié)構(gòu)-請求

什么是http消息結(jié)構(gòu)?

  • HTTP 消息是客戶端與服務(wù)器通信的 “數(shù)據(jù)載體”
  • 遵循 “起始行 + 頭部字段 + 空行 + 消息體” 的格式(空行是必需的,用于分隔頭部和消息體)

請求報文結(jié)構(gòu)

  • 請求報文由客戶端發(fā)送給服務(wù)器,格式如下:
    • 請求行(必需):定義請求方法、目標(biāo)資源、HTTP版本
    • 請求頭(可選):描述請求的元數(shù)據(jù)(鍵值對形式)
    • 空行(必需):標(biāo)識請求頭結(jié)束
    • 請求體(可選):攜帶請求數(shù)據(jù)(如表單、JSON,但get方法不推薦攜帶請求體,卻沒有嚴(yán)格禁止)

請求行詳解

  • 格式:請求方法 + 請求URI + HTTP版本
  • 請求方法:定義對資源的操作(如 GET = 查詢、POST = 提交);
  • 請求 URI:目標(biāo)資源路徑(如/api/user/index.html);
  • HTTP 版本:如HTTP/1.1(最常用)、HTTP/2、HTTP/3。
  • 示例:
GET /user?page=1&size=10 HTTP/1.1  # GET請求:查詢第1頁用戶,每頁10條
POST /api/login HTTP/1.1           # POST請求:提交登錄數(shù)據(jù)
  • 使用瀏覽器開發(fā)者工具查看結(jié)構(gòu)信息

常見請求頭(核心元數(shù)據(jù))

請求頭字段

作用說明

示例

Host

服務(wù)器域名 + 端口(HTTP/1.1 必需,區(qū)分虛擬主機)

Host: example.com:8080

User-Agent

客戶端身份(瀏覽器 / 設(shè)備信息,用于服務(wù)器適配)

User-Agent: Mozilla/5.0 (Windows NT 10.0; ...)

Accept

客戶端可接受的響應(yīng)數(shù)據(jù)類型

Accept: text/html, application/json

Content-Type

請求體的數(shù)據(jù)類型(POST/PUT 時必需)

Content-Type: application/json

Content-Length

請求體的字節(jié)長度(幫助服務(wù)器接收完整數(shù)據(jù))

Content-Length: 56

Cookie

客戶端存儲的 Cookie(用于會話管理)

Cookie: sessionId=abc123; username=test

Connection

是否復(fù)用 TCP 連接(HTTP/1.1 默認(rèn)keep-alive

Connection: keep-alive

請求體示例(POST/PUT 方法)

  • 表單數(shù)據(jù)格式(
Content-Type: application/x-www-form-urlencoded

):text

username=admin&password=123456&remember=true
  • JSON 格式(
Content-Type: application/json

):json

{
  "username": "admin",
  "password": "123456",
  "remember": true
}

HTTP消息結(jié)構(gòu)-響應(yīng)

響應(yīng)報文結(jié)構(gòu)

  • 響應(yīng)報文由服務(wù)器返回給客戶端,格式如下:text
    • 響應(yīng)行(必需):定義HTTP版本、狀態(tài)碼、原因短語
    • 響應(yīng)頭(可選):描述響應(yīng)的元數(shù)據(jù)(鍵值對形式)
    • 空行(必需):標(biāo)識響應(yīng)頭結(jié)束
    • 響應(yīng)體(可選):服務(wù)器返回的實際數(shù)據(jù)(如HTML、JSON)

響應(yīng)行詳解

  • 格式:HTTP版本 + 狀態(tài)碼 + 原因短語
  • 狀態(tài)碼:3 位數(shù)字,標(biāo)識請求處理結(jié)果(如 200 = 成功、404 = 資源不存在);
  • 原因短語:狀態(tài)碼的文字描述(僅輔助理解,程序不依賴)。
  • 示例:text
HTTP/1.1 200 OK              # 請求成功
HTTP/1.1 404 Not Found       # 資源不存在
HTTP/1.1 500 Internal Server Error  # 服務(wù)器內(nèi)部錯誤

常見響應(yīng)頭(核心元數(shù)據(jù))

響應(yīng)頭字段

作用說明

示例

Content-Type

響應(yīng)體的數(shù)據(jù)類型 + 編碼(客戶端解析依據(jù))

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

Content-Length

響應(yīng)體的字節(jié)長度

Content-Length: 2048

Server

服務(wù)器軟件信息(如 Web 服務(wù)器類型)

Server: Nginx/1.21.0

Set-Cookie

服務(wù)器向客戶端寫入 Cookie(會話管理)

Set-Cookie: sessionId=xyz789; Max-Age=3600

Location

重定向的目標(biāo) URL(配合 3xx 狀態(tài)碼使用)

Location: /login

Cache-Control

緩存控制策略(如緩存有效期)

Cache-Control: max-age=86400

Retry-After

服務(wù)不可用時,建議重試的時間(秒,配合 503)

Retry-After: 3600

響應(yīng)體示例

  • HTML 格式(
Content-Type: text/html

):html

<!DOCTYPE html>
<html>
  <head>
    <title>首頁</title>
  </head>
  <body>
    <h1>歡迎訪問HTTP協(xié)議講解頁面!</h1>
    <p>當(dāng)前時間:2024-01-01 12:00:00</p>
  </body>
</html>
  • JSON 格式(
Content-Type: application/json

):json

{
  "code": 200,
  "message": "請求成功",
  "data": {
    "username": "admin",
    "role": "admin",
    "createTime": "2024-01-01"
  }
}

HTTP請求方法

HTTP 請求方法定義

  • HTTP 請求方法是客戶端(如瀏覽器、APP、接口調(diào)用工具)向服務(wù)器發(fā)送請求時,聲明 “請求目的” 的標(biāo)準(zhǔn)化指令
  • 它定義了客戶端希望服務(wù)器對目標(biāo)資源執(zhí)行的操作(如 “獲取資源”“提交數(shù)據(jù)”“更新信息”)。
  • 作為 HTTP 協(xié)議的核心組成部分,請求方法的設(shè)計遵循 “語義化” 原則
    • 不同方法對應(yīng)明確的操作含義,確??蛻舳伺c服務(wù)器之間的溝通統(tǒng)一、無歧義
    • 同時也影響服務(wù)器的處理邏輯(如緩存策略、數(shù)據(jù)修改權(quán)限)。

核心方法如下:

請求方法

核心語義

關(guān)鍵特點

典型應(yīng)用場景

GET

查詢資源

1. 請求參數(shù)在 URL 中(可見);2. 無請求體;3. 冪等;4. 有 URL 長度限制(約 2KB)

訪問頁面、查詢列表(如/user?page=1

POST

提交資源(創(chuàng)建)

1. 請求參數(shù)在請求體中(不可見);2. 非冪等;3. 無長度限制

表單提交、用戶注冊、登錄

PUT

全量更新資源

1. 需提供資源的完整信息;2. 冪等;3. 覆蓋式更新

全量修改用戶信息(如PUT /user/1

DELETE

刪除資源

1. 無請求體(或僅傳輔助參數(shù));2. 冪等

刪除用戶(DELETE /user/1

)、刪除文章

PATCH

部分更新資源

1. 僅需提供需修改的字段;2. 冪等

僅更新用戶手機號(PATCH /user/1

HEAD

獲取資源頭部

與 GET 一致,但無響應(yīng)體(僅返回頭信息)

檢查資源是否存在、獲取緩存信息

關(guān)鍵概念:冪等性

  • 指 “多次執(zhí)行相同請求,結(jié)果完全一致(無副作用)”。例如:GET 查詢 100 次,結(jié)果相同;DELETE 刪除 100 次,第一次刪完后,后續(xù) 99 次仍返回 “刪除成功”(無額外副作用)。

重點:GET 與 POST 的核心區(qū)別

對比維度

GET

POST

數(shù)據(jù)位置

URL 參數(shù)(?key=value

請求體(Form/JSON)

安全性

明文傳輸(不安全,易被抓包)

數(shù)據(jù)在請求體(相對安全,需配合 HTTPS)

冪等性

冪等(適合查詢)

非冪等(適合提交)

緩存支持

瀏覽器默認(rèn)緩存(可通過頭控制)

默認(rèn)不緩存

長度限制

受 URL 長度限制(約 2KB)

無限制

HTTP狀態(tài)碼

什么是HTTP狀態(tài)碼?

  • HTTP 狀態(tài)碼(HTTP Status Code)是服務(wù)器對客戶端(如瀏覽器、APP)發(fā)送的 HTTP 請求的響應(yīng)狀態(tài)標(biāo)識
  • 由 3 位數(shù)字組成(范圍 100-599)
  • 它的核心作用是:讓客戶端快速判斷請求的處理結(jié)果(成功、失敗、需要進(jìn)一步操作等)
  • 無需解析響應(yīng)體內(nèi)容即可了解基本狀態(tài),同時為問題排查(如 “為什么頁面打不開”“為什么登錄失敗”)提供明確方向。

HTTP 狀態(tài)碼分為 5 大類,每類代表不同的 “請求處理狀態(tài)”,開發(fā)中需重點掌握常用狀態(tài)碼:

狀態(tài)碼分類

核心含義

常用狀態(tài)碼及說明

1xx

信息性(臨時響應(yīng))

100 Continue:服務(wù)器已接收請求頭,客戶端可繼續(xù)發(fā)送請求體(多用于大文件 POST)

2xx

成功

200 OK:請求成功(最常用);201 Created:資源創(chuàng)建成功(如 POST 新增用戶);204 No Content:請求成功但無響應(yīng)體(如 DELETE)

3xx

重定向(需額外操作)

301 Moved Permanently:永久重定向(如域名變更);302 Found:臨時重定向(如未登錄跳登錄頁);304 Not Modified:資源未修改,使用本地緩存

4xx

客戶端錯誤

400 Bad Request:請求語法錯誤(如 JSON 格式錯);401 Unauthorized:未認(rèn)證(未登錄);403 Forbidden:權(quán)限不足(如普通用戶訪問管理員接口);404 Not Found:資源不存在(URL 錯);405 Method Not Allowed:請求方法不允許(如用 POST 訪問 GET 接口)

5xx

服務(wù)器錯誤

500 Internal Server Error:服務(wù)器內(nèi)部錯誤(如代碼 BUG);502 Bad Gateway:網(wǎng)關(guān)錯誤(如 Nginx 連不上 Tomcat);503 Service Unavailable:服務(wù)暫時不可用(如維護、負(fù)載過高);504 Gateway Timeout:網(wǎng)關(guān)超時(如 Tomcat 處理太慢)

HTPP版本演進(jìn)

HTTP 協(xié)議不斷迭代,核心目標(biāo)是 “提升性能、優(yōu)化體驗”,各 HTTP 版本核心差異對比:

版本

發(fā)布時間

核心傳輸層

關(guān)鍵特性

主要痛點

當(dāng)前應(yīng)用占比(2025)

HTTP/0.9

1991

TCP

僅 GET、純 HTML、短連接

功能極簡,無錯誤處理

0%(淘汰)

HTTP/1.0

1996

TCP

多方法、HTTP 頭部、多媒體

短連接默認(rèn),無緩存

<1%(老舊設(shè)備)

HTTP/1.1

1999

TCP

長連接、管道化、緩存機制

隊頭阻塞、頭部冗余

40%-50%

HTTP/2

2015

TCP

二進(jìn)制幀(拆分消息為二進(jìn)制格式的小塊)、多路復(fù)用(同時傳輸多個 HTTP 請求 / 響應(yīng))、HPACK(頭部壓縮算法)

TCP 隊頭阻塞

45%-55%

HTTP/3

2022

UDP(QUIC)

無隊頭阻塞、0-RTT、連接遷移

兼容性需完善

10%-20%

關(guān)鍵問題:HTTP/1.1 的 “隊頭阻塞”

  • 指 “同一 TCP 連接中,前一個請求未完成,后續(xù)請求必須排隊等待”—— 若前一個請求超時,后續(xù)所有請求都卡住。HTTP/2 的多路復(fù)用通過 “二進(jìn)制幀拆分” 解決此問題。

到此這篇關(guān)于JavaWeb基礎(chǔ)概念以及與架構(gòu)之間有哪些區(qū)別的文章就介紹到這了,更多相關(guān)JavaWeb基礎(chǔ)概念內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Junit springboot打印測試方法信息

    Junit springboot打印測試方法信息

    這篇文章主要介紹了Junit springboot打印測試方法信息,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • java 輸入一個數(shù)字組成的數(shù)組(輸出該數(shù)組的最大值和最小值)

    java 輸入一個數(shù)字組成的數(shù)組(輸出該數(shù)組的最大值和最小值)

    這篇文章主要介紹了java 輸入一個數(shù)字組成的數(shù)組,輸出該數(shù)組的最大值和最小值,需要的朋友可以參考下
    2017-02-02
  • IDEA的maven設(shè)置代理方式

    IDEA的maven設(shè)置代理方式

    文章介紹了如何設(shè)置IntelliJ?IDEA系統(tǒng)代理,并在Maven的Importing和Runner中添加代理配置,包括設(shè)置代理主機和端口
    2025-01-01
  • SpringBoot自動裝配原理及過程解讀

    SpringBoot自動裝配原理及過程解讀

    文章解析SpringBoot自動裝配機制,結(jié)合SPI源碼分析與手寫Starter實踐,闡述如何通過ServiceLoader和SpringFactoriesLoader實現(xiàn)服務(wù)發(fā)現(xiàn)及動態(tài)配置加載,并利用條件注解@Conditional進(jìn)行智能過濾,最終指導(dǎo)開發(fā)者自定義Starter并配置屬性提示
    2025-09-09
  • Java實現(xiàn)普通類注入service對象

    Java實現(xiàn)普通類注入service對象

    這篇文章主要介紹了Java實現(xiàn)普通類注入service對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 解決 IDEA 創(chuàng)建 Gradle 項目沒有src目錄問題

    解決 IDEA 創(chuàng)建 Gradle 項目沒有src目錄問題

    這篇文章主要介紹了解決 IDEA 創(chuàng)建 Gradle 項目沒有src目錄問題,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • java模擬http的Get/Post請求,并設(shè)置ip與port代理的方法

    java模擬http的Get/Post請求,并設(shè)置ip與port代理的方法

    下面小編就為大家?guī)硪黄猨ava模擬http的Get/Post請求,并設(shè)置ip與port代理的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Spring中的@ExceptionHandler注解統(tǒng)一異常處理詳解

    Spring中的@ExceptionHandler注解統(tǒng)一異常處理詳解

    這篇文章主要介紹了Spring中的@ExceptionHandler注解統(tǒng)一異常處理詳解,當(dāng)我們使用這個@ExceptionHandler注解時,定義一個異常的處理方法,加上@ExceptionHandler注解,這個方法就會處理類中其他方法拋出的異常,需要的朋友可以參考下
    2024-01-01
  • 深入探究Bean生命周期的擴展點Bean Post Processor

    深入探究Bean生命周期的擴展點Bean Post Processor

    在Spring框架中,Bean生命周期的管理是非常重要的一部分,在Bean的創(chuàng)建、初始化和銷毀過程中,Spring提供了一系列的擴展點,其中,Bean Post Processor(后處理器)是一個重要的擴展點,它能夠在Bean的初始化前后做一些額外的處理,本文就和大家一起深入探究
    2023-07-07
  • Java的HashTable源碼解讀

    Java的HashTable源碼解讀

    這篇文章主要介紹了Java的HashTable源碼解讀,HashTable繼承了Dictionary類,提供了一些字典相關(guān)的基本功能如添加、刪除、判空、獲取元素數(shù)量等,需要的朋友可以參考下
    2023-12-12

最新評論

嵊泗县| 长沙县| 呼图壁县| 锡林郭勒盟| 桃园县| 桐乡市| 台山市| 酉阳| 淄博市| 苏尼特右旗| 宿迁市| 明溪县| 友谊县| 拜城县| 资讯 | 长乐市| 拜泉县| 舞钢市| 高要市| 临泉县| 同心县| 蚌埠市| 文山县| 资中县| 古蔺县| 玉田县| 大关县| 柘荣县| 邛崃市| 姜堰市| 南丹县| 义马市| 禄劝| 东丰县| 达尔| 锡林郭勒盟| 巴青县| 天祝| 娄烦县| 建昌县| 蒲江县|