The concept of Resource is primitive in the Web architecture, and is used in the definition of its fundamental elements. According to the most recent definition by RFC 3986, a resource is the referent for a Uniform Resource Identifier (URI). In the Semantic Web, semantic properties of a resource can be defined using the family of languages based on Resource Description Framework (RDF).
The concept of resource has actually evolved during the Web history, from the early notion of static addressable document or file, to a more generic and abstract definition, now encompassing everything that can be identified, named, addressed or handled, in any way whatsoever, in the Web at large, or in any networked information system. The declarative aspects of a resource (identification and naming) and its functional aspects (addressing and technical handling) were not clearly distinct in the early specifications of the Web, and the very definition of the concept has been the subject of long and still open debate involving difficult, and often arcane, technical, social, linguistic and philosophical issues.
History
In the early specifications of the Web (1990-1994), the term "resource" is barely used at all. The Web is designed as a network of more or less static addressable objects, basically files and documents, linked together in the form of an hypertext. The objects are considered insofar as they can be addressed and handled through a specific protocol, Web documents are accessed and browsed using HTTP protocol, files are exchanged using FTP protocol, etc.
The first systematic use of the term resource is introduced in June 1994 by RFC 1630. In this document is defined the generic notion of Universal Resource Identifier (URI), with its two variants Universal Resource Locator (URL) and Universal Resource Name (URN). A resource is implicitly defined as something which can be identified, the identification deserving two distinct purposes, naming and addressing, the latter only being dependent on a protocol. It is noticeable that RFC 1630 does not attempt to define at all the notion of resource, actually it barely uses the term besides its occurrence in URI, URL and URN, and still speaks about "Objects of the Network". RFC 1738 (December 1994) further specifies URLs, the term 'Universal' being changed to 'Uniform'. The document is making a more systematic use of 'resource' to refer to objects which are 'available', or 'can be located and accessed' through the Internet. There again, the term 'resource' itself is not explicitly defined.
The first explicit definition is found in RFC 2396, in August 1998 : A resource can be anything that has identity. Familiar examples include an electronic document, an image, a service (e.g., "today's weather report for Los Angeles"), and a collection of other resources. Not all resources are network "retrievable"; e.g., human beings, corporations, and bound books in a library can also be considered resources. If examples in this document are still limited to physical entities, the definition opens the door to more abstract resources. Providing a concept is given an identity, and this identity is expressed by a well-formed URI, then a concept can be a resource as well. This opportunity will be heavily used by RDF and RDF vocabularies. RDFS, OWL, and SKOS define abstract resources such as classes, properties, concepts, all identified by URIs.
In January 2005, RFC 3986 makes this extension of definition completelety explicit: Likewise, abstract concepts can be resources, such as the operators and operands of a mathematical equation, the types of a relationship (e.g., "parent" or "employee"), or numeric values (e.g., zero, one, and infinity).