-
1 课程内容
-
2 随堂测验
-
3 课程资料
HTTP (超文本传输协议Hypertext Transfer Protocol) 定义了万维网客户进程(即浏览器)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。它可以使浏览器更加高效,使网络传输减少,不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP是我们浏览网页、看在线视频、听在线音乐等必须遵循的规则。正是在这样的规则下,浏览器才能向万维网服务器发送万维网文档请求,然后服务器会将请求的文档发送回浏览器。在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和规则,这些格式和规则就构成了超文本传输协议。
HTTP的工作过程可以分为四步:
1、客户给与服务器建立TCP连接。计算机系统中有一个专门为HTTP开放默认端口:80端口,还有一个备用的8080端口,主要用于万维网传输信息的协议。
2、建立连接后,客户机发送一个请求给服务器。请求具有专门的请求格式和请求报文。
3、服务器接到请求后,给予相应的响应信息。与请求类似,应答也有专门的格式与响应报文。
4、客户端接收服务器所返回的的信息,并通过浏览器显示在用户的显示屏上,此时客户端与服务器端就断开连接。
需要注意的是,如果在上述工作过程中的某异步出现错误,那么产生错误的信息将返回到客户端,并在显示屏上输出。对于用户来说,上述工作过程是HTTP自动完成的,用户只要用鼠标点击,等待信息显示浏览即可。
浏览某个网页时,很重要的是要知道某个网页的URL(统一资源定位符Uniform Resource Locator)。因此,在HTTP中URL也是一个极为重要的部分。以http://www.baidu.com/index.php为例,来说明URL的组成。通过URL的组成,可以看到当我们在浏览器中输入URL时,其中的域名会被提取出来,并用DNS服务将其解析为IP地址。之后就进行HTTP读物,建立连接,发送请求,接收应答消息,断开连接,最终就会在浏览器上浏览到我们想要浏览的页面。
在客户端发送请求时,有两种常用的请求方式:GET和POST。
◆ GET方式:是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。
◆ POST方式:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URL所指定资源的附加新子项,POST被设计成用统一的方法实现下列功能:
1、对现有资源的解释;
2、向电子公告栏、新闻组、邮件列表或类似讨论组发信息;
3、提交数据块;
4、通过附加操作来扩展数据库。
可以看出,GET是向服务器发索取数据的一种请求,而POST是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中。
参考文献:
1、高常波. 如何通过WinSock基于HTTP协议实现HTTP客户应用程序.中文信息, 2002(4):69-69