精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何設計一個短鏈服務?

開發 前端
本文首先講了短鏈存在的三個價值:簡潔、易于使用、節省成本,接著講了短鏈的原理是 HTTP 重定向,最后著重講了短鏈服務的設計思路。

?大家好,我是樹哥。

相信很多小伙伴都使用過短鏈服務,但如果讓你實現一個短鏈服務,你知道怎么實現嗎?其實實現短鏈服務并不是很難,最主要還是需要知道一些設計思路,還需要有一些基礎技術知識,例如:哈希算法、全局發號器等。

短鏈服務的設計場景題,也是國內很多公司的面試題,很多朋友面試的時候都被問到了。今天一起來學習下如何設計一個短鏈服務吧!

短鏈的價值

網址大家都知道,很長的一串字符串,很多時候我們還會在后面添加非常多的參數,用來便于做數據統計。下面就是微信公眾號一篇文章的地址,可以看到其特別長,估計將近有幾百個字符。

https://mp.weixin.qq.com/s?__biz=MzA4MjIyNTY0MQ==&mid=2647743787&idx=1&sn=1caec8eb1b81d6ee5dd7ba7fa05ac0f1&chksm=87ad0dadb0da84bb7beb5e4373a14e89fba1130c1bd2a51f4baa8021ec0abe496ce94603b6b4&token=894028224&lang=zh_CN#rd

我們可以用百度的短網址功能,把上面的網址縮短成只有差不多 10 個字符串的長度,如下所示。

http://dwz.cn/iijg

用短鏈代替長鏈,有下面幾個常見的好處:

更加簡潔。比起一長串無意義的問題,只有差不多 10 個字符的字符串顯然更加簡潔。

便于使用。第一,有些平臺對內容長度有限制(微博只能發 140 個字),此時短網址就可以輸入更多內容。第二,我們將鏈接轉為二維碼時,短鏈接生成的二維碼更容易識別。第三,有些平臺無法識別特殊的長鏈參數,轉為短鏈就沒這個問題。

節省成本。當我們需要發短信的時候,短信是按照長度計費的,短網址可以節省成本。

短鏈的原理

短鏈能夠給我們帶來這么多好處,但它是怎么工作的呢?

當我們輸入短鏈時,其實訪問的是短鏈服務器的地址。短鏈服務器獲取到對應的長鏈地址之后,返回一個 302 的 HTTP 響應,在響應中包含了長鏈接地址。瀏覽器收到響應后,轉而去請求長鏈接地址。 訪問短鏈的整個流程如下圖所示:

圖片

短鏈訪問原理 - 來自網絡

從上面的流程中可以知道,短鏈涉及到的技術原理主要有兩點,分別是:HTTP 重定向和短鏈服務的設計。

對于 HTTP 重定向來說,301 和 302 都是重定向,那么到底應該用哪個呢?

  • 301 代表永久重定向。它表示第一次拿到長鏈接之后,下次瀏覽器如果再去請求短鏈的話,不會再向短鏈服務器請求了,而是直接從瀏覽器的緩存中獲取。
  • 302 代表臨時重定向。它表示每次請求短鏈都會去請求短鏈服務器,不會從瀏覽器緩存中獲取。

如果我們希望統計短鏈接的點擊次數信息,從而來分析活動的效果的話。那么我們就需要使用 302 重定向碼,這樣才能獲取到每次的請求數據。 一般情況下,我們都是需要獲取到請求的數據的,因此對于短鏈服務都是用 302 臨時重定向。

實現思路

讓大家設計這樣一個系統,大家會有啥思路呢?

我們可以先分析一下整個系統的處理流程:

  • 用戶訪問短鏈生成頁面,輸入長鏈字符串,短鏈服務返回生成的短鏈。
  • 用戶訪問短鏈,短鏈服務返回 302 響應,用戶瀏覽器跳轉到長鏈地址。

如果我們要實現上面的系統流程,我們大致的處理思路是:

  • 生成短鏈。生成短鏈時,短鏈服務獲取到長鏈,隨后生成一個短鏈,并把短鏈與長鏈的映射關系保存下來,最后將短鏈返回給用戶。
  • 找到長鏈。訪問短鏈時,短鏈服務獲取到短鏈,根據短鏈去獲取到長鏈,返回返回 302 響應。

根據上面的分析,我們可以知道短鏈系統設計主要得解決如下兩個問題:

  • 如何根據長鏈生成唯一短鏈?
  • 如何保存短鏈與長鏈的映射關系?

對于第 2 點,保存短鏈與長鏈的映射關系,考慮到持久性的問題,我們肯定需要落庫,所以使用 MySQL 表保存即可。如果有需要的話,可以在 MySQL 前做一層緩存。因此第 2 點相對來說比較簡單。

對于第 1 點,我們有 2 個思路生成一個唯一短鏈,分別是:

  • 使用哈希算法生成唯一值
  • 使用分布式唯一 ID 生成作為鍛煉 ID

下面我們針對這兩個方案進行詳細的分析。

哈希算法生成短鏈

要生成一個短鏈,我們可以將原有的長鏈做一次哈希,然后就可以得到一個哈希值,如下面所示。

https://mp.weixin.qq.com/s?__biz=MzA4MjIyNTY0MQ==&mid=2647743787&idx=1&sn=1caec8eb1b81d6ee5dd7ba7fa05ac0f1&chksm=87ad0dadb0da84bb7beb5e4373a14e89fba1130c1bd2a51f4baa8021ec0abe496ce94603b6b4&token=894028224&lang=zh_CN#rd

29541341303115543223957290326355

那么我們遇到的第一個問題:使用什么哈希算法?

我們都知道哈希算法是一種摘要算法,它的作用是:對任意一組輸入數據進行計算,得到一個固定長度的輸出摘要。我們常見的哈希算法有:MD5、SHA-1、SHA-256、SHA-512 算法等。但我們最好還是使用另一種叫做 MurmurHash 的哈希算法。為什么呢?

因為 MD5 和 SHA 哈希算法,它們都是加密的哈希算法,也就是說我們無法從哈希值反向推導出原文,從而保證了原文的保密性。

但對于我們這個場景而言,我們并不關心安全性,我們關注的是運算速度以及哈希沖突。而 MurmurHash 算法是一個非加密哈希算法,所以它的速度回更快。

這時候我們會遇到第二個問題:哈希沖突

學過 HashMap 的同學都知道,哈希沖突是哈希算法不可避免的問題。而解決哈希沖突的方式有兩種,分別是:鏈表法和重哈希法。HashMap 使用了鏈表法,但我們這里使用的是重哈希法。

所謂的重哈希法,指的是當發生哈希沖突的時候,我們在原有長鏈后面加上固定的特殊字符,后續拿出長鏈時再將其去掉,如下所示。

原有長鏈:https://mp.weixin.qq.com/s1caec8eb1b81d6ee5dd7b
↓↓
發生哈希沖突
↓↓
補上特殊字符:https://mp.weixin.qq.com/s1caec8eb1b81d6ee5dd7b[SPECIAL-CHARACTER]
↓↓
再次進行哈希

通過這種辦法,我們就可以解決哈希沖突的問題了。如果再次發生,那么就再進行哈希,一直到不沖突位置。一般來說,哈希沖突的可能性微乎其微。

好了,現在我們通過哈希算法得到了一個哈希值:29541341303115543223957290326355?,變成了這樣:http://dwz.com/29541341303115543223957290326355。

原本很長的網址變得比較短了,但整體看起來還是有點長。

有沒有辦法讓網址變得再短一點呢?

我們知道在網址 URL 中,常用的合法字符有 0~9、a~z、A~Z 這樣 62 個字符。如果我們用哈希值與 62 取余,那么余數肯定是在 0-61 之間。

這 62 個數字剛好與 62 個合法網址字符一一對應。接著,我們再用除 62 得到的值,再次與 62 取余,一直到位 0 為止。通過這樣的處理,我們就可以得到一個字符為 62 個字符、長度很短的字符串了。

上面講有點晦澀難懂,我們來舉個例子。假設我們得到的哈希值為 181338494,那么上面的處理流程為:

  • 將 181338494 除以 62,得到結果為 2924814,余數為 26,此時余數 26 對應字符為 q。
  • 將 2924814 除以 62,得到結果為 47174,余數為 26,此時余數 26 對應字符為 q。
  • 將 47174 除以 62,得到結果為 760,余數為 54,此時余數 54 對應字符為 S。
  • 省略剩余步驟

整個處理流程如下圖所示:

圖片

轉為 16 進制數示意圖 - 來自極客時間

可以看到,我們把 181338494 這個十進制數,轉成了由合法網址字符組成的「62 進制數」—— cgSqq。

到這里,我們不僅生成了短鏈,還將短鏈的長度極大地縮短了。

這就是使用哈希算法生成唯一鍛煉的全部內容了,我們總結一下:首先,使用 MurmurHash 生成哈希值,并且用重哈希法解決哈希沖突的問題。接著,將 10 進制的哈希值轉成 62 進制的合法網址字符,從而縮短網址長度。

分布式 ID 生成短鏈

上面使用哈希算法生成唯一短鏈的方式,相對來說是比較形象的。但其實我們也可以用分布式 ID 的方式,來完成唯一短鏈的生成。

例如第一次請求的長鏈,我們為其生成一個唯一 ID,將其長鏈與唯一 ID 對應起來。第二次請求,我們再為其生成一個唯一 ID,再次將長鏈與唯一 ID 對應起來,如下所示。

第一次請求:https://mp.weixin.qq.com/s1caec8eb1b81d6ee5dd7b
↓↓
生成短鏈:https://dwz.com/1021000001

第一次請求:https://mp.weixin.qq.com/s1caec8eb1b81d6ee5ff7b
↓↓
生成短鏈:https://dwz.com/1021000002

因為生成的唯一 ID 也可能非常長,因此我們可以采用上面同樣的方式,將 10 進制的唯一 ID 轉成 62 進制的合法網址字符,從而縮短字符長度。

那么接下來的問題就變成了:如何設計一個全局唯一 ID 發號器了。

對于如何設計一個全局唯一的 ID 發號器,就屬于另外一個話題,我們這里就不深入探討了。

性能優化

看到這里,我們基本上有了一個完整的思路:拿到長鏈地址后,可以用哈希算法或唯一 ID 分號器獲取唯一字符串,從而建立長鏈與短鏈的映射關系。為了縮短短鏈長度,我們還可以將其用 62 進制數表示,整個短鏈生成過程如下圖所示。

圖片

短鏈生成示意圖

短鏈生成完,并且已經存到了數據庫中,接下里該使用了。通常的做法是會根據請求的短鏈字符串,從數據庫中找到數據,然后返回 HTTP 重定向原始地址。而在不斷使用過程中,還有一些可能發現的優化點,這里簡單講講。

索引優化

如果使用關系型數據庫的話,對于短鏈字段需要創建唯一索引,從而加快查詢速度。

增加緩存

并發量小的時候,我們都是直接訪問數據庫。但當并發量再次升高時,需要加上緩存抗住熱點數據的訪問。

讀寫分離

短鏈服務肯定是讀遠大于寫的,因此對于短鏈服務,可以做好讀寫分離。

分庫分表

如果是商用的短鏈服務,那么數據量上億是很正常的,更不用說常年累月積累下的量了。這時候可以一開始就做好分庫分表操作,避免后期再大動干戈。

對于分庫分表來說,最關鍵的便是根據哪個字段去作為分庫分表的依據了。對于短鏈服務來說,當然是用轉化后的 62 進制數字做分表依據了,因為它是唯一的嘛。

至于怎么分庫分表,就涉及到分庫分表方面的知識,以及對于系統容量的預估了,這里就不細說了。有機會的話,我們找個時間來深入講講這方面的內容。

防止惡意攻擊

開放到公網的服務,什么事情都可能發生,其中一個可能的點就是被惡意攻擊,不斷循環調用。

一開始我們可以做一下簡單地限流操作,例如:

沒有授權的用戶,根據 IP 進行判斷,1 分鐘最多只能請求 10 次。

沒有授權的用戶,所有用戶 1 分鐘最多只能請求 4000 次,防止更換 IP 進行攻擊。

簡單地說,就是要不斷提高攻擊的成本,使得最壞情況下系統依然可以正常提供服務。

總結

本文首先講了短鏈存在的三個價值:簡潔、易于使用、節省成本,接著講了短鏈的原理是 HTTP 重定向,最后著重講了短鏈服務的設計思路。

在短鏈服務的設計思路上,最重要是解決兩個問題:根據長鏈生成短鏈、根據短鏈找到長鏈。在根據長鏈生成短鏈的思路上,我們講了兩種實現思路,分別是:哈希算法生成短鏈、分布式全局 ID 生成短鏈,其中哈希算法涉及到哈希算法的選擇,以及哈希沖突的處理。

最后我們還列舉了一些短鏈服務后續可能的優化點,包括:如何讓網址變得更短、索引優化、增加熱點數據、讀寫分離、分庫分表、防止惡意攻擊等等。

圖片

如何設計一個短鏈服務?

參考資料

  • 系統設計系列之如何設計一個短鏈服務_架構_看山_InfoQ 寫作社區
  • 挺好!VIP!實戰經驗!高性能短鏈設計 - 掘金
  • 【原創】這可能是東半球最接地氣的短鏈接系統設計 - 孤獨煙 - 博客園
  • 不錯,這個很全面!VIP!面試官:如何設計一個短鏈接系統 – 小黑說
  • 56 | 算法實戰(五):如何用學過的數據結構和算法實現一個短網址系統?
  • 當成一個甜點來吃。短 URL 系統是怎么設計的?- iammutex 的回答 - 知乎
  • 哈希算法 - 廖雪峰的官方網站

責任編輯:武曉燕 來源: 樹哥聊編程
相關推薦

2025-06-04 03:15:00

高并發短鏈系統

2023-07-26 13:29:43

高性能短鏈系統

2025-09-15 10:05:00

后端URL短鏈

2025-09-28 01:50:00

2024-07-22 11:48:42

2022-10-09 14:15:42

短鏈設計

2025-06-23 08:23:04

2024-11-12 08:13:09

2024-11-19 16:31:23

2022-09-13 17:45:40

長網址短鏈系統

2023-08-10 10:13:35

轉轉短鏈平臺

2021-05-20 13:22:31

架構運維技術

2018-09-10 15:14:27

前端WebURL

2022-11-08 08:35:53

架構微服務移動

2020-03-26 09:36:06

AB Test平臺的流量

2018-09-18 09:38:11

RPC遠程調用網絡通信

2020-08-13 17:59:20

區塊鏈區塊鏈項目數字貨幣

2021-02-24 13:58:07

區塊鏈比特幣安全

2020-12-11 11:19:54

區塊鏈資金投資

2013-07-01 11:01:22

API設計API
點贊
收藏

51CTO技術棧公眾號

日韩综合一区二区| 免费精品一区| 1区2区3区国产精品| 99re国产视频| 在线精品免费视| 99成人在线视频| 亚洲黄色有码视频| 在线观看免费av网址| а√天堂8资源中文在线| 国产午夜精品久久久久久免费视 | 蜜桃av色综合| 精品国产www| 韩国欧美一区| 色老头一区二区三区| 久久久久久婷婷| 欧美一级免费| 欧美性猛交xxxx免费看漫画 | 99精品国产99久久久久久福利| 在线看片第一页欧美| 欧美极品jizzhd欧美仙踪林| 国产91欧美| 欧美特级www| 日韩欧美猛交xxxxx无码| seseavlu视频在线| 91亚洲精华国产精华精华液| 91香蕉亚洲精品| 中文字幕人妻互换av久久| 一区二区高清| 欧美精品久久一区二区| 51精品免费网站| 欧洲激情综合| 国产视频欧美视频| 美女黄色一级视频| 欧美大片91| 欧美日本一区二区| 韩国中文字幕av| 日韩欧美一区二区三区免费观看| 亚洲v精品v日韩v欧美v专区| 996这里只有精品| 亚洲羞羞网站| 亚洲女人****多毛耸耸8| 亚洲欧美日韩综合一区| www亚洲人| 久久经典视频| 一区二区蜜桃| 中文字幕在线看片| 午夜视频一区在线观看| 久久久久久久香蕉| 2024最新电影免费在线观看| 亚洲色图清纯唯美| 中国老女人av| 亚洲精品天堂| 午夜精品久久久久久久99樱桃| 女人被男人躁得好爽免费视频 | 美日韩精品免费视频| 久久av红桃一区二区禁漫| 日韩精品影视| 久久精品视频在线观看| 岛国片在线免费观看| 91精品啪在线观看国产81旧版| 久久精品国产久精国产一老狼| 91大神福利视频| 亚洲国产一区二区在线观看 | 亚洲第一天堂无码专区| 男男做爰猛烈叫床爽爽小说| 日韩欧美黄色| 国产一区二区三区高清在线观看| 午夜影院黄色片| 欧美a级片视频| 美女福利视频一区| 国产乡下妇女做爰视频| 亚洲一区一卡| 国产精品视频地址| 国产麻豆91视频| 成人中文字幕电影| 蜜桃传媒一区二区| 在线毛片网站| 亚洲电影一区二区| 老熟妇仑乱视频一区二区| julia一区二区三区中文字幕| 欧美精品一二三四| 岛国精品一区二区三区| 宅男在线一区| 久久综合电影一区| 亚洲欧美在线观看视频| 日本亚洲最大的色成网站www| 国产综合在线观看视频| 精品国产区一区二| 久久一区二区三区国产精品| 一区二区三区四区视频在线观看| 久草成色在线| 欧美日韩视频免费播放| 日本a视频在线观看| 国产精品无码久久久久| 亚洲国产日韩精品在线| 中文字幕精品亚洲| 99精品国产99久久久久久福利| 国产精品影院在线观看| 天天干天天摸天天操| 中文成人综合网| 日韩一级性生活片| 黄色日韩网站| 日韩成人中文电影| 中文字幕在线观看成人| 日韩av成人高清| 国产成人一区二区三区免费看| 国产一区二区三区不卡在线| 亚洲成人tv网| 热久久久久久久久| 精品72久久久久中文字幕| 欧美激情亚洲综合一区| 在线播放成人av| 91首页免费视频| 国产激情片在线观看| 日本中文字幕一区二区| 亚洲成人网在线观看| 久久精品亚洲a| 久久精品伊人| 久久综合一区二区三区| 欧美韩日亚洲| 欧美一区二区日韩一区二区| jizz中文字幕| 久久一区二区三区超碰国产精品| 国产精品毛片va一区二区三区| 亚洲永久在线观看| 麻豆精品国产传媒av| 日韩欧美自拍| 日韩美女免费线视频| 亚洲精品一区二区三区蜜桃| 国产精品色婷婷| 久久久久国产精品熟女影院| 欧美交a欧美精品喷水| 欧美激情精品久久久久久| 国产精品爽爽久久| 亚洲欧洲精品一区二区精品久久久| 日韩精品免费播放| 综合国产视频| 国产999在线观看| 欧洲成人av| 欧美午夜精品久久久久久浪潮 | 国产成人精品一区二区三区网站观看| 亚洲啪啪av| 国产精品.xx视频.xxtv| 中文字幕日韩av综合精品| 在线亚洲欧美日韩| 中文字幕一区二区三区色视频| 亚洲精品乱码久久久久久自慰| 黄色毛片在线观看| 2023国产精品自拍| 精品视频在线观看一区| 高清精品xnxxcom| 久久久久久久久久久久久久久久久久av | 国产成人精品视频| 欧美一区二区视频| 91国模大尺度私拍在线视频| 天天干天天舔天天操| 蜜臀精品一区二区三区在线观看| 亚洲国产日韩欧美| 成人在线视频区| 欧美另类极品videosbest最新版本 | 久久久久黄久久免费漫画| 亚洲精品在线网站| 国偷自拍第113页| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美亚洲国产成人| 成人激情诱惑| 亚洲免费观看高清在线观看| 亚洲影院色无极综合| 中文字幕中文字幕在线中高清免费版| 欧美一区二区三区四区视频| 九九热精品在线观看| www.66久久| 能在线观看的av网站| 欧美黄色录像片| 亚洲日本丝袜连裤袜办公室| 国产精品区在线| 我不卡伦不卡影院| 国产成人看片| 色天使综合视频| 久久亚洲精品毛片| 午夜成人免费影院| 欧美日韩国产系列| 国产一级做a爰片在线看免费| 91免费观看视频在线| 少妇一级淫免费放| 亚洲男女av一区二区| 91传媒视频在线观看| 蜜桃在线视频| 最近中文字幕日韩精品 | 波多野结衣家庭教师在线观看 | 天堂资源在线中文| 日韩欧美国产一二三区| 久久久久在线视频| 一区二区高清在线| 亚洲图片另类小说| 丁香婷婷综合激情五月色| www黄色在线| 亚洲区一区二| 91麻豆天美传媒在线| 伊人成综合网伊人222| 666精品在线| 成人国产在线| 欧洲亚洲女同hd| 中文字幕免费高清电视剧网站在线观看 | 国产素人视频在线观看| 国产一区二区三区高清播放| 亚洲人成无码网站久久99热国产 | 日韩成人免费在线视频| 中文字幕不卡的av| 亚洲观看黄色网| 狠狠色丁香婷婷综合| 成人小视频在线看| 精品69视频一区二区三区Q| 亚洲最大色综合成人av| 最新精品国偷自产在线| 成人免费看片网址| 99精品视频在线免费播放| 国产精品久久999| 午夜伦理福利在线| 性日韩欧美在线视频| 四虎亚洲精品| 久久亚洲国产精品| 日本高清中文字幕在线| 国产一区二区三区在线观看视频 | 手机在线观看免费av| 欧美日韩精品是欧美日韩精品| 欧美福利视频一区二区| 一区二区三区不卡视频| 亚洲欧美精品aaaaaa片| 国产精品乱人伦一区二区| 国产成人精品电影久久久| 最新日本在线观看| 色偷偷9999www| 高清在线观看av| 亚洲三级av在线| 五月婷婷狠狠干| 亚洲高清在线观看| 日韩性xxxx| 亚洲精品一区二区三区四区高清| www.五月激情| 日韩视频免费直播| xxxx国产精品| 日韩欧美在线一区二区三区| 精品区在线观看| 日韩欧美不卡在线观看视频| 国产高潮在线观看| 欧美zozozo| 亚洲精品久久久久久久久久| 精品精品国产高清a毛片牛牛| 性色av蜜臀av| 亚洲第一精品夜夜躁人人躁| 五月婷婷丁香网| 亚洲日本欧美中文幕| 阿v免费在线观看| 俺去了亚洲欧美日韩| 宅男在线观看免费高清网站| 欧美日韩高清在线观看| 欧亚在线中文字幕免费| 欧洲一区二区视频| 久久三级毛片| 亚洲一区二区三区毛片| 97久久综合区小说区图片区| 一区二区中文字幕| lutube成人福利在线观看| 中文字幕亚洲专区| 成人午夜在线影视| 久久久久久久久网站| 黄色在线网站噜噜噜| 日本国产高清不卡| 91欧美精品| **亚洲第一综合导航网站| 午夜在线播放视频欧美| 亚洲一区二区三区四区视频| 午夜久久av| 久久精品国产精品青草色艺| 精品一区欧美| 中文字幕精品—区二区日日骚| 午夜天堂精品久久久久| 国产免费黄色av| 看国产成人h片视频| 岛国大片在线免费观看| 91色porny在线视频| 亚洲bt天天射| 日本成人a网站| 亚洲欧美日韩在线综合| 精品成人国产| 人人爽人人av| 懂色av噜噜一区二区三区av| 欧美多人猛交狂配| 一个色妞综合视频在线观看| 五月婷婷激情视频| 日韩一区二区三区免费观看| 欧美日韩国产中文字幕在线| 伦理中文字幕亚洲| 久久91导航| 国产精品二区在线| 日韩精品久久久久久久电影99爱| 丰满少妇大力进入| 九九**精品视频免费播放| 波多野结衣影院| ㊣最新国产の精品bt伙计久久| 成人免费a视频| 日韩三级高清在线| 国产视频二区在线观看| 日韩欧美大片| 精品伦理一区二区三区| 国产精品久久久久久久久久10秀 | 三上悠亚ssⅰn939无码播放 | 国产色99精品9i| 日本视频一区在线观看| 亚洲一区在线观| 欧美一级在线观看| 国产女人在线观看| 午夜精品国产精品大乳美女| 97久久精品一区二区三区的观看方式| 欧美日韩在线高清| 亚洲性视频h| 色黄视频免费看| 中文字幕一区二区三区四区| 久久人人爽人人爽人人片av免费| 亚洲高清福利视频| 污污网站在线看| 成人性生交大片免费看视频直播 | 中文字幕第50页| 麻豆成人免费电影| 免费黄色片网站| 色爱区综合激月婷婷| 五月婷婷六月丁香综合| 久久久这里只有精品视频| 精品国模一区二区三区欧美| 亚洲一区精品视频| 老司机午夜精品| 女女互磨互喷水高潮les呻吟| 欧美视频中文在线看| 五月天激情婷婷| 97久久精品国产| 欧美巨大xxxx| 日本精品www| 久久综合九色综合欧美亚洲| 91国产丝袜播放在线| 日韩av网站导航| 久久男人av资源站| 久久影视中文粉嫩av| 久久xxxx精品视频| 一级肉体全黄裸片| 欧美日韩一区二区三区免费看| 成人免费高清在线播放| 国产精品久久中文| 欧美成人milf| 亚洲一区二区福利视频| 一区二区三区中文字幕电影| 精品国产999久久久免费| 欧美成人免费一级人片100| 欧美9999| 成 年 人 黄 色 大 片大 全| 97国产一区二区| 91video| 中文字幕精品网| 国模大尺度视频一区二区| 一级特黄妇女高潮| 成人精品视频一区二区三区 | 国产一区二区三区不卡在线观看| 在线免费日韩av| 亚洲国产小视频在线观看| 伊人久久国产| 亚洲人成网站在线播放2019| 国产乱子伦一区二区三区国色天香 | 久久精品播放| 麻豆av免费看| 在线日韩一区二区| 免费的黄网站在线观看| 99一区二区| 久久国产欧美| 我要看黄色一级片| 亚洲成人aaa| 九色成人搞黄网站| 国产av熟女一区二区三区 | 国产成人自拍网站| 亚洲国产古装精品网站| 色婷婷综合久久久中字幕精品久久| 国产精品亚洲天堂| 97超碰欧美中文字幕| 国产伦精品一区二区三区四区| 高清一区二区三区四区五区| 精品久久久久久久| wwwxx日本| 欧美视频完全免费看| 高清电影在线免费观看| 欧美一区二区三区精美影视| 国产精品一二三在| 在线观看日本视频| 久久91精品国产91久久久| 狠狠操综合网| 95视频在线观看| 69堂亚洲精品首页| 在线观看精品| 免费超爽大片黄| 亚洲日本乱码在线观看| 免费福利在线观看| 国产精品久久久久久久天堂第1集|