Pobrałem wszystkie programy użytkownika z http://www.user-agents.org/ i uruchomiłem skrypt, aby policzyć liczbę tych, którzy korzystali z +
łączy stylów w porównaniu do zwykłych łączy. Wyłączyłem „niestandardowe” ciągi agenta użytkownika, które nie pasują do RFC 2616.
Oto wyniki:
Total: 2471
Standard: 2064
Non-standard: 407
No link: 1391
With link: 673
Plus link: 145
Plain link: 528
Plus link only: 86
Plain link only: 174
Tak więc spośród 673 programów użytkownika, które zawierają link, tylko 21% zawiera plus. Spośród 260 programów użytkownika, które mają komentarz, który jest tylko linkiem, tylko 33% zawiera plus.
Na podstawie tej analizy plus jest powszechny, ale większość programów klienckich decyduje się go nie używać. Można to pominąć, ale jest na tyle powszechne, że można również to uwzględnić.
Oto skrypt Perla, który przeprowadził tę analizę, jeśli chcesz ją uruchomić samodzielnie.
#!/usr/bin/perl
use strict;
my $doc="";
while(my $line = <>){
$doc.=$line;
}
my @agents = $doc =~ /\<td class\=\"left\"\>[ \t\r\n]+(.*?)\ \;/gs;
my $total = 0;
my $standard = 0;
my $nonStandard = 0;
my $noHttp = 0;
my $http = 0;
my $plusHttp = 0;
my $noPlusHttp = 0;
my $linkOnly = 0;
my $plusLinkOnly = 0;
for my $agent (@agents){
$total++;
if ($agent =~ /^(?:[a-zA-Z0-9\.\-\_]+(?:\/[a-zA-Z0-9\.\-\_]+)?(?: \([^\)]+\))?[ ]*)+$/){
print "Standard: $agent\n";
$standard++;
if ($agent =~ /http/i){
print "With link: $agent\n";
$http++;
if ($agent =~ /\+http/i){
print "Plus link: $agent\n";
$plusHttp++;
} else {
print "Plain link: $agent\n";
$noPlusHttp++;
}
if ($agent =~ /\(http[^ ]+\)/i){
print "Plain link only: $agent\n";
$linkOnly++;
} elsif ($agent =~ /\(\+http[^ ]+\)/i){
print "Plus link only: $agent\n";
$plusLinkOnly++;
}
} else {
print "No link: $agent\n";
$noHttp++;
}
} else {
print "Non-standard: $agent\n";
$nonStandard++;
}
}
print "
Total: $total
Standard: $standard
Non-standard: $nonStandard
No link: $noHttp
With link: $http
Plus link: $plusHttp
Plain link: $noPlusHttp
Plus link only: $plusLinkOnly
Plain link only: $linkOnly
";