HTTP协议&SOCKET协议

1、 HTTP协议是什么?程序员

    咱们在浏览器的地址栏里输入的网站地址叫作 URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址同样,每一个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级连接时,URL就肯定了要浏览的地址。浏览器经过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。所以,在咱们认识HTTP以前,有必要先弄清楚URL的组成 , 例如: http://www.microsoft.com/china/index.htm.它的含义以下:     1.http://:表明超文本传输协议,通知microsoft.com服务器显示Web页,一般不用输入     2.www:表明一个 Web(万维网)服务器;     3.Microsoft.com/:这是装有网页的服务器的域名,或站点服务器的名称;     4.China/:为该服务器上的子目录,就好像咱们的文件夹;     5.Index.htm:index.htm是文件夹中的一个HTML文件(网页) 。     咱们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层 (Applicationlayer),它包含全部高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。     HTTP 协议(HypertextTransferProtocol,超文本传输协议) 是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可使浏览器更加高效,使网络传输减小。它不只保证计算机正确快速地传输超文本文档,还肯定传输文档中的哪一部分,以及哪部份内容首先显示(如文本先于图形) 等。这就是你为何在浏览器中看到的网页地址都是以 “http://”开头的缘由。     自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出如今咱们眼前,但是咱们怎么可以更加容易地找到咱们须要的资讯呢?当决定使用超文本做为WWW文档的标准格式后,因而在1990年,科学家们当即制定了可以快速查找这些超文本文档的协议,即HTTP协议。通过几年的使用与发展,获得不断的完善和扩展,目前在WWW中使用的是 HTTP/1.0的第六版。编程

2、 HTTP是怎样工做的?浏览器

    既然咱们明白了URL的构成,那么HTTP是怎么工做呢?咱们接下来就要讨论这个问题。     因为HTTP协议是基于请求/响应范式的(至关于客户机/服务器 )。一个客户机与服务器创建链接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符 (URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。     许多HTTP通信是由一个用户代理初始化的而且包括一个申请在源服务器上资源的请求.最简单的状况多是在用户代理和服务器之间经过一个单独的链接来完成。在Internet上,HTTP 通信一般发生在TCP/IP链接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。     这个过程就好像咱们打电话定货同样,咱们能够打电话给商家,告诉他咱们须要什么规格的商品,而后商家再告诉咱们什么商品有货,什么商品缺货。这些,咱们是经过电话线用电话联系 (HTTP是经过TCP/IP),固然咱们也能够经过传真,只要商家那边也有传真。     以上简要介绍了HTTP协议的宏观运做方式,下面介绍一下HTTP协议的内部操做过程。     在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的链接期间,即在某个链接中的客户在另外一个链接中可能做为服务器。基于 HTTP 协议的客户/服务器模式的信息交换过程,它分四个过程:创建链接、发送请求信息、发送响应信息、关闭链接。这就好像上面的例子,咱们电话定货的全过程。     其实简单说就是任何服务器除了包括HTML文件之外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级连接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操做后回送所要求的文件。在这一过程当中,在网络上发送和接收的数据已经被分红一个或多个数据包(packet),每一个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包.TCP/IP决定了每一个数据包的格式。若是事先不告诉你,你可能不会知道信息被分红用于传输和再从新组合起来的许多小块。     也就是说商家除了拥有商品以外,它也有一个职员在接听你的电话,当你打电话的时候,你的声音转换成各类复杂的数据,经过电话线传输到对方的电话机,对方的电话机又把各类复杂的数据转换成声音,使得对方商家的职员可以明白你的请求。这个过程你不须要明白声音是怎么转换成复杂的数据的。
什么是Socket?
    Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员能够用它们来开发TCP/IP 网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。     Socket接口设计者最早是将接口放在Unix操做系统里面的。若是了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。
    Socket也具备一个相似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述服务器

相关文章
相关标签/搜索