background preloader

Hypertext Transfer Protocol

Hypertext Transfer Protocol
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems.[1] HTTP is the foundation of data communication for the World Wide Web. The standards development of HTTP was coordinated by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C), culminating in the publication of a series of Requests for Comments (RFCs), most notably RFC 2616 (June 1999), which defined HTTP/1.1, the version of HTTP most commonly used today. In June 2014, RFC 2616 was retired and HTTP/1.1 was redefined by RFCs 7230, 7231, 7232, 7233, 7234, and 7235.[2] HTTP/2 is currently in draft form. Technical overview[edit] URL beginning with the HTTP scheme and the WWW domain name label. A web browser is an example of a user agent (UA). HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. History[edit] The first documented version of HTTP was HTTP V0.9 (1991). Related:  internet and packetsMLDonkey (Opensource p2p Client)

Internet Protocol This article is about the IP network protocol only. For Internet architecture or other protocols, see Internet protocol suite. The Internet Protocol (IP) is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. Historically, IP was the connectionless datagram service in the original Transmission Control Program introduced by Vint Cerf and Bob Kahn in 1974; the other being the connection-oriented Transmission Control Protocol (TCP). The first major version of IP, Internet Protocol Version 4 (IPv4), is the dominant protocol of the Internet. Function[edit] The Internet Protocol is responsible for addressing hosts and for routing datagrams (packets) from a source host to a destination host across one or more IP networks. Datagram construction[edit] Sample encapsulation of application data from UDP to a Link protocol frame Reliability[edit]

List of TCP and UDP port numbers Wikimedia list article This is a list of TCP and UDP port numbers used by protocols of the Internet protocol suite for operation of network applications. The Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) needed only one port for full-duplex, bidirectional traffic. The Internet Assigned Numbers Authority (IANA) is responsible for maintaining the official assignments of port numbers for specific uses.[1] However, many unofficial uses of both well-known and registered port numbers occur in practice. Table legend[edit] Official: Port is registered with IANA for the application.[1] Unofficial: Port is not registered with IANA for the application. Multiple use: Multiple applications are known to use this port. Well-known ports[edit] The port numbers in the range from 0 to 1023 (0 to 210 − 1) are the well-known ports or system ports.[2] They are used by system processes that provide widely used types of network services. Registered ports[edit] See also[edit]

HTTP Secure Hypertext Transfer Protocol Secure (HTTPS) is a communications protocol for secure communication over a computer network, with especially wide deployment on the Internet. Technically, it is not a protocol in and of itself; rather, it is the result of simply layering the Hypertext Transfer Protocol (HTTP) on top of the SSL/TLS protocol, thus adding the security capabilities of SSL/TLS to standard HTTP communications. The security of HTTPS is therefore that of the underlying TLS, which uses long term public and secret keys to exchange a short term session key to encrypt the data flow between client and server. To guarantee one is talking to the partner one wants to talk to, X.509 certificates are used. In its popular deployment on the internet, HTTPS provides authentication of the web site and associated web server that one is communicating with, which protects against man-in-the-middle attacks. Overview[edit] HTTPS creates a secure channel over an insecure network. Usage in websites[edit]

File Transfer Protocol - Wikipedia The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of computer files from a server to a client using the Client–server model on a computer network. FTP is built on a client-server model architecture and uses separate control and data connections between the client and the server.[1] FTP users may authenticate themselves with a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS). History of FTP server[edit] The original specification for the File Transfer Protocol was written by Abhay Bhushan and published as RFC 114 on 16 April 1971. Protocol overview[edit] Communication and data transfer[edit] Illustration of starting a passive connection using port 21 Both modes were updated in September 1998 to support IPv6. Login[edit] FTPS[edit]

PHP server-side scripting language PHP: Hypertext Preprocessor (or simply PHP) is a server-side scripting language designed for Web development. It was originally created by Rasmus Lerdorf in 1994;[4] the PHP reference implementation is now produced by The PHP Group.[5] PHP originally stood for Personal Home Page,[4] but it now stands for the recursive initialism PHP: Hypertext Preprocessor.[6] The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. The PHP language evolved without a written formal specification or standard until 2014, with the original implementation acting as the de facto standard which other implementations aimed to follow. History[edit] Early history[edit] PHP development began in 1994 when Rasmus Lerdorf wrote several Common Gateway Interface (CGI) programs in C,[10][11][12] which he used to maintain his personal homepage. PHP/FI could be used to build simple, dynamic web applications. PHP 3 and 4[edit] PHP 5[edit] <!

Application layer Although both models use the same term for their respective highest level layer, the detailed definitions and purposes are different. In the OSI model, the definition of the application layer is narrower in scope. The OSI model defines the application layer as the user interface responsible for displaying received information to the user. TCP/IP protocols[edit] The IETF definition document for the application layer in the Internet Protocol Suite is RFC 1123. Remote login to hosts: TelnetFile transfer: File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP)Electronic mail transport: Simple Mail Transfer Protocol (SMTP)Networking support: Domain Name System (DNS)Host initialization: BOOTPRemote host management: Simple Network Management Protocol (SNMP), Common Management Information Protocol over TCP (CMOT) Other protocol examples[edit] References[edit] External links[edit]

Magnet URI scheme The Magnet URI scheme, defines the format of magnet links, a de facto standard for identifying files by their content, via cryptographic hash value rather than by their location. Although magnet links can be used in a number of contexts, they are particularly useful in peer-to-peer file sharing networks because they allow resources to be referred to without the need for a continuously available host, and can be generated by anyone who already has the file, without the need for a central authority to issue them. This makes them popular for use as "guaranteed" search terms within the file sharing community where anyone can distribute a magnet link to ensure that the resource retrieved by that link is the one intended, regardless of how it is retrieved. History[edit] Technical description[edit] Magnet URIs consist of a series of one or more parameters, the order of which is not significant, formatted in the same way as query strings that ordinarily terminate HTTP URLs. magnet:? Design[edit] x.

Direct Connect (protocol) - Wikipedia Hubs feature a list of clients or users connected to them. Users can search for files and download them from other clients, as well as chat with other users. The client-server (as well as client-client, where one client acts as "server") aspect of the protocol stipulates that the server respond first when a connection is being made. For example, when a client connects to a hub's socket, the hub is first to respond to the client. The protocol lacks a specified default character encoding for clients or hubs. Port 411 is the default port for hubs, and 412 for client-to-client connections. Hub addresses are in the following form: where 411 is an optional port. There is no global identification scheme; instead, users are identified with their nickname on a hub-to-hub basis. The ability to kick or move (redirect) a user to another hub is supported by the protocol. Hubs may send out user commands to clients. Protocol delimiters are '$', '|' and ' ' (&#32; (space)).

File Transfer Protocol FTP is built on a client-server architecture and uses separate control and data connections between the client and the server.[1] FTP users may authenticate themselves using a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that hides (encrypts) the username and password, and encrypts the content, FTP is often secured with SSL/TLS ("FTPS"). SSH File Transfer Protocol ("SFTP") is sometimes also used instead, but is technologically different. History[edit] The original specification for the File Transfer Protocol was written by Abhay Bhushan and published as RFC 114 on 16 April 1971. Until 1980, FTP ran on NCP, the predecessor of TCP/IP.[2] The protocol was later replaced by a TCP/IP version, RFC 765 (June 1980) and RFC 959 (October 1985), the current specification. Protocol overview[edit] Communication and data transfer[edit] ASCII mode: used for text. Login[edit] or:

Request–response Request–response or request–reply is one of the basic methods computers use to communicate to each other. When using request–response, the first computer sends a request for some data and the second computer responds to the request. Usually there is a series of such interchanges until the complete message is sent. Browsing a web page is an example of request–response communication. One can think of request–response as being like a telephone call, where you call someone and they answer the call. Compare this with one-way computer communication, which is like the push-to-talk or "barge in" feature found on some phones and two-way radios, where a message is sent without waiting for a response. Technical details[edit] Request–response, also known as request-reply, is a message exchange pattern in which a requestor sends a request message to a replier system which receives and processes the request, ultimately returning a message in response. See also[edit] References[edit]

BitTorrent Programmer Bram Cohen, a former University at Buffalo graduate student in Computer Science,[4] designed the protocol in April 2001 and released the first available version on July 2, 2001,[5] and the final version in 2008.[6] BitTorrent clients are available for a variety of computing platforms and operating systems including an official client released by Bittorrent, Inc. As of 2009, BitTorrent reportedly had about the same number of active users online as viewers of YouTube and Facebook combined.[7][8] As of January 2012[update], BitTorrent is utilized by 150 million active users (according to BitTorrent, Inc.). Based on this figure, the total number of monthly BitTorrent users can be estimated at more than a quarter of a billion.[9] Description[edit] The middle computer is acting as a seed to provide a file to the other computers which act as peers. The file being distributed is divided into segments called pieces. When a peer completely downloads a file, it becomes an additional seed.

eDonkey network - Wikipedia The eDonkey Network (also known as the eDonkey2000 network or eD2k) is a decentralized, mostly server-based, peer-to-peer file sharing network created in 2000 by US developers Jed McCaleb and Sam Yagan[1][2][3] that is best suited to share big files among users, and to provide long term availability of files. Like most sharing networks, it is decentralized, as there is not any central hub for the network; also, files are not stored on a central server but are exchanged directly between users based on the peer-to-peer principle. There are many programs that act as the client part of the network. Most notably, eDonkey2000, the original client by MetaMachine, closed-source but freeware, and no longer maintained but very popular in its day; and eMule, a free program for Windows written in Visual C++ and licensed under the GNU GPL. eMule is in constant development and currently represents about 90% of all clients in the eD2k network.[citation needed] Features[edit] Hash identification[edit]