客户程序向服务器发送的请求可以有不同的类型,这样服务器可以根据不同的请求类型进行不同的处理。在HTTP1.0中,定义了三种最基本的请求类 型,GET、POST和HEAD,客户程序用大写指令将请求发送给服务器,后面跟随具体的数据。
其中,HEAD请求在客户程序和服务器之间进行交流,而不会返回具体的文档。当使用GET和POST方法时,服务器最后都将结果文档返回给客户程序,浏览器将 刷新显示。而HEAD请求则不同,它仅仅交流一些内部数据,这些数据不会影响浏览的过程。因此HEAD方法通常不单独使用,而是和其他的请求方法一起起到 辅助作用。一些搜寻引擎使用的自动搜索机器人使用这个方法来获得网页的标志信息,或者进行安全认证时,使用这个方法来传递认证信息。
除了这三种最常见的访问方法之外,在HTTP1.1中还定义了更多的访问方法类型,如PUT,用于将网页放置到正确位置,DELETE用于删除相关文档 等。这些方法并不常用,因而大部分Web服务器软件并没有实现他们。然而对于特定场合他们还是非常有用的,例如使用软件编辑网页时,网页编辑器可以使用这 些方法,管理不同的网页。
如果服务器不支持客户发送的请求方法,服务器将返回错误并立即关闭连接
HTTP请求的方法:HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式1、OPTIONS返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性2、HEAD向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。
这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。3、GET向特定的资源发出请求。
注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url4、POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。
数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
Loadrunner中对应POST请求函数:web_submit_data,web_submit_form5、PUT向指定资源位置上传其最新内容6、DELETE请求服务器删除Request-URL所标识的资源7、TRACE回显服务器收到的请求,主要用于测试或诊断8、CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。注意:1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。
原理区别:
在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。
HTTP 定义了与服务器交互的不同方法,最常用的有4种,Put(增),Delete(删),Post(改),Get(查),即增删改查:
1)Get,
它用于获取信息,注意,他只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的,而稍后会提到的Post它是可以修改数据的,所以这也是两者差别之一了。
2)
Post,它是可以向服务器发送修改请求,从而修改服务器的,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。
3)Delete 删除数据。可以通过Get/Post来实现。
4)Put,增加、放置数据,可以通过Get/Post来实现。
根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。
1.所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。(注意:这里安全的含义仅仅是指是非修改信息。)
根据HTTP规范,POST表示可能修改变服务器上的资源的请求
继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。
表现形式区别:
HTTP请求:在HTTP请求中,第一行必须是一个请求行(request
line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。
两种提交方式的区别:
(1)GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:
%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
POST提交:把提交的数据放置在是HTTP包的包体中。上文示例中红色字体标明的就是实际的传输数据
因此,GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变
(2)传输数据的大小:首先声明:HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。
而在实际开发中存在的限制主要有:
GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
因此对于GET提交时,传输数据就会受到URL长度的限制。
POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。
协议基础
HTTP(HyperText Transfer Protocol)是超文本转移协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
1. 关于计算机网络的定义。
答:广义的观点:计算机技术与通信技术相结合,实现远程信息处理或进一步达到资源共享的系统;资源共享的观点:以能够相互共享资源的方式连接起来,并且各自具有独立功能的计算机系统的集合;对用户透明的观点:存在一个能为用户自动管理资源的网络操作系统,由它来调用完成用户任务所需要的资源,而整个网络像一个大的计算机系统一样对用户是透明的,实际上这种观点描述的是一个分布式系统。
2. 计算机网络的拓朴结构。
答:计算机网络采用拓朴学的研究方法,将网络中的设备定义为结点,把两个设备之间的连接线路定义为链路。计算机网络也是由一组结点和链路组成的的几何图形,这就是拓朴结构。
分类:按信道类型分,分为点---点线路通信子网和广播信道的通信子网。采用点——点连线的通信子网的基本结构有四类:星状、环状、树状和网状;广播信道通子网有总线状、环状和无线状。
3. 计算机网络的体系结构
答:将计算机网络的层次结构模型和分层协议的集合定义为计算机网络体系结构。
4.计算机网络的协议三要素
答:三要素是:1,语法:关于诸如数据格式及信号电平等的规定;2,语义:关于协议动作和差错处理等控制信息;3,定时:包含速率匹配和排序等。
5.OSI七层协议体系结构和各级的主要作用
答:七层指:由低到高,依次是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。各层作用分别是:
物理层:向上与数据链路层相连,向下直接连接传输介质。提供一些建立、维持和释放物理连接的方法,以便能在两个或多个数据链路实体间进行数据位流的传输。
数据链路层:通过差错控制、流量控制等,将不可靠的物理传输信道变成无差错的可靠的数据链路。将数据组成适合正确传输的帧形式的数据单元,对网络层屏蔽物理层的特性和差异,使高层协议不必考虑物理传输介质的可靠性问题。
网络层:决定数据在通信子网中的传送路径,控制通信子网中的数据流量并防止拥塞等,提供建立、维护和终止网络连接的手段。网络层是通信子网的最高层。
传输层:为源主机到目的主机提供可靠的、有效的数据传输,这种传输与网络无关,传输层是独立于物理网络的。其上层协议不必了解实际网络,就可将数据安全可靠地传送到目的地。
会话层:建立、维护和同步进行通信的高层之间的对话。服务主要是:协调应用程序之间的连接建立和中断;为数据交互提供同步点;协调通信双方谁可在何时发送数据;确保数据交换在会话关闭之前完成等。
表示层:把源端机器的数据编码成适合于传输的比特序列,传送到目的端后再进行解码,在保持数据含义不变的条件下,转换成用户所理解的形式。
应用层:为用户的应用进程访问OSI环境提供服务。
6.TCP/IP协议体系结构
答:TCP/IP是一个协议系列,目前已饮食了100多个协议,用于将各种计算机和数据通信设备组成计算机网络。
TCP/IP协议具有如下特点:1,协议标准具有开放性,其独立于特定的计算机硬件与操作系统,可以免费使用;2,统一分配网络地址,使得整个TCP/IP设备在网络中都具有惟一的IP地址。
分层:应用层(SMTP, DNS, NFS, FTP, Telnet, Others)、传输层(TCP,UDP)、互联层(IP,ICMP, ARP, RARP)、主机——网络层(Ethernet, ARPANET, PDN ,Others)。
传输控制协议TCP:定义了两台计算机之间进行可靠数据传输所交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.580秒