Tôi đã tải xuống tất cả các tác nhân người dùng từ http://www.user-agents.org/ và chạy một đoạn script để đếm số lượng chúng sử dụng các +
liên kết kiểu so với các liên kết đơn giản. Tôi đã loại trừ các chuỗi tác nhân người dùng "không chuẩn" không khớp với RFC 2616.
Đây là kết quả:
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
Vì vậy, trong số 673 tác nhân người dùng bao gồm một liên kết chỉ có 21% bao gồm cộng. Trong số 260 tác nhân người dùng có một nhận xét chỉ là một liên kết, chỉ có 33% bao gồm điểm cộng.
Dựa trên phân tích này, điểm cộng là phổ biến, nhưng phần lớn các tác nhân người dùng chọn không sử dụng nó. Nó là tốt để bỏ nó ra, nhưng nó là đủ phổ biến rằng nó cũng sẽ tốt để bao gồm nó.
Đây là kịch bản Perl đã thực hiện phân tích này nếu bạn muốn tự chạy nó.
#!/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
";