HTTP协议简介

合集下载

Http协议简介

Http协议简介
Unauthorized
含义
请求出现语法错误。
客户试图未经授权访问受密码保护的页面。
403
404
Forbidden
Not Found
资源不可用。服务器理解客户的请求,但拒绝处理它。 通常由于服务器上文件或目录的权限设置导致。
无法找到指定位置的资源。这也是一个常用的应答。
500
501
Internal Server Error
URI 与 URL


URI: Universal Resource Identifier 通用资源标志符, Web上可用的每种资源 ,如 HTML文档、图像、视频 片段、程序等, 由URI进行定位。 URL:Uniform Resource Location 统一资源定位符, Internet上用来描述信息资源的字符串,主要用在各种 WWW客户程序和服务器程序上 ,采用URL可以用一 种统一的格式来描述各种信息资源,包括文件、服务 器的地址和目录等。
HTTP应答包

由三个部分构成,分别是:协议-状态代码-描述,应答头,应答 正文 HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Mon, 3 Jan 2005 13:13:33 GMT Content-Type: text/html Last-Modified: Mon, 11 Jan 2004 13:23:42 GMT Content-Length: 90 <html> <head> <title>解读HTTP包示例</title></head><body> Hello WORLD! </body> </html>

HTTP协议简述

HTTP协议简述

HTTP协议简述前⾔HTTP协议是整个Web的基础,是客户端和服务器端协同⼯作的基⽯,要想了解Web的⼯作原理、优化Web应⽤,就要完全理解HTTP协议。

HTTP的操作过程1 ,浏览器分析指向页⾯的URL2 ,浏览器向DNS系统请求解析域名所对应的服务器IP地址3 ,DNS系统解析出服务器的IP,并返回给主机4 ,浏览器与该服务器的进程建⽴TCP链接(三次握⼿,端⼝默认为80)5 ,浏览器发出HTTP请求:如GET /article/index.html6 ,服务器收到请求并作出相应处理,把⽂件index.html发送给浏览器7 ,释放TCP链接(四次握⼿)8 ,浏览器解析index.html⽂件,将web页显⽰出来。

HTTP协议的特点HTTP协议是⽆状态的,即多次访问⼀个服务器上的页⾯,服务器并不知道你曾经访问过,每次访问的响应都当做第⼀次访问⼀样。

所以,在实际应⽤中,通常使⽤CooKie加数据库的⽅式记录和跟踪⽤户的活动。

HTTP有⾮持久连接和持久连接:采⽤⾮持久连接时,⽹页的每个元素对象(如.png,jpeg图等)的传输都需单独建⽴⼀个TCP连接(第三次握⼿可携带请求信息)采⽤持久连接时,仅需建⽴⼀次TCP连接,服务器发送响应后仍保持连接,客户和服务器可以继续在这条连接上发送请求和响应报⽂。

Cookie以及其作⽤CooKie是由服务器⽣成,但存储在⽤户主机上的⽂本⽂件,它保存了服务器和客户之间传递的状态信息,作为识别⽤户的⼿段。

通过Cookie服务器就能从数据库中查询该⽤户的活动记录,进⽽可以执⾏⼀些个性化操作get和post⽅法的区别:⼀般我们在浏览器输⼊⼀个⽹址访问⽹站都是GET请求;在FORM表单中,可以通过设置Method指定提交⽅式为GET或POST,默认时为GET提交⽅式。

get请求⼀般不会修改服务器的信息,仅⽤于请求页⾯;post请求可能会修改服务器中的资源信息,如提交评论、博客等都是通过post请求实现。

HTTP协议简介

HTTP协议简介

HTTP协议简介一、背景介绍HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。

它是Web应用中最基础、最重要的协议之一,负责在客户端和服务器之间传输数据。

HTTP协议的发展和普及,使得互联网得以快速发展,并成为现代社会中不可或缺的一部分。

二、协议概述1. HTTP的特点HTTP协议具有以下特点:- 简单:HTTP协议使用简单的请求-响应模型,客户端发送请求,服务器返回响应。

- 无状态:HTTP协议不会保留与之前请求相关的任何信息,每个请求都是独立的。

- 可扩展:HTTP协议支持通过添加新的方法、头部字段和状态码来扩展功能。

2. HTTP的工作原理HTTP协议通过客户端-服务器模型工作。

客户端发送HTTP请求到服务器,服务器处理请求并返回HTTP响应。

HTTP请求和响应都由消息头和消息体组成。

消息头包含了请求或响应的元数据,消息体包含了实际的数据。

3. HTTP的请求方法HTTP定义了多种请求方法,常用的有:- GET:获取指定资源的内容。

- POST:向指定资源提交数据。

- PUT:将请求的数据存储到指定位置。

- DELETE:删除指定的资源。

- HEAD:获取指定资源的元数据。

4. HTTP的状态码HTTP响应包含一个状态码,用于表示服务器对请求的处理结果。

常见的状态码有:- 200 OK:请求成功。

- 404 Not Found:请求的资源不存在。

- 500 Internal Server Error:服务器内部错误。

5. HTTP的头部字段HTTP请求和响应中可以包含多个头部字段,用于传递附加的信息。

常见的头部字段有:- Content-Type:指定请求或响应的媒体类型。

- Content-Length:指定请求或响应的数据长度。

- Cookie:用于在客户端和服务器之间传递状态信息。

三、应用场景HTTP协议广泛应用于Web开发和互联网通信中,包括但不限于以下场景:1. 浏览器和服务器之间的通信:HTTP协议是浏览器和服务器之间进行数据交互的基础。

网页传输协议

网页传输协议

网页传输协议介绍网页传输协议(Hypertext Transfer Protocol, HTTP)是一种用于传输超文本的应用层协议,用于在Web浏览器和Web服务器之间传输数据。

它是一种无状态、无连接的协议,通过TCP/IP协议族来实现。

发展历史HTTP协议最早由蒂姆·伯纳斯-李(Tim Berners-Lee)在1991年提出,并在1996年正式发布HTTP/1.0版本。

随着互联网的快速发展,HTTP协议经历了多个版本的更新和升级,目前最新的版本是HTTP/2。

工作原理HTTP协议的工作原理可以简单概括为以下几个步骤: 1. 客户端发起请求:Web浏览器作为客户端向Web服务器发送请求,请求中包含请求行、请求头和请求体等信息。

2. 服务器响应请求:Web服务器接收到客户端的请求后,会根据请求内容进行处理并生成响应。

响应中包含响应行、响应头和响应体等信息。

3. 数据传输:通过TCP/IP协议进行数据传输。

客户端和服务器通过建立连接来进行数据的交换,使用可靠的传输控制协议(TCP)来确保数据的可靠性和完整性。

4. 请求完成:客户端接收到服务器的响应后,根据响应内容进行解析和处理。

通常情况下,客户端会渲染并显示响应内容,完成整个请求过程。

HTTP请求方法HTTP协议定义了多种请求方法,常用的有GET和POST两种方法: - GET方法用于请求获取指定资源,通常用于获取数据。

- POST方法用于向服务器提交数据,通常用于提交表单数据或上传文件等操作。

除了GET和POST之外,还有其他的HTTP请求方法,如PUT、DELETE、HEAD等,用于不同的目的和场景。

HTTP状态码HTTP协议定义了多种状态码,用于表示服务器对请求的处理结果。

常见的状态码有: - 200 OK:表示请求成功,服务器成功处理了请求并返回了响应数据。

- 404 Not Found:表示请求的资源不存在。

- 500 Internal Server Error:表示服务器内部出现错误。

HTTP协议

HTTP协议

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(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加密层来提供安全的通信。

http是什么

http是什么HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于传输超文本的应用层协议。

它是互联网上应用最广泛的协议之一,用于客户端和服务器之间的通信。

HTTP通过传输和接收超文本,实现了Web浏览器和Web服务器之间的数据交换。

本文将介绍HTTP的基本概念、工作原理和应用。

一、HTTP的基本概念HTTP是一种无状态协议,即服务器不会记住之前的通信状态。

每个HTTP请求都是独立的,服务器无法通过之前的请求了解客户端的信息。

这样设计的原因是为了提高服务器的处理效率,并使得系统更具有可扩展性。

二、HTTP的工作原理1. 客户端发送请求当用户在浏览器中输入网址或点击链接时,浏览器会向服务器发送HTTP请求。

请求包括请求方法(如GET、POST等)、请求头和请求体。

2. 服务器处理请求服务器接收到请求后,会解析请求头中的信息,并根据请求方法和请求地址来确定如何处理请求。

服务器可能会对请求进行验证、验证用户身份、查询数据库等操作。

3. 服务器返回响应服务器根据请求的处理结果生成响应数据,包括响应头和响应体。

响应头包含了响应状态码、响应类型等信息,响应体则包含了实际的数据。

4. 客户端处理响应浏览器接收到响应后,会根据响应头中的信息来判断如何处理响应。

根据响应头的内容,浏览器可能会展示网页内容、下载文件、重定向等。

三、HTTP的应用HTTP在互联网上广泛应用于各类Web应用程序,其中最为重要的应用就是网页浏览。

用户通过浏览器向Web服务器发送HTTP请求,服务器返回相应的HTML、CSS和JavaScript等前端代码,浏览器解析后展示给用户。

此外,HTTP还可用于下载文件、提交表单数据、管理账户和会话等。

例如,当用户在网上购物时,通过HTTP将购物车中的商品信息和用户信息提交给服务器进行处理。

四、HTTP的发展HTTP的发展经历了多个版本的迭代,目前最新的版本是HTTP/2。

HTTP简介.


HTTP响应消息
响应消息的结构:
一个状态行、若干消息头、以及实体内容 ,其中的一些消息头和实体 内容都是可选的,消息头和实体内容之间要用空行隔开。

举例:
HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Thu, 13 Jul 2000 05:46:53 GMT Content-Length: 2291 Content-Type: text/html Cache-control: private <HTML> <BODY> ……
消息头又可以分为通用信息头、请求头、响应头、实体头等四 类。 许多请求头字段都允许客户端在值部分指定多个可接受的选项 ,多个项之间以逗号分隔。 有些头字段可以出现多次。


请求行与状态行

请求行
格式:请求方式 资源路径 HTTP版本号<CRLF> 举例:GET /test.html HTTP/1.1 请求方式:POST、HEAD、OPTIONS、DELETE、TRACE、PUT

状态行
格式: HTTP版本号 状态码 原因叙述<CRLF> 举例:HTTP/1.1 200 OK
使用GET和POST方式传递参数

在URL地址后面可以附加一些参数
举例:/servlet/ParamsServlet?param1=abc&param2=xyz

500(内部服务器错误)
服务器端的CGI、ASP、JSP等程序发生错误。
通用信息头

通用信息头字段既能用于请求消息,也能用于响应消息,它包括一 些与被传输的实体内容没有关系的常用消息头字段。

HTTP协议

HTTP协议HTTP(HyperT extTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,浏览器与Web服务器之间所遵循的协议就是HTTP,关于HTTP协议的详细内容请参考RFC2616。

HTTP协议采用了请求/响应模型。

客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。

服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

浏览器就是与Web服务器产生连接的客户端程序,它的端口为TCP的80端口。

浏览器与Web服务器之间所遵循的协议就是HTTP。

HTTP的早期版本为HTTP/0.9,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益发展各种应用的需要。

但HTTP/0.9作为HTTP协议具有典型的无状态性:每个事务都是独立进行处理的,当一个事务开始就在客户与服务器之间建立一个连接,当事务结束时就释放这个连接。

HTTP/0.9包含Simple-Request&Simple-Responsed的报文结构。

但是客户无法使用内容协商,所以服务器也无法返回实体的媒体类型。

1982年,Tim Berners-Lee提出了HTTP/1.0,在此后的不断丰富和发展中,HTTP/1.0成为最重要的面向事务的应用层协议。

该协议对每一次请求/响应,建立并拆除一次连接。

其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。

其缺点是仍会发生下列问题:对用户请求响应慢、网络拥塞严重、安全性等。

1997年形成的HTTP/1.1,也就是现在普遍使用的协议,在持续连接操作机制中实现流水方式,即客户端需要对同一服务器发出多个请求时,其实现在多数的网页都是有多部分组成(比如多张图片),可用流水线方式加快速度,流水机制就是指连续发出多个请求并等到这些请求发送完毕,再等待响应。

什么是HTTP协议它在Web通信中的作用是什么

什么是HTTP协议它在Web通信中的作用是什么HTTP协议(Hypertext Transfer Protocol)是一种用于在Web通信中传输数据的协议。

它是现代互联网通信的基础,负责在客户端和服务器之间传送各种类型的数据。

HTTP协议的作用主要体现在以下几个方面:1. 数据传输:HTTP协议被用来在Web浏览器和服务器之间传输各种资源,如文本、图片、音频、视频等。

它定义了数据传输的格式和规则,确保数据能够准确、高效地传递。

2. 客户端与服务器通信:HTTP协议通过请求-响应模型实现客户端与服务器之间的通信。

客户端发送HTTP请求给服务器,服务器根据请求内容作出相应,再将响应返回给客户端。

通过HTTP协议,客户端能够向服务器请求所需的资源,并获取服务器的响应结果。

3. 网页访问:HTTP协议是Web浏览器与服务器之间通信的基础。

当用户输入网址或点击链接时,Web浏览器将发送HTTP请求给服务器,服务器将对请求做出相应并返回HTML文档,最终呈现给用户的是经过浏览器渲染后的网页。

因此,HTTP协议在用户访问网页时起到了重要的作用。

4. 状态管理:在Web通信中,HTTP协议可以通过使用Cookie和Session来管理状态。

Cookie是服务器发送给客户端的一小段信息,浏览器将其保存并在后续请求中带上,实现状态的持久化。

Session则是服务器端保存的与用户相关的信息,通过标识符来进行状态的管理。

HTTP协议通过这两种机制,使得服务器能够根据用户的状态进行相应的处理。

5. 缓存控制:HTTP协议还支持缓存机制,能够在一定程度上减少服务器的负载和提升访问速度。

通过设置响应头中的缓存控制字段,服务器可以指示客户端是否应该缓存响应内容以及缓存内容的有效期等。

客户端可以根据缓存的策略来决定是否发送HTTP请求以及如何使用缓存内容,从而提高效率。

综上所述,HTTP协议在Web通信中起到了数据传输、客户端与服务器通信、网页访问、状态管理和缓存控制等作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.TCP/IP 协议介绍在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容。

TCP/IP协议是分层的,从底层至应用层分别为:物理层、链路层、网络层、传输层和应用层,如下图所示:从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下:其中,对于TCP传输协议,客户端在于服务器建立连接前需要经过TCP三层握手,过程如下:二.HTTP协议2.1简介超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议,自 1990 年起,HTTP 就已经被应用于 WWW 全球信息服务系统。

HTTP 是一种请求/响应式的协议。

一个客户机与服务器建立连接后,发送一个请求给服务器;服务器接到请求后,给予相应的响应信息。

HTTP 的第一版本 HTTP/0.9是一种简单的用于网络间原始数据传输的协议;HTTP/1.0由 RFC 1945 定义,在原 HTTP/0.9 的基础上,有了进一步的改进,允许消息以类 MIME 信息格式存在,包括请求/响应范式中的已传输数据和修饰符等方面的信息;HTTP/1.1(RFC2616) 的要求更加严格以确保服务的可靠性,增强了在HTTP/1.0 没有充分考虑到分层代理服务器、高速缓冲存储器、持久连接需求或虚拟主机等方面的效能;安全增强版的 HTTP (即S-HTTP或HTTPS),则是HTTP协议与安全套接口层(SSL)的结合,使HTTP的协议数据在传输过程中更加安全。

2.2协议结构HTTP协议格式也比较简单,格式如下:2.3HTTP 协议举例下面是一个HTTP请求及响应的例子:2.4请求头格式a) 通用头(general-header):Cache-Control:客户端希望服务端如何缓存自己的请求数据,如"Cache-Control:no-cache","Cache-Control: max-age=0";Connection:客户端是否希望与服务端之间保持长连接,如"Connection: close", "Connection: keep-alive";Date:只有当请求方法为POST或PUT方法时客户端才可能会有些字段;Pragma:包含了客户端一些特殊请求信息,如 "Pragma: no-cache" 客户端希望代理或应用服务器不应缓存与该请求相关的结果数据;Via:一般用在代理网关向应用服务器发送的请求头中,表明该来自客户端的请求经过了网关代理,格式为:"Via: 请求协议版本网关标识 [其它信息] ",如:" Via: 1.1 webcache_250_:80 (squid)"b) 请求头(request-header):Accept:表明客户同端可接受的请求回应的媒体类型范围列表。

星号“*”用于按范围将类型分组,用“*/*”指示可接受全部类型;用“type/*”指示可接受 type类型的所有子类型,如“ Accept: image/gif, image/jpeg, */*”;Accept-Charset:客户端所能识别的字符集编码格式,格式:“Accept-Charset: 字符集1[:权重],字符集2[:权重]”,如:“ Accept-Charset: iso-8859-5, unicode-1-1;q=0.8”;Accept-Language:客户端所能识别的语言,格式:“Accept-Language: 语言1[:权重],语言2[:权重]”,如:” Accept-Language: zh, en;q=0.7”;Host:客户请求的主机域名或主机IP,格式:“Host: 域名或IP[:端口号]”,如:“Host: :80“,请求行中若有HTTP/1.1则必须有该请求头;User-Agent:表明用户所使用的浏览器标识,主要用于统计的目的;Referer:指明该请求是从哪个关联连接而来;Accept-Encoding:客户端所能识别的编码压缩格式,如:“Accept-Encoding: gzip, deflate”;If- Modified-Since:该字段与客户端缓存相关,客户端所访问的URL自该指定日期以来在服务端是否被修改过,如果修改过则服务端返回新的修改后的信息,如果未修改过则服务器返回304表明此请求所指URL未曾修改过,如:“If-Modified-Since: Fri, 2 Sep 2006 19:37:36 GMT”;If-None-Match:该字段与客户端缓存相关,客户端发送URL请求的同时发送该字段及标识,如果服务端的标识与客户端的标识一致,则返回304表明此URL未修改过,如果不一致则服务端返回完整的数据信息,如:“If-None-Match: 0f0a893aad8c61:253,0f0a893aad8c61:252, 0f0a893aad8c61:251”;Cookie:为扩展字段,存储于客户端,向同一域名的服务端发送属于该域的cookie,如:“Cookie: MailUserName=whouse”;c) 实体头(entity-header): (此类头存在时要求有数据体)Content-Encoding:客户端所能识别的编码压缩格式,如:“Content-Encoding: gzip, deflate”;Content-Length:客户端以POST方法上传数据时数据体部分的内容长度,如:“ Content-Length: 24”;Content- Type:客户端发送的数据体的内容类型,如:“Content-Type:application/x-www-form-urlencoded”为以普通的POST方法发送的数据;“Content-Type: multipart/form-data; boundary=---------------------------5169208281820”,则表明数据体由多部分组成,分隔符为“-----------------------------5169208281820”;2.5 响应格式a) 通用头(general-header):Cache- Control:服务端要求中间代理及客户端如何缓存自己响应的数据,如“Cache-Control: no-cache”,如:“Cache-Control: private”不希望被缓存,“Cache-Control: public”可以被缓存;Connection:服务端是否希望与客户端之间保持长连接,如“Connection: close”, “Connection: keep-alive”;Date:只有当请求方法为POST或PUT方法时客户端才可能会有些字段;Pragma:包含了服务端一些特殊响应信息,如“Pragma: no-cache”服务端希望代理或客户端不应缓存结果数据;Transfer-Encoding:服务端向客户端传输数据所采用的传输模式(仅在HTTP1.1中出现),如:“Transfer- Encoding: chunked”,注:该字段的优先级要高于“Content-Length”字段的优先级;b)响应头(response-header):Accept-Ranges:表明服务端接收的数据单位,如:“Accept-Ranges: bytes”, ;Location:服务端向客户端返回此信息以使客户端进行重定向,如:“Location:”;Server:服务端返回的用于标识自己的一些信息,如:“ Server: Microsoft-IIS/6.0”;ETag:服务端返回的响应数据的标识字段,客户端可根据此字段的值向服务器发送某URL是否更新的信息;c)实体头(entity-header): (此类头存在时要求有数据体)Content-Encoding:服务端所响应数据的编码格式,如:“Content-Encoding: gzip”;Content-Length:服务端所返回数据的数据体部分的内容长度,如:“ Content-Length: 24”;Content-Type:服务端所返回的数据体的内容类型,如:“Content-Type: text/html; charset=gb2312”;Set-Cookie:服务端返回给客户端的cookie数据,如:“ Set-Cookie:_SessionId=icnh2ku2dqlmkciyobgvzl55; path=/”2.6 服务器返回状态码1xx:表明服务端接收了客户端请求,客户端继续发送请求;2xx:客户端发送的请求被服务端成功接收并成功进行了处理;3xx:服务端给客户端返回用于重定向的信息;4xx:客户端的请求有非法内容;5xx:服务端未能正常处理客户端的请求而出现意外错误。

举例:“100” ; 服务端希望客户端继续;“200” ; 服务端成功接收并处理了客户端的请求;“301” ; 客户端所请求的URL已经移走,需要客户端重定向到其它的URL;“304” ; 客户端所请求的URL未发生变化;“400” ; 客户端请求错误;“403” ; 客户端请求被服务端所禁止;“404” ; 客户端所请求的URL在服务端不存在;“500” ; 服务端在处理客户端请求时出现异常;“501” ; 服务端未实现客户端请求的方法或内容;“502” ; 此为中间代理返回给客户端的出错信息,表明服务端返回给代理时出错;“503” ; 服务端由于负载过高或其它错误而无法正常响应客户端请求;“504” ; 此为中间代理返回给客户端的出错信息,表明代理连接服务端出现超时。

2.7 chunked 传输编码使用若干个Chunk组成,由一个标明长度为0的chunk结束,每个Chunk有两部分组成,第一部分是该Chunk的长度(以十六进制表示)和长度单位(一般不写),第二部分就是指定长度的内容,每个部分用CRLF隔开。

在最后一个长度为0的Chunk中的内容是称为footer的内容,是一些没有写的头部内容。

另外,在HTTP头里必须含有:”Transfer-Encoding: chunked”通用头字段。

格式如下:2.8 HTTP 请求方法GET、POST、HEAD、CONNECT、PUT、DELETE、TRACE、OPTIONS●get方法用于获取URI资源,是最为常用的一种方法。

●post方法用于向指定URI提交内容,服务器端响应其行为,该方法也极为常用。

相关文档
最新文档