Url shortener - good, bad, ugly

18
URL – Shortener Florian Klien @flowolf @bcgraz - #bcg11

description

 

Transcript of Url shortener - good, bad, ugly

Page 1: Url shortener - good, bad, ugly

URL – Shortener

Florian Klien@flowolf

@bcgraz - #bcg11

Page 2: Url shortener - good, bad, ugly

Was ist ein(e) URL?

scheme://user:passwd@domain:port/path?query_string#anchor

ftp http httpsmailto dns sshgopher imap tel

foo://username:[email protected]:8042/over/there/index.dtb?type=animal;name=ferret#nose \ / \_______________/ \_________/ \__/ \___/ \_/ \_____________________/ \__/ | | | | | | | | | userinfo hostname port | | query fragment | \_______________________________/ \_____________|____|/scheme | | | | | authority |path| | | | | path interpretable as filename | ___________|____________ | / \ / \ | urn:example:animal:ferret:nose interpretable as extension

http://tools.ietf.org/html/rfc3986#page-16

TLDs: .aero .asia .biz .cat .com .coop .edu .gov .info .int .jobs .mil .mobi .museum .name .net .org .pro .tel .travel .ac .ad .ae .af .ag .ai .al .am .an .ao .aq .ar .as .at .au .aw .ax .az .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bv .bw .by .bz .ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cu .cv .cx .cy .cz .de .dj .dk .dm .do .dz .ec .ee .eg .eh .er .es .et .eu .fi .fj .fk .fm .fo .fr .ga .gb .gd .ge .gf .gg .gh .gi .gl .gm .gn .gp .gq .gr .gs .gt .gu .gw .gy .hk .hm .hn .hr .ht .hu .id .ie .il .im .in .io .iq .ir .is .it .je .jm .jo .jp .ke .kg .kh .ki .km .kn .kp .kr .kw .ky .kz .la .lb .lc .li .lk .lr .ls .lt .lu .lv .ly .ma .mc .md .me .mg .mh .mk .ml .mm .mn .mo .mp .mq .mr .ms .mt .mu .mv .mw .mx .my .mz .na .nc .ne .nf .ng .ni .nl .no .np .nr .nu .nz .om .pa .pe .pf .pg .ph .pk .pl .pm .pn .pr .ps .pt .pw .py .qa .re .ro .rs .ru .rw .sa .sb .sc .sd .se .sg .sh .si .sj .sk .sl .sm .sn .so (domain name)|.so .sr .st .su .sv .sy .sz .tc .td .tf .tg .th .tj .tk .tl .tm

.tn .to .tp .tr .tt .tv .tw .tz .ua .ug .uk .us .uy .uz .va .vc .ve .vg .vi .vn .vu .wf .ws .ye .yt .za .zm .zw arpa. .السعودية. امارات рф. .مصر

?f=q&z=18&source=s_q&hl=de&q=graz&sll=47.010957,15.472269&sspn=0.02022,0.040641&ie=UTF8&hq=&hnear=Graz,+Graz+(Stadt),+Steiermark&ll=47.06577,15.442293

Page 3: Url shortener - good, bad, ugly

Wieso Lange URLs?

http://maps.google.at/maps?f=q&source=s_q&hl=de&geocode=&q=graz&sll=47.010957,15.472269&sspn=0.02022,0.040641&ie=UTF8&hq=&hnear=Graz,+Graz+(Stadt),+Steiermark&ll=47.06577,15.442293&spn=0.002525,0.00508&z=18

Page 4: Url shortener - good, bad, ugly

Wieso kürzen?

● Urls merkbar machen● übersichtlich gestalten (e-mails,...)● Twittern

● Statistiken für Links sammeln● Editieren von URLs nach Posten eines Links

Page 6: Url shortener - good, bad, ugly

Risiken & Probleme

● Links werden 'versteckt' (Spam, Scam, Viren,...)

● Ein Glied mehr in der Kette (DNS, Angriffe, Ausfälle,...)

● Informationsgewinnung aus Benutzerprofilen

● Endlos Verlinkungen (blogpost)

Page 7: Url shortener - good, bad, ugly

Funktionsweise

● HTTP 301 Moved Permanently

oder● Frames

● Lookup der Kurz-URL (ID, Nummer, Nick)● Weiterleitung an die lange Adresse (durch

Setzen der Adresse im Header)

Page 8: Url shortener - good, bad, ugly

qr.cx – Was soll der Dienst können?

● Keine Eingabe mittels Textfeldnutzbar von der Seite aus die man kürzen möchte

● Simpel● Kurze Links!● Ein Mehrwert/Kniff/Gimmick --> QR-Codes● API (seit 06/2009)● ablenken von der Bakk. Arbeit ;)

Page 9: Url shortener - good, bad, ugly

qr.cx - Anfänge

● 18. Mai 2009: Prototyping● 1. Juni 09: qr.cx wird registriert● Basiert auf Apache, PHP und MySQL

Weiterleitung mittels HTTP 301● 12. Juni 09: API erblickt das Licht der Welt

Page 10: Url shortener - good, bad, ugly

HTTP-Header

$ curl -I http://qr.cx/1r8HTTP/1.1 301 Moved PermanentlyDate: Sun, 16 May 2010 14:12:07 GMTServer: ApacheX-Powered-By: qr.cx shortyLocation: http://example.comX-Greetz: Have a nice day :)Content-Type: text/html

Page 11: Url shortener - good, bad, ugly

qr.cx - API● 22. Juni 09: erste App inkludiert das API

(shortenurl FireFox plugin)

● August 09: TweetThis WordPress Plugin

Page 12: Url shortener - good, bad, ugly

API

● Einheitliches Interface zu mehreren shortenern:

http://tiny-url.info/api/v1/doc/qr.cx● Ruby library:

https://github.com/hbrandl/qr.cx-ruby-library/

Page 13: Url shortener - good, bad, ugly

qr.cx - Die Praxis

Shortener wird nicht nur von 'den Guten' verwendet

● Spammer &

Illegale Links

[email protected] zur Meldung von Kinderporno

Page 14: Url shortener - good, bad, ugly

HTTP-Header

$ curl -I http://qr.cx/e3mHTTP/1.1 301 Moved PermanentlyDate: Sun, 16 May 2010 14:12:07 GMTServer: ApacheX-Powered-By: qr.cx shortyLocation: http://qr.cx/deleted.phpX-Greetz: Have a nice day :)Content-Type: text/html

Page 15: Url shortener - good, bad, ugly

301 Works.org

betrieben von archive.org

http://301works.org

http://www.archive.org/details/301qrx

Page 16: Url shortener - good, bad, ugly

Finanzierung

Werbung?

beim Weiterleiten? - Nein

Wer will Werbung auf unserer Deleted-Seite kaufen?

Spammer stecken viel Geld in Botnetze um bei uns Links zu kürzen, die wir dann löschen ;)

Page 17: Url shortener - good, bad, ugly

Was wird kommen?

● Detailiertere Statistiken

● Besseres 'User Interface'

● Magnet Links