本教程操作环境:windows7系统、Dell G3电脑。
超文本传输协议指的是HTTP协议,是一个基于“TCP/IP”的通信协议,一个简单的“请求-响应”协议;它是用来提供 World Wide Web上的几乎所有的文件和其它数据,统称资源。这些资源可能是HTML文件,图像文件,查询结果,或其他任何东西。
HTTP协议指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
浏览器是作为一个HTTP客户端的作品,因为这就是所谓的Web服务器的HTTP服务器发送请求。 Web服务器,然后发送回客户端的响应。标准和HTTP服务器的默认端口上监听是80,但它可以改变到任何其他端口,如8080等
有三个HTTP重要应该知道的事情:
HTTP是无连接的: 在发出请求时,客户端与服务器断开连接,并等待响应。服务器必须重新建立连接后,它处理请求。
HTTP是独立的媒体的: 可以发送任何类型的数据,只要通过HTTP的客户端和服务器都知道如何处理的数据内容。决定如何处理内容的MIME规范。
HTTP是无状态的: HTTP连接,这是一个直接结果。服务器和客户端,只知道对方在一个请求。此后,每个忘记了其他。出于这个原因,无论是客户端还是浏览器可以保留不同要求之间的跨网页的信息。
HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序。
HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这样客户端浏览器和Web服务器之间就可以通过HTTP进行通信了。
工作原理:
HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。
客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到www服务器面向的是Internet中成千上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率。