Why do we have to have the prefix "co" before our country indicator? Richard Finch
Internet domain names usually end with two letters for the country code, which runs from ad (Andorra) to zw (Zimbabwe). We use uk instead of gb because uk was already in use on Janet, the joint academic network. American addresses should end with .us, but this wasn't needed in the beginning, because the net was US-only. Americans generally used top-level domains (TLDs) instead, such as com (commercial), edu (education) and mil (military).
Each top-level domain has subdivisions, and these second level domain names (SLDs) are often used to indicate what kind of organisation it is. The UK TLD, now managed by Nominet, uses co (company), ac (academic) and mod (Ministry of Defence) as SLDs, instead of echoing the TLDs: com, edu and mil. Similarly, Japan uses co, ac, ed (for schools) and go (for gov), among others.
Web-only backchat: Mike Ashford and Jim Hunter have quibbled about this answer. I'd hoped to skip the details, but my point was that gb is, as a matter of fact, the code "officially assigned" under the ISO 3166-1 standard (http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/iso_3166-1_decoding_table.html). We don't follow the standard. You are welcome to argue with the International Organization for Standardization and Nominet about this, but it's not my fault. ;-)