成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊關于短鏈接那些事

網絡 通信技術
由于開源項目存在不確定性,不得不自己搭建一套短鏈接服務,滿足使用需求。一是便于維護,二是可以靈活擴展。接下來結合代碼進行分析。

?前言

最近在做一套推廣系統,將其中涉及的長短鏈接問題在這里分享一下。推廣方式主要是以短信方式慰問客戶并推送宣傳鏈接(非廣告),但鏈接真的是太長了,先不說短信按字數收費問題,就是看到就想立刻刪除。所以組織就安排研究如何讓鏈接變短,精簡干練。。。

關于長短鏈接

  • 長鏈接:顧名思義,就是網頁的完整URL地址,點擊即可跳轉至網頁,進行內容瀏覽。
  • 短鏈接:就是將長鏈接進行處理后轉換成長度較小的URL地址,如 https://sourl.cn/upNbxj  則是長鏈接 https://blog.csdn.net/qq_39486758/article/details/126602389 處理之后的結果。
  • 短鏈接相較于長鏈接,會更簡短,便于一些第三方平臺的字符長度限制等問題處理,當然對于小編來說,可以省下不少短信費用,能不能“升官發財”就靠它了~~

長短鏈接原理

  • 當我們在網站輸入短鏈接后,DNS會解析鏈接的ip地址(即短鏈接服務器),然后DNS轉發請求(HTTP GET)至短鏈接服務器,通過短鏈接碼換取對應的完整URL地址,最后短鏈接服務器通過請求(HTTP 301)重定向到完整URL地址,至此完成解析??梢詤⒖紩r序圖:

圖片

注:短鏈接跳轉長鏈接可以采用301(永久重定向),也可以采用302(臨時重定向),區別就是對資源的管理,301會將舊資源永久移除,替換為重定向的新資源;而302還是會保留舊資源,只是重定向到新資源,并不會發生替換,也不會保存新資源。

演示案例

  • 免費的在線工具:

站長之家:https://tool.chinaz.com/tools/dwz.aspx,需要注冊才能使用,畢竟是白嫖的,還是得尊重下~~

短網址:https://www.dwz.lc/,其中提供了設置有效期,訪問密碼等非常完善的功能,使用便捷

  • 自研短鏈接服務:由于開源項目存在不確定性,不得不自己搭建一套短鏈接服務,滿足使用需求。一是便于維護,二是可以靈活擴展。接下來結合代碼進行分析。

首先是生成短鏈接碼的算法工具類,算法不是固定的,可以根據自己習慣或工作要求使用其它的算法生成,最主要是保證短鏈接碼的唯一性。然后就是維護短鏈接的關系映射,此處小編采用的是集合變量,建議采用Mysql等數據庫將關系數據持久化,避免數據丟失,導致訪問失敗。

/**
* 解碼重定向
*
* @param url 原始鏈接的編碼
* @return 重定向
*/
@GetMapping("/redirect/{url}")
public ModelAndView redirect(@PathVariable String url) {
long id = BasetUtil.encode62to10(smartUrl);
String originUrl = urlMap.get(id);
RedirectView redirectView=new RedirectView(originUrl);
// 301永久重定向,避免網絡劫持
redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
return new ModelAndView(redirectView);
}

模擬操作過程:本地啟動短鏈接服務,再啟動一個業務服務作為長鏈接服務,將長鏈接生成短鏈接,然后訪問短鏈接并成功跳轉至長鏈接地址。演示結果

圖片

圖片

圖片

總結

以上就是本文所分享的全部內容,當然不止這一種實現方式,有想法的小伙伴可以私信探討。

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2012-05-01 08:06:49

手機

2011-08-22 16:42:43

SqliteiPad

2012-01-02 19:30:22

iPad

2023-07-31 08:21:22

語法校對器Pick

2020-11-30 13:10:39

MySQL安全服務器

2021-08-06 11:50:49

Linux 字節對齊Linux 系統

2015-09-14 09:28:47

2011-06-30 10:59:43

2011-07-19 15:33:57

iPhone

2009-02-19 10:21:00

路由多WAN口

2021-03-18 16:05:20

SSD存儲故障

2015-08-13 10:54:46

2011-07-04 13:51:02

QT 對象 模型

2011-08-01 17:31:25

Xcode開發 Cocoa

2012-07-13 00:03:08

WEB前端開發WEB開發

2019-12-10 08:00:46

Kata容器Linux

2019-01-07 12:02:02

TCP長連接Java

2024-02-21 07:24:21

微服務單體架構MVC

2022-06-02 08:42:15

Redis數據庫

2017-12-21 08:06:40

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产乱码一区二区三 | 久久精品综合 | 午夜精品久久久久久久99黑人 | 国产成人综合在线 | 国产最新视频在线 | 亚洲视频免费在线 | 99成人| 一区二区国产在线观看 | 91精品中文字幕一区二区三区 | 国产精品永久久久久久久www | 蜜桃av鲁一鲁一鲁一鲁 | 国产特级毛片aaaaaa喷潮 | 久久精品亚洲精品 | 亚洲永久字幕 | 九九免费视频 | 狠狠操狠狠干 | 午夜视频网站 | 九色在线视频 | 黄色片免费看视频 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 成人午夜激情 | 在线视频一区二区 | 日韩免费视频一区二区 | 亚洲丝袜天堂 | 请别相信他免费喜剧电影在线观看 | 国产精品视频不卡 | 一区二区中文字幕 | 一区二区三区免费看 | 天堂在线91 | 日本在线看片 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 欧美成人在线网站 | 五月婷婷激情网 | 国产精品久久久久无码av | 国产高清一区二区 | 国产传媒在线观看 | 国产探花在线精品一区二区 | av网址在线播放 | 日韩欧美网| 欧美成人a∨高清免费观看 91伊人 | 狠狠综合网 |