一種處理連續重定向的方法和裝置的制造方法
【技術領域】
[0001]本申請涉及互聯網領域,尤其是涉及一種處理連續重定向的方法和裝置。
【背景技術】
[0002]在大型網站或者分布式系統中,客戶端(瀏覽器)向服務器發送業務請求時,該業務請求被發送至地址A,之后該業務請求被服務器302重定向到地址B,之后該業務請求被服務器302重定向到地址C,之后該業務請求被服務器302重定向到地址D,以此類推,該業務請求可能被多次進行302重定向。
[0003]但是,瀏覽器對于302重定向的次數是有限制的,如果302重定向的次數超過限制的次數,則瀏覽器會進行報錯處理,如輸出404錯誤。此時,業務將無法繼續進行,即業務將發生中斷,從而影響用戶的業務體驗。
【發明內容】
[0004]本申請實施例提供一種處理連續重定向的方法和裝置,可避免重定向中重定向的次數超過限制的次數導致的報錯處理。
[0005]本申請實施例提供一種處理連續重定向的方法,包括:
[0006]在接收到需要進行重定向處理的業務請求時,確定所述業務請求對應的重定向次數,并判斷所述重定向次數是否達到預設閾值;
[0007]如果是,則中斷所述業務請求的重定向,并在中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址;
[0008]如果否,則將所述業務請求重定向到目的地址。
[0009]所述中斷所述業務請求的重定向,并在中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址的過程,具體包括:
[0010]臨時插入中間頁面,以通過插入所述中間頁面中斷所述業務請求對應的連續重定向;在通過插入所述中間頁面中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址。
[0011]所述中間頁面的超文本標記語言HTML的頭head中包括了用于實現在插入所述中間頁面之后,繼續將所述業務請求重定向到目的地址的預設指令。
[0012]所述中斷所述業務請求的重定向,并在中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址的過程,具體包括:
[0013]調用連續302重定向方法池內配置的中斷方式,并通過所述中斷方式中斷所述業務請求對應的連續重定向;在通過所述中斷方式中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址;其中,所述連續302重定向方法池內配置了用于中斷業務請求的重定向的中斷方式。
[0014]所述方法進一步包括:在內存中存儲業務請求對應的業務標識與重定向次數之間的對應關系;其中,所述重定向次數的初始值為O ;
[0015]每次將業務請求重定向到目的地址時,確定所述業務請求對應的業務標識,并在內存中將所述業務標識對應的重定向次數加I ;
[0016]在中斷業務請求的重定向時,確定所述業務請求對應的業務標識,并在內存中將所述業務標識對應的重定向次數清零。
[0017]所述方法進一步包括:當所述重定向次數未達到預設閾值時,如果有業務請求發生重定向次數超過預設閾值導致的報錯處理,則確定所述業務請求對應的業務標識,并在內存中查詢所述業務標識對應的重定向次數;
[0018]將所述預設閾值調整為所述業務標識對應的重定向次數,并在內存中將所述業務標識對應的重定向次數清零。
[0019]所述在接收到需要進行重定向處理的業務請求之前,所述方法進一步包括:在將業務請求重定向到目的地址的過程中,攔截所有業務請求,以從所有業務請求中選擇出需要進行重定向處理的業務請求。
[0020]所述重定向具體包括302重定向。
[0021]本申請實施例提供一種重定向處理裝置,所述重定向處理裝置包括:
[0022]確定模塊,用于在接收到需要進行重定向處理的業務請求時,確定所述業務請求對應的重定向次數;
[0023]判斷模塊,用于判斷所述重定向次數是否達到預設閾值;
[0024]處理模塊,用于當所述重定向次數達到預設閾值時,中斷所述業務請求的重定向,并在中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址;
[0025]當所述重定向次數未達到預設閾值時,將所述業務請求重定向到目的地址。
[0026]所述處理模塊,具體用于臨時插入中間頁面,以通過插入所述中間頁面中斷所述業務請求對應的連續重定向;在通過插入所述中間頁面中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址。
[0027]所述中間頁面的超文本標記語言HTML的頭head中包括了用于實現在插入所述中間頁面之后,繼續將所述業務請求重定向到目的地址的預設指令。
[0028]所述處理模塊,具體用于調用連續302重定向方法池內配置的中斷方式,并通過所述中斷方式中斷所述業務請求對應的連續重定向;在通過所述中斷方式中斷所述業務請求的重定向之后,繼續將所述業務請求重定向到目的地址;其中,所述連續302重定向方法池內配置了用于中斷業務請求的重定向的中斷方式。
[0029]所述確定模塊,進一步用于在內存中存儲業務請求對應的業務標識與重定向次數之間的對應關系;其中,所述重定向次數的初始值為O ;
[0030]每次將業務請求重定向到目的地址時,確定所述業務請求對應的業務標識,并在內存中將所述業務標識對應的重定向次數加I ;
[0031]在中斷業務請求的重定向時,確定所述業務請求對應的業務標識,并在內存中將所述業務標識對應的重定向次數清零。
[0032]所述確定模塊,進一步用于當所述重定向次數未達到預設閾值時,如果有業務請求發生重定向次數超過預設閾值導致的報錯處理,則確定所述業務請求對應的業務標識,并在內存中查詢所述業務標識對應的重定向次數;
[0033]將所述預設閾值調整為所述業務標識對應的重定向次數,并在內存中將所述業務標識對應的重定向次數清零。
[0034]所述確定模塊,進一步用于在接收到需要進行重定向處理的業務請求之前,在將業務請求重定向到目的地址的過程中,攔截所有業務請求,以從所有業務請求中選擇出需要進行重定向處理的業務請求。
[0035]所述重定向具體包括302重定向。
[0036]本申請實施例中,在對業務請求進行重定向處理之前,重定向處理裝置通過判斷重定向次數是否達到預設閾值,并在重定向次數達到預設閾值時,中斷業務請求的重定向,并在中斷業務請求的重定向之后,繼續將業務請求重定向到目的地址,從而避免重定向的次數超過瀏覽器限制的次數所導致的報錯處理(如404錯誤),繼而避免業務發生中斷以及業務失敗,提高業務體驗和用戶使用感受。
【附圖說明】
[0037]為了更加清楚地說明本申請實施例的技術方案,下面將對本申請實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據本申請實施例的這些附圖獲得其他的附圖。
[0038]圖1是本申請實施例一提供的一種處理連續重定向的方法流程示意圖;
[0039]圖2是本申請實施例二提供的一種重定向處理裝置的結構示意圖;
[0040]圖3是本申請實施例二提供的一種處理連續重定向的方法流程示意圖;
[0041]圖4是本申請實施例三提供的一種重定向處理裝置的結構示意圖。
【具體實施方式】
[0042]下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請的一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0043]實施例一
[0044]針對現有技術中存在的問題,本申請實施例一提供的一種處理連續重定向的方法,應用于包括客戶端、服務器和重定向處理裝置的網絡中,該網絡可以為大型網站或者分布式系統。重定向處理裝置可以作為功能模塊部署在服務器上,重定向處理裝置也可以在網絡中作為單獨的設備。本申請實施例中,重定向處理裝置用于對業務請求的重定向過程進行處理。例如,客戶端(瀏覽器)向服務器發送業務請求(即WEB業務請求)時,該業務請求被發送至地址A。之后的重定向過程均由重定向處理裝置進行處理,如重定向處理裝置將該業務請求重定向到地址B,之后重定向處理裝置將該業務請求重定向到地址C,之后重定向處理裝置將該業務請求重定向到地址D,以此類推。
[0045]在上述應用場景下,如圖1所示,處理連續重定向的方法包括以下