If you go to http://www.emayzine.com/lectures/classical%20maya.html they have all kinds of information for you about civilizations
Sanitation of the Indus Valley Civilization
Mythical theology (theologica mythica) is one of three branches of theology established by the Roman scholar Marcus Terentius Varro (116-27 BC) in his lost work Antiquitates rerum humanarum et divinarum. The other two are political theology (theologia civilis) and natural theology (theologia naturalis).
Mythical theology is practiced by poets, based on narratives (mythoi) pertaining to divine matters.
The theologians of civil or political theology are the people, asking how the gods relate to daily life and the state (see imperial cult). The theologians of natural theology are the philosophers, inquiring into the nature of the gods.
"Mythical theology" should be distinguished from the theologia mystica of Pseudo-Dionysius the Areopagite.
The ancient Indus Valley Civilization of Northwest South Asia, including Pakistan and parts of India, was prominent in hydraulic engineering, and had many water supply and sanitation devices that were the first of their kind.
Among other things, they contain the world's earliest known system of flush toilets. These existed in many homes, and were connected to a common sewerage pipe. Most houses also had private wells. City walls functioned as a barrier against floods.
Lothal was a port at the Indian Ocean with a dockyard.
Mohenjo-daro is one of the best excavated and studied settlements from this civilization. The Great Bath might be the first of its kind in pre-historic period. This ancient town had more than 700 wells, and most houses in Mohenjo-daro had one private well.
Dholavira, located in Gujarat, India, had a series of water storing tanks and step wells, and its water management system has been called "unique". Dholavira had at least five baths, size of one is comparable with the Great Bath of Mohenjo-daro.
Civil law (legal system)
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.
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. Additionally, it provides bidirectional encryption of communications between a client and server, which protects against eavesdropping and tampering with and/or forging the contents of the communication. In practice, this provides a reasonable guarantee that one is communicating with precisely the web site that one intended to communicate with (as opposed to an imposter), as well as ensuring that the contents of communications between the user and site cannot be read or forged by any third party.
Historically, HTTPS connections were primarily used for payment transactions on the World Wide Web, e-mail and for sensitive transactions in corporate information systems. In the late 2000s and early 2010s, HTTPS began to see widespread use for protecting page authenticity on all types of websites, securing accounts and keeping user communications, identity and web browsing private.
A site must be completely hosted over HTTPS, without having some of its contents loaded over HTTP, or the user will be vulnerable to some attacks and surveillance. For example, having scripts etc. loaded insecurely on an HTTPS page makes the user vulnerable to attacks. Also having only a certain page that contains sensitive information (such as a log-in page) of a website loaded over HTTPS, while having the rest of the website loaded over plain HTTP will expose the user to attacks. On a site that has sensitive information somewhere on it, every time that site is accessed with HTTP instead of HTTPS, the user and the session will get exposed. Similarly, cookies on a site served through HTTPS have to have the secure attribute enabled.
HTTPS is a URI scheme which has identical syntax to the standard HTTP scheme, aside from its scheme token. However, HTTPS signals the browser to use an added encryption layer of SSL/TLS to protect the traffic. SSL is especially suited for HTTP since it can provide some protection even if only one side of the communication is authenticated. This is the case with HTTP transactions over the Internet, where typically only the server is authenticated (by the client examining the server's certificate).
HTTPS creates a secure channel over an insecure network. This ensures reasonable protection from eavesdroppers and man-in-the-middle attacks, provided that adequate cipher suites are used and that the server certificate is verified and trusted.
Because HTTPS piggybacks HTTP entirely on top of TLS, the entirety of the underlying HTTP protocol can be encrypted. This includes the request URL (which particular web page was requested), query parameters, headers, and cookies (which often contain identity information about the user). However, because host (web site) addresses and port numbers are necessarily part of the underlying TCP/IP protocols, HTTPS cannot protect their disclosure. In practice this means that even on a correctly configured web server eavesdroppers can still infer the IP address and port number of the web server (sometimes even the domain name e.g. www.example.org, but not the rest of the URL) that one is communicating with as well as the amount (data transferred) and duration (length of session) of the communication, though not the content of the communication.][
Web browsers know how to trust HTTPS websites based on certificate authorities that come pre-installed in their software. Certificate authorities (e.g. VeriSign/Microsoft/etc.) are in this way being trusted by web browser creators to provide valid certificates. Logically, it follows that a user should trust an HTTPS connection to a website if and only if all of the following are true:
HTTPS is especially important over unencrypted networks (such as WiFi), as anyone on the same local network can "packet sniff" and discover sensitive information. Additionally, many free to use and even paid for WLAN networks do packet injection for serving their own ads on webpages or just for pranks, however this can be exploited maliciously e.g. by injecting malware and spying on users.
Another example where HTTPS is important is connections over Tor (anonymity network), as malicious Tor nodes can damage or alter the contents passing through them in an insecure fashion and inject malware into the connection. This is one reason why the Electronic Frontier Foundation and Torproject started the development of HTTPS Everywhere, which is included in the Tor Browser Bundle.
As of 2012-06-22 12.3% of the Internet's 186821 most popular web sites have a secure implementation of HTTPS.
Deploying HTTPS also allows the use of SPDY, which is designed to reduce page load times and latency.
It is recommended to use HTTP Strict Transport Security with HTTPS to protect users from man-in-the-middle attacks.
HTTPS should not be confused with the little-used Secure HTTP (S-HTTP) specified in RFC 2660.
Most browsers display a warning if they receive an invalid certificate. Older browsers, when connecting to a site with an invalid certificate, would present the user with a dialog box asking if they wanted to continue. Newer browsers display a warning across the entire window. Newer browsers also prominently display the site's security information in the address bar. Extended validation certificates turn the address bar green in newer browsers. Most browsers also display a warning to the user when visiting a site that contains a mixture of encrypted and unencrypted content.
Firefox uses HTTPS for Google searches as of version 14, to "shield our users from network infrastructure that may be gathering data about the users or modifying/censoring their search results".
The Electronic Frontier Foundation, opining that "In an ideal world, every web request could be defaulted to HTTPS", has provided an add-on called HTTPS Everywhere for Mozilla Firefox that enables HTTPS by default for hundreds of frequently used websites. A beta version of this plugin is also available for Google Chrome and Chromium.
HTTPS URLs begin with "https://" and use port 443 by default, whereas HTTP URLs begin with "http://" and use port 80 by default.
HTTP is insecure and is subject to man-in-the-middle and eavesdropping attacks, which can let attackers gain access to website accounts and sensitive information. HTTPS is designed to withstand such attacks and is considered secure against such attacks (with the exception of older deprecated versions of SSL).
HTTPS is typically slower than HTTP. When large amounts of data are processing over a port, performance differences become evident][.
HTTP operates at the highest layer of the TCP/IP model, the Application layer; as does the SSL security protocol (operating as a lower sublayer of the same layer), which encrypts an HTTP message prior to transmission and decrypts a message upon arrival. Strictly speaking, HTTPS is not a separate protocol, but refers to use of ordinary HTTP over an encrypted SSL/TLS connection.
Everything in the HTTPS message is encrypted, including the headers, and the request/response load. With the exception of the possible CCA cryptographic attack described in the limitations section below, the attacker can only know the fact that a connection is taking place between the two parties, already known to him, the domain name and IP addresses.
To prepare a web server to accept HTTPS connections, the administrator must create a public key certificate for the web server. This certificate must be signed by a trusted certificate authority for the web browser to accept it without warning. The authority certifies that the certificate holder is the operator of the web server that presents it. Web browsers are generally distributed with a list of signing certificates of major certificate authorities so that they can verify certificates signed by them.
Authoritatively signed certificates may be free or cost between and per year (in 2009-2012). However, in the case of free certificate authorities such as CACert, popular browsers (e.g. Firefox, Chrome, Internet Explorer) may not include the trusted root certificates, which may cause untrusted warning messages to be displayed to end users. StartSSL is an example of a service offering free certificates with extensive browser support.
Organizations may also run their own certificate authority, particularly if they are responsible for setting up browsers to access their own sites (for example, sites on a company intranet, or major universities). They can easily add copies of their own signing certificate to the trusted certificates distributed with the browser.
There also exists a peer-to-peer certificate authority, CACert.
The system can also be used for client authentication in order to limit access to a web server to authorized users. To do this, the site administrator typically creates a certificate for each user, a certificate that is loaded into his/her browser. Normally, that contains the name and e-mail address of the authorized user and is automatically checked by the server on each reconnect to verify the user's identity, potentially without even entering a password.
A certificate may be revoked before it expires, for example because the secrecy of the private key has been compromised. Newer versions of popular browsers such as Google Chrome, Firefox, Opera, and Internet Explorer on Windows Vista implement the Online Certificate Status Protocol (OCSP) to verify that this is not the case. The browser sends the certificate's serial number to the certificate authority or its delegate via OCSP and the authority responds, telling the browser whether or not the certificate is still valid.
SSL comes in two options, simple and mutual.
The mutual version is more secure, but requires the user to install a personal certificate in their browser in order to authenticate themselves.][
Whatever strategy is used (simple or mutual), the level of protection strongly depends on the correctness of the implementation of the web browser and the server software and the actual cryptographic algorithms supported.
SSL does not prevent the entire site from being indexed using a web crawler, and in some cases the URI of the encrypted resource can be inferred by knowing only the intercepted request/response size. This allows an attacker to have access to the plaintext (the publicly available static content), and the encrypted text (the encrypted version of the static content), permitting a cryptographic attack.
Because SSL operates below HTTP and has no knowledge of higher-level protocols, SSL servers can only strictly present one certificate for a particular IP/port combination. This means that, in most cases, it is not feasible to use name-based virtual hosting with HTTPS. A solution called Server Name Indication (SNI) exists, which sends the hostname to the server before encrypting the connection, although many older browsers do not support this extension. Support for SNI is available since Firefox 2, Opera 8, Safari 2.1, Google Chrome 6, and Internet Explorer 7 on Windows Vista.
From an architectural point of view:
A sophisticated type of man-in-the-middle attack called SSL stripping was presented at the Blackhat Conference 2009. This type of attack defeats the security provided by HTTPS by changing the https: link into an http: link, taking advantage of the fact that few Internet users actually type "https" into their browser interface: they get to a secure site by clicking on a link, and thus are fooled into thinking that they are using HTTPS when in fact they are using HTTP. The attacker then communicates in clear with the client. This prompted the development of a countermeasure in HTTP called HTTP Strict Transport Security.
In May 2010, a research paper by researchers from Microsoft Research and Indiana University discovered that detailed sensitive user data can be inferred from side channels such as packet sizes. More specifically, the researchers found that an eavesdropper can infer the illnesses/medications/surgeries of the user, his/her family income and investment secrets, despite HTTPS protection in several high-profile, top-of-the-line web applications in healthcare, taxation, investment and web search.
Netscape Communications created HTTPS in 1994 for its Netscape Navigator web browser. Originally, HTTPS was used with SSL protocol. As SSL evolved into Transport Layer Security (TLS), the current version of HTTPS was formally specified by RFC 2818 in May 2000.
Hypertext Transfer Protocol
Civil law (or civilian law) is a legal system originating in Europe, intellectualized within the framework of late Roman law, and whose most prevalent feature is that its core principles are codified into a referable system which serves as the primary source of law. This can be contrasted with common law systems whose intellectual framework comes from judge-made decisional law which gives precedential authority to prior court decisions on the principle that it is unfair to treat similar facts differently on different occasions (doctrine of judicial precedent).
Historically, civil law is the group of legal ideas and systems ultimately derived from the Code of Justinian, but heavily overlaid by Germanic, canonical, feudal, and local practices, as well as doctrinal strains such as natural law, codification, and legislative positivism.
Conceptually, civil law proceeds from abstractions, formulates general principles, and distinguishes substantive rules from procedural rules. It holds case law to be secondary and subordinate to statutory law.
The purpose of codification is to provide all citizens with manners and written collection of the laws which apply to them and which judges must follow. It is the most widespread system of law in the world, in force in various forms in about 150 countries, and draws heavily from Roman law, arguably the most intricate known legal system dating from before the modern era. Colonial expansion spread the civil law which has been received in much of Latin America and parts of Asia and Africa.
Where codes exist, the primary source of law is the law code, which is a systematic collection of interrelated articles, arranged by subject matter in some pre-specified order, and that explain the principles of law, rights and entitlements, and how basic legal mechanisms work. Law codes are usually created by a legislature's enactment of a new statute that embodies all the old statutes relating to the subject and including changes necessitated by court decisions. In some cases, the change results in a new statutory concept. Other major legal systems in the world include common law, Halakha, canon law, and Islamic law.
Civilian countries can be divided into:
The Scandinavian systems are of a hybrid character since their background law is a mix of civil law and Scandinavian customary law and have been partially codified. Likewise, the laws of the Channel Islands (Jersey, Guernsey, Alderney, Sark) are hybrids which mix Norman customary law and French civil law.
A prominent example of a civil-law code would be the Napoleonic Code (1804), named after French emperor Napoleon. The Code comprises three components: the law of persons, property law, and commercial law. Rather than a compendium of statutes or catalog of caselaw, the Code sets out general principles as rules of law.
Unlike common law systems, civil law jurisdictions deal with case law apart from any precedence value. Civil law courts generally decide cases using statutory law on a case-by-case basis, without reference to other (or even superior) judicial decisions. In actual practice, an increasing degree of precedence is creeping into civil law jurisprudence, and is generally seen in many nations' highest courts. While the typical French-speaking supreme court decision is short, concise and devoid of explanation or justification, in Germanic Europe, the supreme courts can and do tend to write more verbose opinions supported by legal reasoning. A line of similar case decisions, while not precedent per se, constitute jurisprudence constante. While civil law jurisdictions place little reliance on court decisions, they tend to generate a phenomenal number of reported legal opinions. However, this tends to be uncontrolled, since there is no statutory requirement that any case be reported or published in a law report, except for the councils of state and constitutional courts. Except for the highest courts, all publication of legal opinions are unofficial or commercial.
Civil law is sometimes referred to as neo-Roman law, Romano-Germanic law or Continental law. The expression civil law is a translation of Latin jus civile, or "citizens' law", which was the late imperial term for its legal system, as opposed to the laws governing conquered peoples (jus gentium); hence, the Justinian code's title Corpus Juris Civilis. Civilian lawyers, however, traditionally refer to their system in a broad sense as jus commune, literally "common law", meaning the general principles of law as opposed to laws peculiar to particular areas. (The use of "common law" for the Anglo-Saxon systems may or may not be influenced by this usage.)
The civil law takes as its major inspiration classical Roman law (c. AD 1–250), and in particular Justinian law (6th century AD), and further expounding and developments in the late Middle Ages under the influence of canon law. The Justinian Code's doctrines provided a sophisticated model for contracts, rules of procedure, family law, wills, and a strong monarchical constitutional system. Roman law was received differently in different countries. In some it went into force wholesale by legislative act, i.e., it became positive law, whereas in others it was diffused into society by increasingly influential legal experts and scholars.
Roman law continued without interruption in the Byzantine Empire until its final fall in the 15th century. However, subject as it was to multiple incursions and occupations by Western European powers in the late medieval period, its laws became widely available in the West. It was first received into the Holy Roman Empire partly because it was considered imperial law, and it spread in Europe mainly because its students were the only trained lawyers. It became the basis of Scots law, though partly rivaled by received feudal Norman law. In England, it was taught academically at Oxford and Cambridge, but underlay only probate and matrimonial law insofar as both were inherited from canon law, and maritime law, adapted from lex mercatoria through the Bordeaux trade.
Consequently, neither of the two waves of Romanism completely dominated in Europe. Roman law was a secondary source that was applied only when local customs and laws were found lacking on a certain subject. However, after a time, even local law came to be interpreted and evaluated primarily on the basis of Roman law (it being a common European legal tradition of sorts), thereby in turn influencing the main source of law. Eventually, the works of civilian glossators and commentators led to the development of a common body of law and writing about law, a common legal language, and a common method of teaching and scholarship, all termed the jus commune, or law common to Europe, which consolidated canon law and Roman law, and to some extent, feudal law.
An important common characteristic of civil law, aside from its origins in Roman law, is the comprehensive codification of received Roman law, i.e., its inclusion in civil codes. The earliest codification known is the Code of Hammurabi, written in ancient Babylon during the 18th century BC. However, this, and many of the codes that followed, were mainly lists of civil and criminal wrongs and their punishments. Codification of the type typical of modern civilian systems did not first appear until the Justinian Code.
Germanic codes appeared over the 6th and 7th centuries to clearly delineate the law in force for Germanic privileged classes versus their Roman subjects and regulate those laws according to folk-right. Under feudal law, a number of private custumals were compiled, first under the Norman empire (Très ancien coutumier, 1200–1245), then elsewhere, to record the manorial – and later regional – customs, court decisions, and the legal principles underpinning them. Custumals were commissioned by lords who presided as lay judges over manorial courts in order to inform themselves about the court process. The use of custumals from influential towns soon became commonplace over large areas. In keeping with this, certain monarchs consolidated their kingdoms by attempting to compile custumals that would serve as the law of the land for their realms, as when Charles VII of France commissioned in 1454 an official custumal of Crown law. Two prominent examples include the Coutume de Paris (written 1510; revised 1580), which served as the basis for the Napoleonic Code, and the Sachsenspiegel (c. 1220) of the bishoprics of Magdeburg and Halberstadt which was used in northern Germany, Poland, and the Low Countries.
The concept of codification was further developed during the 17th and 18th centuries AD, as an expression of both natural law and the ideas of the Enlightenment. The political ideal of that era was expressed by the concepts of democracy, protection of property and the rule of law. That ideal required the creation of certainty of law, through the recording of law and through its uniformity. So, the aforementioned mix of Roman law and customary and local law ceased to exist, and the road opened for law codification, which could contribute to the aims of the above mentioned political ideal.
Another reason that contributed to codification was that the notion of the nation-state required the recording of the law that would be applicable to that state.
Certainly, there was also a reaction to law codification. The proponents of codification regarded it as conducive to certainty, unity and systematic recording of the law; whereas its opponents claimed that codification would result in the ossification of the law.
In the end, despite whatever resistance to codification, the codification of European private laws moved forward. Codifications were completed by Denmark (1687), Sweden (1734), Prussia (1794), France (1804), and Austria (1811). The French codes were imported into areas conquered by Emperor Napoleon and later adopted with modifications in Poland (Duchy of Warsaw/Congress Poland; Kodeks cywilny 1806/1825), Louisiana (1807), Canton of Vaud (Switzerland; 1819), the Netherlands (1838), Italy and Romania (1865), Portugal (1867), Spain (1888), Germany (1900), and Switzerland (1912). These codifications were in turn imported into colonies at one time or another by most of these countries. The Swiss version was adopted in Brazil (1916) and Turkey (1926).
In the United States, U.S. states began codification with New York's "Field Code" (1850), followed by California's Codes (1872), and the federal Revised Statutes (1874) and the current United States Code (1926).
Because Germany was a rising power in the late 19th century and its legal system was well organized, when many Asian nations were developing, the German Civil Code became the basis for the legal systems of Japan and South Korea. In China, the German Civil Code was introduced in the later years of the Qing Dynasty and formed the basis of the law of the Republic of China, which remains in force in Taiwan.
Some authors consider civil law to have served as the foundation for socialist law used in communist countries, which in this view would basically be civil law with the addition of Marxist–Leninist ideas. Even if this is so, civil law was generally the legal system in place before the rise of socialist law, and some Eastern European countries reverted to the pre-Socialist civil law following the fall of socialism, while others continued using their socialist legal systems.
Several civil-law mechanisms seem to have been borrowed from medieval Islamic Sharia and fiqh. For example, the Islamic hawala (hundi) underlies the avallo of Italian law and the aval of French and Spanish law.
The table below contains essential disparities (and in some cases similarities) between the world's four major legal systems.
Civil law is primarily contrasted with common law, which is the legal system developed first in England, and later among English-speaking peoples of the world. Despite their differences, the two systems are quite similar from a historical point of view. Both evolved in much the same way, though at different paces. The Roman law underlying civil law developed mainly from customary law that was refined with caselaw and legislation. Canon law further refined court procedure. Similarly, English law developed from Norman and Anglo-Saxon customary law, further refined by caselaw and legislation. The differences of course being that (1) Roman law had crystallised many of its principles and mechanisms in the form of the Justinian Code, which drew from caselaw, scholarly commentary, and senatorial statutes; and (2) civilian caselaw has persuasive authority, not binding authority as under common law.
Codification, however, is by no means a defining characteristic of a civil law system. For example, the statutes that govern the civil law systems of Sweden and other Nordic countries or Roman-Dutch countries are not grouped into larger, expansive codes like those found in France and Germany.
The term civil law. comes from English legal scholarship and is used in English-speaking countries to lump together all legal systems of the jus commune tradition. However, legal comparativists and economists promoting the legal origins theory prefer to subdivide civil law jurisdictions into four distinct groups:
Portugal, Brazil, the Netherlands and Italy have shifted from Napoleonic to Germanistic influence, as their 19th century civil codes were close to the Napoleonic Code, whereas their 20th-century civil codes are much closer to the German Civil Code. More recently, Brazil's 2002 Civil Code drew heavily from the Italian Civil Code in its unification of private law; legal culture and academic law now more closely follow the Germanistic tradition. The other law in these countries is often said to be of a hybrid nature.
Some systems of civil law do not fit neatly into this typology, however. The Polish law developed as a mixture of French and German civil law in the 19th century. After the reunification of Poland in 1918, five legal systems (French Napoleonic Code from the Duchy of Warsaw, German BGB from Western Poland, Austrian ABGB from Southern Poland, Russian law from Eastern Poland, and Hungarian law from Spisz and Orawa) were merged into one. Similarly, Dutch law, while originally codified in the Napoleonic tradition, has been heavily altered under influence from the Dutch native tradition of Roman-Dutch law (still in effect in its former colonies). Scotland's civil law tradition borrowed heavily from Roman-Dutch law. Swiss law is categorized as Germanistic, but it has been heavily influenced by the Napoleonic tradition, with some indigenous elements added in as well.
Louisiana private law is primarily a Napoleonic system. Louisiana is the only U.S. state partially based on French and Spanish codes and ultimately Roman law, as opposed to English common law. In Louisiana, private law was codified into the Louisiana Civil Code. Current Louisiana law has converged considerably with American law, especially in its public law, judicial system, and adoption of the Uniform Commercial Code (except for Article 2) and certain legal devices of American common law. In fact, any innovation, whether private or public, has been decidedly common law in origin. Likewise, Quebec law, whose private law is similarly of French civilian origin, has developed along the same lines, having adapted in the same way as Louisiana to the public law and judicial system of Canadian common law. By contrast, Quebec private law has innovated mainly from civilian sources. To a lesser extent, other states formerly part of the Spanish Empire, such as Texas and California, have also retained aspects of Spanish Civil law into their legal system, for example community property. The legal system of Puerto Rico exhibits the same tendencies that of Louisiana has shown: the application of a civil code whose interpretations are reliant on both the Civil and Common Law systems. Because Puerto Rico's Civil Code is based on the Spanish Civil Code of 1889, available jurisprudence has tended to rely on Common Law innovations due to the code's age and in many cases, obsolete nature.
Several Islamic countries have civil law systems that contain elements of Islamic law. As an example, the Egyptian Civil Code of 1810 that developed in the early 19th century—which remains in force in Egypt is the basis for the civil law in many countries of the Arab world where the civil law is used— is based on the Napoleonic Code, but its primary author Abd El-Razzak El-Sanhuri attempted to integrate principles and features of Islamic law in deference to the unique circumstances of Egyptian society.
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.
Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP is the protocol to exchange or transfer hypertext.
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 defines HTTP/1.1, the version of HTTP in common use.
HTTP functions as a request-response protocol in the client-server computing model. A web browser, for example, may be the client and an application running on a computer hosting a web site may be the server. The client submits an HTTP request message to the server. The server, which provides resources such as HTML files and other content, or performs other functions on behalf of the client, returns a response message to the client. The response contains completion status information about the request and may also contain requested content in its message body.
A web browser is an example of a user agent (UA). Other types of user agent include the indexing software used by search providers (web crawlers), voice browsers, mobile apps and other software that accesses, consumes or displays web content.
HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites often benefit from web cache servers that deliver content on behalf of upstream servers to improve response time. Web browsers cache previously accessed web resources and reuse them when possible to reduce network traffic. HTTP proxy servers at private network boundaries can facilitate communication for clients without a globally routable address, by relaying messages with external servers.
HTTP is an application layer protocol designed within the framework of the Internet Protocol Suite. Its definition presumes an underlying and reliable transport layer protocol, and Transmission Control Protocol (TCP) is commonly used. However HTTP can use unreliable protocols such as the User Datagram Protocol (UDP), for example in Simple Service Discovery Protocol (SSDP).
HTTP resources are identified and located on the network by Uniform Resource Identifiers (URIs)—or, more specifically, Uniform Resource Locators (URLs)—using the http or https URI schemes. URIs and hyperlinks in Hypertext Markup Language (HTML) documents form webs of inter-linked hypertext documents.
HTTP/1.1 is a revision of the original HTTP (HTTP/1.0). In HTTP/1.0 a separate connection to the same server is made for every resource request. HTTP/1.1 can reuse a connection multiple times to download images, scripts, stylesheets et cetera after the page has been delivered. HTTP/1.1 communications therefore experience less latency as the establishment of TCP connections presents considerable overhead.
The term HyperText was coined by Ted Nelson who in turn was inspired by Vannevar Bush's microfilm-based "memex". Tim Berners-Lee first proposed the "WorldWideWeb" project — now known as the World Wide Web. Berners-Lee and his team are credited with inventing the original HTTP along with HTML and the associated technology for a web server and a text-based web browser. The first version of the protocol had only one method, namely GET, which would request a page from a server. The response from the server was always an HTML page.
The first documented version of HTTP was HTTP V0.9 (1991). Dave Raggett led the HTTP Working Group (HTTP WG) in 1995 and wanted to expand the protocol with extended operations, extended negotiation, richer meta-information, tied with a security protocol which became more efficient by adding additional methods and header fields. RFC 1945 officially introduced and recognized HTTP V1.0 in 1996.
The HTTP WG planned to publish new standards in December 1995 and the support for pre-standard HTTP/1.1 based on the then developing RFC 2068 (called HTTP-NG) was rapidly adopted by the major browser developers in early 1996. By March 1996, pre-standard HTTP/1.1 was supported in Arena, Netscape 2.0, Netscape Navigator Gold 2.01, Mosaic 2.7,][ Lynx 2.5][, and in Internet Explorer 2.0][. End-user adoption of the new browsers was rapid. In March 1996, one web hosting company reported that over 40% of browsers in use on the Internet were HTTP 1.1 compliant.][ That same web hosting company reported that by June 1996, 65% of all browsers accessing their servers were HTTP/1.1 compliant. The HTTP/1.1 standard as defined in RFC 2068 was officially released in January 1997. Improvements and updates to the HTTP/1.1 standard were released under RFC 2616 in June 1999.
An HTTP session is a sequence of network request-response transactions. An HTTP client initiates a request by establishing a Transmission Control Protocol (TCP) connection to a particular port on a server (typically port 80; see List of TCP and UDP port numbers). An HTTP server listening on that port waits for a client's request message. Upon receiving the request, the server sends back a status line, such as "HTTP/1.1 200 OK", and a message of its own. The body of this message is typically the requested resource, although an error message or other information may also be returned.
HTTP defines methods (sometimes referred to as verbs) to indicate the desired action to be performed on the identified resource. What this resource represents, whether pre-existing data or data that is generated dynamically, depends on the implementation of the server. Often, the resource corresponds to a file or the output of an executable residing on the server.
The HTTP/1.0 specification:section 8 defined the GET, POST and HEAD methods and the HTTP/1.1 specification:section 9 added 5 new methods: OPTIONS, PUT, DELETE, TRACE and CONNECT. By being specified in these documents their semantics are well known and can be depended upon. Any client can use any method and the server can be configured to support any combination of methods. If a method is unknown to an intermediate it will be treated as an unsafe and non-idempotent method. There is no limit to the number of methods that can be defined and this allows for future methods to be specified without breaking existing infrastructure. For example WebDAV defined 7 new methods and RFC5789 specified the PATCH method.
HTTP servers are required to implement at least the GET and HEAD methods and, whenever possible, also the OPTIONS method.][
Some methods (for example, HEAD, GET, OPTIONS and TRACE) are defined as safe, which means they are intended only for information retrieval and should not change the state of the server. In other words, they should not have side effects, beyond relatively harmless effects such as logging, caching, the serving of banner advertisements or incrementing a web counter. Making arbitrary GET requests without regard to the context of the application's state should therefore be considered safe.
By contrast, methods such as POST, PUT and DELETE are intended for actions that may cause side effects either on the server, or external side effects such as financial transactions or transmission of email. Such methods are therefore not usually used by conforming web robots or web crawlers; some that do not conform tend to make requests without regard to context or consequences.
Despite the prescribed safety of GET requests, in practice their handling by the server is not technically limited in any way. Therefore, careless or deliberate programming can cause non-trivial changes on the server. This is discouraged, because it can cause problems for Web caching, search engines and other automated agents, which can make unintended changes on the server.
Methods PUT and DELETE are defined to be idempotent, meaning that multiple identical requests should have the same effect as a single request (Note that idempotence refers to the state of the system after the request has completed, so while the action the server takes (e.g. deleting a record) or the response code it returns may be different on subsequent requests, the system state will be the same every time). Methods GET, HEAD, OPTIONS and TRACE, being prescribed as safe, should also be idempotent, as HTTP is a stateless protocol.
In contrast, the POST method is not necessarily idempotent, and therefore sending an identical POST request multiple times may further affect state or cause further side effects (such as financial transactions). In some cases this may be desirable, but in other cases this could be due to an accident, such as when a user does not realize that their action will result in sending another request, or they did not receive adequate feedback that their first request was successful. While web browsers may show alert dialog boxes to warn users in some cases where reloading a page may re-submit a POST request, it is generally up to the web application to handle cases where a POST request should not be submitted more than once.
Note that whether a method is idempotent is not enforced by the protocol or web server. It is perfectly possible to write a web application in which (for example) a database insert or other non-idempotent action is triggered by a GET or other request. Ignoring this recommendation, however, may result in undesirable consequences, if a user agent assumes that repeating the same request is safe when it isn't.
Implementing methods such as TRACE, TRACK and DEBUG is considered potentially insecure by some security professionals because attackers can use them to gather information or bypass security controls during attacks. Security software tools such as Tenable Nessus and Microsoft UrlScan Security Tool report on the presence of these methods as being security issues.
TRACK and DEBUG are not valid http 1.1 verbs in any event.
In HTTP/1.0 and since, the first line of the HTTP response is called the status line and includes a numeric status code (such as "404") and a textual reason phrase (such as "Not Found"). The way the user agent handles the response primarily depends on the code and secondarily on the response headers. Custom status codes can be used since, if the user agent encounters a code it does not recognize, it can use the first digit of the code to determine the general class of the response.
Also, the standard reason phrases are only recommendations and can be replaced with "local equivalents" at the web developer's discretion. If the status code indicated a problem, the user agent might display the reason phrase to the user to provide further information about the nature of the problem. The standard also allows the user agent to attempt to interpret the reason phrase, though this might be unwise since the standard explicitly specifies that status codes are machine-readable and reason phrases are human-readable.
In HTTP/0.9 and 1.0, the connection is closed after a single request/response pair. In HTTP/1.1 a keep-alive-mechanism was introduced, where a connection could be reused for more than one request. Such persistent connections reduce request latency perceptibly, because the client does not need to re-negotiate the TCP connection after the first request has been sent. Another positive side effect is that in general the connection becomes faster with time due to TCP's slow-start-mechanism.
Version 1.1 of the protocol also made bandwidth optimization improvements to HTTP/1.0. For example, HTTP/1.1 introduced chunked transfer encoding to allow content on persistent connections to be streamed rather than buffered. HTTP pipelining further reduces lag time, allowing clients to send multiple requests before waiting for each response. Another improvement to the protocol was byte serving, where a server transmits just the portion of a resource explicitly requested by a client.
HTTP is a stateless protocol. A stateless protocol does not require the HTTP server to retain information or status about each user for the duration of multiple requests. However, some web applications implement states or server side sessions using one or more of the following methods:
The most popular way of establishing an encrypted HTTP connection is HTTP Secure.
Two other methods for establishing an encrypted HTTP connection also exist, called Secure Hypertext Transfer Protocol and the HTTP/1.1 Upgrade header. Browser support, for these latter two, is, however, nearly non-existent,][ so HTTP Secure is the dominant method of establishing an encrypted HTTP connection.
The request message consists of the following:
The request line and headers must all end with <CR><LF> (that is, a carriage return character followed by a line feed character). The empty line must consist of only <CR><LF> and no other whitespace. In the HTTP/1.1 protocol, all headers except Host are optional.
A request line containing only the path name is accepted by servers to maintain compatibility with HTTP clients before the HTTP/1.0 specification in RFC 1945.
The response message consists of the following:
The Status-Line and headers must all end with <CR><LF> (a carriage return followed by a line feed). The empty line must consist of only <CR><LF> and no other whitespace.
Below is a sample conversation between an HTTP client and an HTTP server running on www.example.com, port 80.
A client request (consisting in this case of the request line and only one header) is followed by a blank line, so that the request ends with a double newline, each in the form of a carriage return followed by a line feed. The "Host" header distinguishes between various DNS names sharing a single IP address, allowing name-based virtual hosting. While optional in HTTP/1.0, it is mandatory in HTTP/1.1.
The ETag (entity tag) header is used to determine if a cached version of the requested resource is identical to the current version of the resource on the server. Content-Type specifies the Internet media type of the data conveyed by the HTTP message, while Content-Length indicates its length in bytes. The HTTP/1.1 webserver publishes its ability to respond to requests for certain byte ranges of the document by setting the header Accept-Ranges: bytes. This is useful, if the client needs to have only certain portions of a resource sent by the server, which is called byte serving. When Connection: close is sent in a header, it means that the web server will close the TCP connection immediately after the transfer of this response.
Most of the header lines are optional. When Content-Length is missing the length is determined in other ways. Chunked transfer encoding uses a chunk size of 0 to mark the end of the content. Identity encoding without Content-Length reads content until the socket is closed.
A Content-Encoding like gzip can be used to compress the transmitted data.
Historically, Gopher existed as a competitor to HTTP.
Civilization IV: Warlords
Resistencia Civil (Civil Resistance) is a libertarian political movement in Venezuela which advocates classical liberal principles i.e. limited government and free market. The movement is led by Domingo Alberto Rangel, who holds the rank of executive secretary of the Resistencia Civil. Guillermo Rodríguez is the chief economist of the movement.
Civilization IV: Warlords is the first official expansion pack of the critically acclaimed turn-based strategy video game Civilization IV.
Warlords added many new features to the original game. These include:
The game introduces a new type of "Great Person" unit, known as a Great General. Great Generals are usually created when the total experience earned by a civilization's military units against other civilizations reaches specified thresholds, rather than Great Person points generated by its cities. In addition, the civilization that acquires the "Fascism" technology first receives a free Great General. A Great General can be used similarly to other Great Persons: to join a city as a "Great Military Instructor", which gives +2 experience points to any military unit created in the city, or to create a Military Academy, which permanently boosts military unit production (by +50%) in the city. The Great General can also be attached to a military unit forming a joint unit led by the Warlord, sharing 20 experience points with all units in its square and giving the Warlord unit free upgrades and exclusive access to special promotions. In all normal games and most scenarios, a destroyed Warlord unit is lost permanently. However, in the Alexander and Genghis Khan scenarios, the title characters serve as Great Generals, and if either is lost, he will be reborn in his civilization's capital city after several turns.
The new Vassal States feature allows players to take up other empires as "vassals," the game's equivalent of protectorates. When an empire becomes a vassal, it loses the ability to declare war and make peace independently, and may be called upon to pay "tribute" in the form of game resources to its "master" (suzerain) state in return for the promise that its master will protect the vassal. Players can use Vassal States to achieve a Domination Victory, since half the vassal's land and population count towards a domination victory for the master, but not vice versa. Similarly, if the master goes to war with another civilization, the vassal too has to go to war. However, other countries' opinions of you will worsen if you have a vassal they dislike. The vassal may still reject trades for gold and technologies.
During peacetime, civilizations can offer their vassalage in return for protection from an enemy, but it may be ended if the state's relative land and population statistics change. Vassal agreements signed in a state of mutual war, as part of a peace treaty, are considered capitulation and bind both parties. The agreement is terminated, however, if the vassal acquires 50% more land area than the master or the vassal loses half of the land it held when the agreement was signed. The only way a master can terminate the agreement is if the vassal refuses to pay tribute. The master can then choose to declare war.
In order to make the civilizations more distinctive, every civilization has received a "Unique Building". These unique buildings replace the standard buildings, and grant special advantages.
New civilizations include Carthage, the Celts, Korea, the Ottoman Empire, the Vikings, and the Zulu. Four new leaders are introduced for existing civilizations. Three new leader traits are introduced, and many existing leader traits have been changed.
Warlords includes new music and also features older music directly from Civilization III and Civilization III: Conquests, which augment the game's existing ancient and classical era music that had relatively few selections. The new opening theme is a Lebanese love song entitled "Al Nadda".
The expansion received generally positive reviews. Metacritic, which gives a weighted score to games, gave the expansion an 84/100, while Game Rankings gave the expansion an 82.80%