HTTP协议 2.HTTP协议
- 格式:doc
- 大小:175.00 KB
- 文档页数:11
应用层的8个协议及定义应用层是计算机网络体系结构中的顶层,它为应用程序提供服务和接口,允许应用程序之间利用网络交换信息。
应用层协议定义了应用程序如何交换数据和与网络中的其他应用程序进行通信的规则和标准。
本文将介绍应用层的8个协议,分别是HTTP、FTP、SMTP、POP3、IMAP、DNS、TELNET和SSH。
1. HTTP协议HTTP(HyperText Transfer Protocol)协议是用于Web浏览器和Web服务器之间数据传输的协议。
它是一种客户端-服务器协议,允许客户端向Web服务器发起请求并接受Web服务器的响应。
HTTP协议通常用于从Web服务器获取HTML文档、图像、视频和其他Web资源,可以通过标准的URL来访问Web资源。
2. FTP协议FTP(File Transfer Protocol)协议是一种用于在计算机之间传输文件的协议,它允许用户通过FTP客户端将文件上传和下载到FTP服务器。
FTP协议可以在用于文件传输的不同操作之间进行选择,如上传、下载、删除、重命名等。
上传和下载传输使用不同的数据端口,文件可以通过不同的传输模式来传输。
3. SMTP协议SMTP(Simple Mail Transfer Protocol)协议是一种用于电子邮件传输的协议,用于发送和接收电子邮件。
SMTP协议使用客户端-服务器体系结构,在用户的计算机和邮件服务器之间传输电子邮件。
SMTP协议支持电子邮件的传输,但不支持电子邮件的存储。
4. POP3协议POP3(Post Office Protocol version 3)协议是一种用于从邮件服务器接收电子邮件的协议。
它用于通过用户的邮件客户端从服务器上检索电子邮件。
POP3协议允许用户下载带有附件的邮件,并将邮件从服务器上删除以节省存储空间。
5. IMAP协议IMAP(Internet Message Access Protocol)协议是一种用于访问电子邮件的协议,它允许用户在邮件服务器上执行多种操作,如阅读、编辑、删除、标记邮件等。
ARP协议和http协议一、协议介绍1. ARP协议(Address Resolution Protocol)ARP协议是一种用于将IP地址解析为物理地址的协议,它在局域网中起到了重要的作用。
本协议定义了一种机制,使得网络设备可以通过IP地址找到对应的MAC地址,从而实现数据包的传输。
2. HTTP协议(Hypertext Transfer Protocol)HTTP协议是一种用于在Web浏览器和Web服务器之间传输超文本的协议。
它是一个无状态的协议,即服务器不会保留之前的请求信息,每个请求都是独立的。
HTTP协议使用TCP作为传输层协议,通过在客户端和服务器之间传输请求和响应来实现通信。
二、协议内容1. ARP协议1.1 协议目的ARP协议的目的是通过解析IP地址和MAC地址之间的映射关系,使得网络设备能够在局域网中正确地发送数据包。
1.2 协议流程1.2.1 发送ARP请求当一个设备需要发送数据包到目标设备时,它首先会检查自己的ARP缓存中是否有目标设备的MAC地址。
如果没有,它会发送一个ARP请求广播到局域网中的所有设备,请求目标设备的MAC地址。
1.2.2 接收ARP请求当局域网中的设备接收到ARP请求时,它会检查自己的IP地址是否与请求中的目标IP地址匹配。
如果匹配,它会向请求设备发送一个ARP响应,包含自己的MAC地址。
1.2.3 更新ARP缓存发送ARP请求的设备在接收到ARP响应后,会将目标设备的IP地址和MAC 地址添加到自己的ARP缓存中,以便将来快速解析。
1.3 协议数据格式ARP协议的数据包格式如下:- 硬件类型:表示网络接口的类型,如以太网为1。
- 协议类型:表示上层协议的类型,如IPv4为0x0800。
- 硬件地址长度:表示MAC地址的长度,如以太网为6字节。
- 协议地址长度:表示IP地址的长度,如IPv4为4字节。
- 操作码:表示ARP请求或响应,如ARP请求为1,ARP响应为2。
http 协议http协议(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议,由若干规则和标准组成,它将网页的HTML代码从服务器传输到客户端浏览器。
http协议的主要特点之一是无状态。
这意味着每个http请求都是独立的,服务器不会记住之前的请求或会话信息。
当客户端向服务器发送请求时,服务器只会根据请求的内容返回相应的数据,然后断开连接。
这种无状态的特点使得http协议具有快速、灵活、高效等优点。
http协议的通信过程通常包括以下几个步骤:1.客户端发起请求:客户端(通常是浏览器)向服务器发送http请求,请求的内容可以包括URL地址、请求方式(GET、POST等)、请求头部信息等。
2.服务器处理请求:服务器接收到请求后,根据请求的内容进行相应的处理,包括解析URL地址、处理请求头部信息、查询数据库等。
3.服务器返回响应:服务器处理完请求后,返回响应给客户端,响应的内容包括状态码、响应头部信息、响应体等。
4.客户端接收响应:客户端接收到服务器返回的响应后,根据响应的内容进行相应的操作,如渲染网页、下载文件等。
http协议采用明文传输,因此安全性较差。
为了解决这个问题,https协议应运而生。
https协议在http协议之上加入了ssl/tls协议,通过加密和认证机制,保障了通信的安全性。
尽管http协议的无状态特性使其具有一定的局限性,但它仍然是目前互联网最常用的协议之一。
http协议的设计简单、易于开发和实现,而且具有广泛的应用领域,涵盖了网页浏览、数据传输、文件下载、网站访问等方方面面。
无论是大型网站还是移动应用程序,都离不开http协议的支持。
最后,需要注意的是,http协议虽然在互联网中起到了非常重要的作用,但它仍然有一些缺点,比如在处理大量并发请求时效率较低,容易受到网络攻击等。
随着互联网的迅猛发展,未来的http协议可能会不断改进和演化,以满足不断变化的需求和挑战。
网络协议知识:HTTP协议和HTTPS协议的联系与区别HTTP协议和HTTPS协议是现代网络通信中最常用的两种协议之一。
HTTP协议是超文本传输协议的缩写,主要用于客户端和服务器之间的数据传输。
HTTPS协议是在HTTP协议的基础上添加了安全措施,使用SSL / TLS加密技术进行数据传输,提高了网络通信的安全性。
这篇文章将探讨这两种协议的联系和区别。
一、HTTP协议HTTP协议是一种无状态的应用层协议,它建立在TCP / IP协议基础上。
它的主要作用是在客户端和服务器之间传输数据。
HTTP协议采用了请求-响应的方式来进行通信。
当浏览器发起请求时,服务器会根据请求中的数据返回相应的资源。
HTTP协议是一种简单的协议,它具有以下几个特点:1. HTTP协议是无状态的。
这意味着每个请求都是独立的,服务器无法记住之前的请求。
这样可能会导致浏览器每次请求都需要重新验证身份,以确保安全。
2. HTTP协议是明文传输的。
这意味着所有的数据都是明文传输的,容易被黑客窃取和篡改。
这也是HTTP协议的一个缺点。
3. HTTP协议是简单的。
这意味着它不需要太多的计算和处理,因此可以很快地传输数据。
4. HTTP协议是可缓存的。
这意味着一些数据可以被缓存起来,以减少重复传输的次数。
二、HTTPS协议HTTPS协议是基于HTTP协议的安全协议,它添加了SSL / TLS加密技术来保证数据的安全性。
SSL / TLS协议使用了公钥加密算法和私钥加密算法来加密数据。
当浏览器和服务器之间建立连接时,它们交换公钥和私钥,然后使用这些密钥来加密数据。
HTTPS协议比HTTP协议更安全,因为它可以防止黑客窃取、篡改和重放数据。
它具有以下几个特点:1. HTTPS协议使用SSL / TLS加密技术,可以保证数据的机密性。
这意味着即使数据被黑客截获,也无法读取其中的内容。
2. HTTPS协议采用数字证书来验证服务器的身份。
这意味着客户端可以安全地连接到服务器,而不必担心被恶意服务器攻击。
HTTP协议#定义:#快速了解其作用:如:连接本机:telnet localhost 8081然后回车,输入:#查看方式:#http是工作在TCP/IP协议之上的协议:我们通过telnet localhost 8081(TCP/IP)连上服务器,然后通过http协议向服务器发送请求:*HTTP协议众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP、Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用。
注意:该文件:会向服务器发送四次请求:刷新一次页面浏览器获得页面,然后解析该页面,会向服务器请求三次,来获取三个文件。
因此在设计页面时,尽量减少浏览器对服务器的访问次数&HTTP请求内容注意:空行下跟的是post请求的数据存放位置#请求方式:post,get,head,options,delete,trace,put点击超链接时,想给服务器带点数据过去,可以这样做:#http请求头:作用:它可以把你想要得到的页面用规范的参数请求发送出去,并接受服务器返回的参数,进而你就得到了想要的页面。
Accept:用于告诉服务器,浏览器所支持的数据类型如:“text/html,imgaes/*,服务器会向其传输;“*/*”表示什么都支持Accept-Charset:告诉服务器所支持的字符编码Accept-Encoding:用于告诉服务器,客服既支持的压缩格式Accept-Language:客服机的语言环境Host:客服机通过这个头告诉服务器想访问的主机名If-Modified-Since:客服机通过这个头告诉服务器,资源的缓存时间(当访问过某个网页时,浏览器会将首页缓存,下次访问时会带着时间值去访问,服务器经过比对时间,判断网页是否更新,没有,则让浏览器调用缓存,否则,将更新页面传给浏览器Referer:客服机通过这个头告诉服务器,他是从哪个资源来访问服务器的(防盗链)User-Agent:客服机通过这个头告诉服务器,客服机的软件环境Cookie: 客服机通过这个头带给服务器数据Connection:客服机通过这个头告诉服务器请求完成后,是否断开连接,还是保持连接:close/keep-AliveDate: 当前时间值例如:&HTTP响应:服务器给浏览器回送的数据,包括:(我们可以通过服务器来控制浏览器的显示内容和方式)例如:注意:空行后是回送的数据#状态行:注解:*302表示:客服机向服务器请求时,服务器向客服机发送个302,表示让客服机请求别人*307/304向客服机传送该数字表示让客服机调用缓存*404,向客服机传送该数字表示服务器中该资源没有;403,表示客服机没有权限*500,表示服务器端出现问题#http常用响应头:(服务器可通过这个头控制浏览器的行为)--------》详解:Location:配合302实现请求重定向,告诉客服找谁。
HTTP协议⼀、HTTP协议1 HTTP协议简介超⽂本传输协议(英⽂:HyperText Transfer Protocol,缩写:HTTP)是⼀种⽤于分布式、协作式和超媒体信息系统的应⽤层协议。
HTTP 是万维⽹的数据通信的基础。
HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核⼦研究组织(CERN)所发起。
HTTP的标准制定由万维⽹协会(World Wide Web Consortium,W3C)和互联⽹⼯程任务组(Internet Engineering Task Force,IETF)进⾏协调,最终发布了⼀系列的RFC,其中最著名的是1999年6⽉公布的 RFC 2616,定义了HTTP协议中现今⼴泛使⽤的⼀个版本——HTTP 1.1。
2014年12⽉,互联⽹⼯程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)⼯作⼩组将HTTP/2标准提议递交⾄IESG进⾏讨论,于2015年2⽉17⽇被批准。
HTTP/2标准于2015年5⽉以RFC 7540正式发表,取代HTTP 1.1成为HTTP的实现标准。
2 什么是http这⾥只是简单概述⼀下,更多详情可以参见:基于tcp/ip、⼀种⽹络应⽤层协议、超⽂本传输协议HyperText Transfer Protocol⼯作⽅式:客户端请求服务端应答的模式快速:⽆状态连接,灵活:可以传输任意对象,对象类型由Content-Type标记3 HTTP协议概述HTTP是⼀个客户端终端(⽤户)和服务器端(⽹站)请求和应答的标准(TCP)。
通过使⽤⽹页浏览器、⽹络爬⾍或者其它的⼯具,客户端发起⼀个HTTP请求到服务器上指定端⼝(默认端⼝为80)。
我们称这个客户端为⽤户代理程序(user agent)。
应答的服务器上存储着⼀些资源,⽐如HTML⽂件和图像。
我们称这个应答服务器为源服务器(origin server)。
HTTP协议的原理和应用场景分析HTTP协议是现代互联网的基础协议之一,它是超文本传输协议的缩写。
HTTP协议的主要作用是建立在互联网基础设施之上的应用层协议,它使得网络上的应用能够相互通信和交互。
本文将详细介绍HTTP协议的原理和应用场景分析。
一、HTTP协议的原理HTTP协议是一个客户端和服务器之间通信的协议,一个HTTP请求由客户端发送至服务器,服务器响应这个请求,发送相关的数据和内容回到客户端。
HTTP协议是建立在TCP/IP协议之上,使用TCP或UDP端口作为传输层。
HTTP协议的工作方式是客户端发送请求给服务器,服务器回应响应。
HTTP协议的请求部分由以下几个部分组成:1.请求方法:表示请求哪种操作,常见的有GET、POST、HEAD等。
2.请求URI:表示请求的资源及其位置,如:/index.html。
3.协议版本:表示使用HTTP协议的版本号,如:HTTP/1.1。
4.请求头部:包含一些对请求的描述,如Accept、User-Agent 等。
5.请求正文:请求数据,如POST请求时传送的数据。
HTTP协议的响应部分由以下几个部分组成:1.状态码:表示服务器对请求的处理结果,如200表示成功,404表示未找到。
2.协议版本:表示使用HTTP协议的版本号,如:HTTP/1.1。
3.响应头部:包含一些对响应的描述,如Content-Type、Content-Length等。
4.响应正文:响应数据,如网页的HTML代码。
二、HTTP协议的应用场景HTTP协议是互联网中最为常用的协议之一,被广泛应用在互联网上的各类应用程序中,下面是HTTP协议的几个典型的应用场景:1.万维网(WWW)WWW是HTTP协议最为常见和重要的应用场景。
通过HTTP 协议,我们可以在网页之间进行超链接,实现网页之间的跳转和交互。
2.下载文件HTTP协议可以实现文档、图片、音频等文件的下载,例如常见的软件下载、视频下载等。
http协议是什么HTTP(Hypertext Transfer Protocol)协议是一种用于传输超文本的应用层协议。
HTTP是Web服务的基础,它的功能是允许客户端与服务器之间传输和交换资源。
HTTP协议采用了请求-响应模型,客户端发送请求给服务器,服务器返回响应给客户端。
请求由请求行、请求头和请求体组成,而响应由响应行、响应头和响应体组成。
HTTP协议的主要特点如下:1. 简单:HTTP协议的请求和响应是简洁明了的文本形式,在协议中使用了易于理解的方法和状态码,使其易于使用和调试。
2. 无状态:HTTP协议是无状态的,即每个请求和响应是独立的,服务器不会记住之前的请求。
这导致了每个请求都需要携带所有必要的信息,而不依赖之前的请求。
3. 可扩展性:HTTP协议是可扩展的,可以通过请求头和响应头添加自定义的字段,以满足不同应用的需求。
4. 基于TCP/IP:HTTP协议是建立在可靠的传输层协议TCP/IP之上的,确保了数据可靠的传输。
HTTP协议的工作流程如下:1. 客户端发起HTTP请求,发送一个HTTP方法(GET、POST等)、URL以及相应的请求头和请求体。
2. 服务器接收到请求,在响应头中包含了状态码、响应头和响应体。
3. 客户端接收到响应,根据响应头中的状态码判断请求的结果。
然后解析响应体中的数据,进行相应的处理。
HTTP协议的各个版本之间也有一些区别:- HTTP/0.9:1991年发布,只支持GET方法,没有请求头和响应头,只能传输HTML格式的文本。
- HTTP/1.0:1996年发布,支持多种数据格式,引入了请求头和响应头,并增加了POST方法和状态码。
- HTTP/1.1:1999年发布,是当前主流版本,支持持久连接、管道化请求以及更多的状态码。
- HTTP/2:2015年发布,引入了二进制传输、多路复用、头部压缩等新特性,提高了性能和效率。
除了常见的HTTP协议,还有HTTPS(HTTP Secure)协议,它通过在HTTP协议上叠加SSL/TLS加密层来提供安全的通信。
http2协议HTTP/2协议。
HTTP/2是超文本传输协议(Hypertext Transfer Protocol)的第二个主要版本,它是HTTP/1.1的升级版本,旨在提高网页加载速度和性能。
HTTP/2协议于2015年正式发布,它引入了一些新的特性和改进,使得网页加载速度更快、连接更可靠。
本文将介绍HTTP/2协议的一些重要特性和优势。
首先,HTTP/2采用了二进制协议,而不是HTTP/1.1的文本协议。
这意味着在传输数据时,HTTP/2使用二进制格式进行编码,而不是文本格式。
这种编码方式更加高效,能够减少数据传输的大小,提高传输速度。
另外,HTTP/2还引入了头部压缩机制,可以进一步减少数据传输的大小,提高传输效率。
其次,HTTP/2支持多路复用,允许在同一个连接上同时发送多个请求和响应。
在HTTP/1.1中,每个请求都需要建立一个单独的连接,而在HTTP/2中,可以在同一个连接上进行多个并行的数据交换,避免了建立多个连接的开销,提高了传输效率。
这种特性对于网页加载速度的提升有着显著的影响,尤其是对于大量小文件的传输。
另外,HTTP/2还引入了服务器推送的机制,允许服务器在客户端请求之前将一些可能需要的资源主动推送给客户端。
这样可以减少客户端请求的次数,加快页面加载速度。
例如,当客户端请求一个HTML页面时,服务器可以主动推送所需的CSS、JavaScript和图片等资源,避免了客户端发起多次请求的延迟。
此外,HTTP/2还支持流量控制和优先级控制,可以更加精细地管理数据传输的优先级和流量控制,提高了网络传输的效率和可靠性。
通过对数据流的优先级排序,可以确保重要数据的优先传输,提高用户体验。
总的来说,HTTP/2协议在多个方面对HTTP/1.1进行了改进和优化,提高了网页加载速度、传输效率和性能。
它的推出对于提升用户体验和网络性能有着重要的意义,也为未来的网络发展奠定了基础。
综上所述,HTTP/2协议的诸多特性和优势使得它成为了当前互联网传输协议的主流,也为未来的网络发展奠定了基础。
电脑网络协议介绍TCPIPHTTP和FTP的作用电脑网络协议介绍:TCP/IP、HTTP和FTP的作用电脑网络协议在当今信息技术发展中扮演着至关重要的角色,它们为互联网的正常运行提供了基础支持。
本文将介绍三种常见的网络协议:TCP/IP、HTTP和FTP,重点探讨它们的作用和功能。
一、TCP/IP协议TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网通信的核心协议。
它由两个子协议组成,分别是TCP和IP,分别负责数据的传输控制和互联网协议。
TCP/IP协议是一种面向连接的、可靠的协议,它保证了数据传输的可靠性和完整性。
TCP协议是一种面向连接的协议,它在传输数据之前需要建立连接。
它通过三次握手的方式确认双方的身份,建立可靠的传输通道。
TCP协议还实现了可靠的数据传输机制,通过序列号和确认机制确保数据的按序传递和可靠接收,同时还能对丢失的数据进行重传。
IP协议则负责将数据包从源地址传输到目的地址。
它是一种无连接的协议,不对数据传输的可靠性进行保证。
IP协议通过IP地址来标识网络中的主机,并根据路由表确定数据包的传输路径。
总结来说,TCP/IP协议提供了可靠的、端到端的数据传输服务,是互联网通信的基础。
二、HTTP协议HTTP(HyperText Transfer Protocol)是应用层协议,用于在客户端和服务器之间传输超文本。
它建立在TCP/IP协议之上,通过标准的HTTP请求和响应格式来进行通信。
HTTP协议的主要作用是实现Web浏览器和Web服务器之间的通信。
当我们在浏览器中输入一个URL时,浏览器会向服务器发送HTTP请求,请求获取相应的资源。
服务器接收到请求后,会返回相应的HTTP响应,包含了所需的资源。
HTTP协议定义了请求和响应的格式,并规定了各种请求方法(如GET、POST等)以及状态码来表示请求的状态。
HTTP协议还支持无状态的通信,即服务器不会保存客户端的状态信息。
2、HTTP协议浏览器上网浏览网页,其原理也同属于上部分所描述的网络应用程序,浏览器就是客户端程序,网站服务器就是服务器程序,其占用80端口。
当客户端程序访问网站时,在原理上就是访问服务器的80端口,浏览器和服务器交换数据的协议为HTTP协议,其原理就是发送请求、接收数据,而且数据都是文本形式传送的。
在介绍HTTP协议前,请下载并安装工具:HttpWatch,执行Setup.exe后,从桌面上启动HttpWatch Studio,点菜单『文件』->『打开』选择httpwatch.lic完成注册。
安装完毕后,打开IE浏览器,点菜单『查看』=>『浏览器栏』=>『httpwatch』如下图:这时IE浏览器的下方将出现两个框架的窗口,每一行都代表浏览器和服务器的一次交互,下面左边是发出的数据,右边是接收到的数据:其它选项都是以此为基础进行整理便于阅读,后续开发过程务必注意必须以这里的『流』部分数据为准。
请务必保持安装MASTUDIO开发群里的HttpWatch的版本,这对于后续请求技术支持提供问题数据有着重要的作用,在后续遇到问题的时候,只需要将浏览的过程保存为.hwl 文件发送给MAS技术支持即可,同版本可交互方便。
通过HttpWatch来观察浏览器和服务器的交互过程,可以更好的理解和分析HTTP协议,下面依据HTTP发展来依次介绍:2.1、GET协议当用户在浏览器把输入网址:/index.asp时,浏览器对网址进行拆分,为和/index.asp两部分,然后形成如下格式的数据包:GET /index.asp HTTP/1.1Host:Accept:text/*User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)Cookie: _SessionId=iayjigr33x5zqb45m2xeya3p; path=/Cookie: iofficelanguage=language=zh-cn; expires=Fri, 31-Dec-9999 23:59:59 GMT所有协议数据包都是文本字符串的形式,每行文本通过\r\n分开,最后一行有2个\r\n 表示协议结束。
第一行以GET开头,表示向服务器请求其后的目标/index.asp,请求的协议版本为HTTP/1.1,目标就是从网址中拆出来。
第二行Host表示请求的服务器域名为,也是从网址中拆出来。
第三行Accept表示浏览器接收服务器反馈数据的格式,text/*表示接收所有文本形式的反馈数据。
第四行User-Agent表示浏览器的标别,IE浏览器和Firfox浏览器各有不同。
第五行和第六行是Cookie,这个字段在下面另行描述。
WEB服务器接收到如上所描述数据包后,会返回如下格式的数据,其中<html>往下是我们可以在浏览器里通过查看源代码获取到,浏览器在整个和WEB服务器的交互过程中都隐藏了头部分,它们是事实存在而且很重要。
HTTP/1.1 200 OKDate: Wed, 30 Apr 2008 02:27:01 GMTServer: Microsoft-IIS/6.0Content-Type: text/html; charset=gb2312Content-Length: 9584<HTML><title>欢迎浏览</title><body>……</body></HTML>前面部分是HTTP协议的头,下面则是正文HTML代码,中间通过2个\r\n分开。
首先看头部分:第一行表示返回的状态代码为200状态意义为OK。
第二行表示返回数据的时间。
第三行表示服务器的标识,如果IIS或者APACHE第四行表示返回内容的类型和编码,这里表示返回GB2312编码的文本。
第五行表示返回数据的长度,也就是下面从<HTML>开始到结束部分的总长度。
最下面部分的数据就是HTML代码,浏览器通过HTML代码进行显示页面。
2.2、POST协议当浏览器上显示输入表单,输入数据提交给服务器则和GET有所区别,假设有个表单形式如下图所示:表单的代码如下,其有2个字段分别为szName、szAge,用户输入后提交给服务器这2个字段的内容。
<form method="Post" enctype="application/x-www-form-urlencoded" action="/save.asp"><p>姓名: <span ><INPUT TYPE="TEXT" NAME="szName"></span></p><p年龄: <span ><INPUT TYPE="TEXT" NAME="szAge"></span></p><p class=MsoNormal align=center style='text-align:center'><span lang=EN-US><INPUT TYPE="SUBMIT" VALUE="提交输入内容"><INPUT TYPE="RESET"></span></p></form>当用户输入数据后按下提交按钮则系统将szName和szAge数据提交给目标/save.asp进行处理,处理完成系统再返回结果。
当用户输入数据点『提交』后浏览器形成如下格式的数据包,发送给服务器:POST /save.asp HTTP/1.1Host:Accept:text/*User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)Cookie: upNum=0; path=/Content-Length:20szName=mas&szAge=123第一行POST表示向目标/save.asp发送数据,采用HTTP/1.1协议。
第二行Host表示域名为第三行Accept表示接收返回的数据格式。
第四行User-Agent表示浏览器的识别。
第五行Cookie下篇介绍第六行Content-Length表示下面提交的数据流的长度,也就是szName=mas&szAge=123的长度。
WEB服务器收到如上的数据包后,其由目标/save.asp进行数据接收和处理,处理后返回如下:HTTP/1.1 200 OKDate: Wed, 30 Apr 2008 02:26:59 GMTContent-Length: 10238Content-Type: text/html<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>填写登录信息[中高移动互联论坛 MAStudio]</title>….前面部分是HTTP协议的头,下面则是正文HTML代码,中间通过2个\r\n分开。
首先看头部分:第一行表示返回的状态代码为200 状态意义为OK。
第二行表示返回数据的时间。
第三行表示返回数据的长度。
第四行表示返回内容的类型。
返回的数据也就是下面从<HTML>开始到结束部分的总长度,下面部分的数据就是HTML代码,浏览器通过HTML代码进行显示页面。
2.3、Cookie协议以上两部分是HTTP的基础协议,完成基本的请求数据、发送数据操作。
由于浏览器和服务器之间建立的网络连接是完成即断开的模式,也就是浏览器在访问一个URL的时候,其从发出网络连接→发出请求数据→接收返回数据→断开网络连接,即为结束。
当一个网页包含有很多图片的时候,浏览器则重复以上动作很多次来完成。
由于这样的机制导致了服务器在接收到请求后,其不知道是谁发送请求数据,也就是无法针对多用户的情况来区分每一个用户。
在于需要给予权限来访问的页面则依靠前面的GET和POST是很难实现的,这就引入了Cookie机制。
一个Cookie其有4个属性组成,分别为所在域名、有效期、名字、值。
由服务器发送给浏览器,浏览器接收后将其保存到本地硬盘中,在后续的访问其它网址过程中,每次都把这个Cookie一起提交给服务器,服务器也就依据此来判断访问者的身份了。
例如登陆到/sample/login.asp,输入用户名和密码后,服务器会发送一个Cookie到浏览器来表示是否登陆成功。
例如发送的数据包格式如下提交给服务器用户名和密码:POST /sample/login.asp HTTP/1.1Host:Content-Length:20szName=mas&szPwd=123服务器处理返回数据,其中Set-Cookie字段表示服务器给予此用户分配一个Cookie,其名字为AuthID值为S4JK495JKJFGNNNK,浏览器并将其保存到本地硬盘中,那么本地浏览器就是保存了一个在域名,有效期不限、名字为AuthID、值为S4JK495JKJFGNNNK的Cookie。
HTTP/1.1 200 OKDate: Wed, 30 Apr 2008 02:26:59 GMTContent-Length: 10238Content-Type: text/htmlSet-Cooki e: AuthID= S4JK495JKJFGNNNK<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>填写登录信息[中高移动互联论坛 MAStudio]</title>….登陆成功获取到Cookie后,后续访问所有同域名的网址,浏览器都会把上面获取到的Cookie一起提交给服务器,来表明自己的身份。
比如访问/sample/getgrid.asp地址,发出的数据包格式为:GET /sample/getgrid.asp HTTP/1.1Host:Accept:text/*User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)Cookie: AuthID=S4JK495JKJFGNNNK这里最后一行Cookie则把前面获取到Cookie的名字和值发送给服务器,服务器依据此则可以判断出用户是否已经登陆成功。