Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]skracanie linków
piotr94
post
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


witam
mam pytanie, czy wiecie na jakiej zasadzie działają mechanizmy skracania linków??
np. http://tnij.org/
czy one po prostu zapisują w bazie danych stronę i kod jej odpowiadający?
z góry dzięki za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
patryczakowy
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Działa to zapewne tak: w bazie danych zapisywany jest adres strony + skrót
a później tylko zapytanie do wyciągnięcia adresu strony i przekierowanie na nią
Go to the top of the page
+Quote Post
piotr94
post
Post #3





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


też tak sądzę, ale to wymaga:
a - dużej bazy
b - liczba linków jest ograniczona długością ciągów
macie może jakieś inne pomysły jak to działa?
Go to the top of the page
+Quote Post
patryczakowy
post
Post #4





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


jak dużej bazy (IMG:style_emoticons/default/questionmark.gif) jedna tabela i trzy kolumny id, skrot, link to jest duża baza (IMG:style_emoticons/default/questionmark.gif) ? właściwie "skrot" może być kluczem bo nie może się powtarzać czyli jak się uprzesz to będziesz miał dwie kolumny. Napisanie samego skryptu to też chwila roboty.
Go to the top of the page
+Quote Post
Pilsener
post
Post #5





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Działa to prosto, dodajesz link do bazy:
1 | link 1
2 | link 2

Potem wysyłane jest żądanie do bazy, typu tnij/1 na podstawie którego pobierany jest link 1 i user jest przekierowany na ten adres. Id można upiększyć, przepuszczając np. przez autorski base64_costamkode. A rozmiar bazy? Nawet kilka milionów rekordów w takiej tabeli + prosty select to tyle co nic, a do dyspozycji masz cały wachlarz mechanizmów optymalizujących:
1. Cachowanie żądań
2. Podział bazy na mniejsze
- np. alfabetycznie
- wg czasu dodania linku
- wg liczby rekordów (np. gdy dochodzimy do miliona zakładamy new table)
- archiwizacja mało popularnych linków (np. w nocy sprawdzasz, że link do Twojej strony jest przekierowywany raz na ruski miesiąc i przenosisz go do archiwum, będzie działał, ale wolniej)
3. Inne metody
- np. jeśli dysponujesz dobrym i dużym dyskiem rezygnujesz z bazy w ogóle tylko tworzysz plik z przekierowaniem, do którego odnosi się dany adres, proste i szybkie, nie?
- wyobraźni użyj (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
piotr94
post
Post #6





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


okej, dzięki za pomoc, rzeczywiście rozmiar takiej bazy nie będzie zbyt duży, bo to same pola tekstowe
a co powiecie na tak zwane ukrywanie prawdziwego adresu (maskowanie całkowite)?
zwykle robią to na ramkach (frameset lub iframe)
swoją drogą przecież nigdy adres nie zostanie całkowicie zamaskowany (zawsze zostaną url'e obrazków itp.)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 12:42