- HTTP——因特网的多媒体信使
这样,用户在訪问信息时就不用操心其完整性了,因此对用户来说,这是件好事。而对因特网应用程序开发者来说也相同如此,由于这样就无需操心 HTTP 通信会在传输过程中被破坏、复制或产生畸变了。开发者可以专注于应用程序特有细节的编写,而不用考虑因特网中存在的一些缺陷和问题。
- Webclient和server
Web server所使用的是 HTTP 协议。因此常常会被称为 HTTP server。
这些 HTTP server存储了因特网中的数据。假设HTTP client发出请求的话,它们会提供数据。client向server发送 HTTP 请求,server会在 HTTP 响应中回送所请求的数据,例如以下图所看到的。HTTP client和 HTTPserver共同构成了万维网的基本组件。
可能你每天都在使用 HTTP client。最常见的client就是 Web 浏览器,比方微软的Internet Explorer 或网景的 Navigator。
Web 浏览器向server请求 HTTP 对象,并将这些对象显示在你的屏幕上。
浏览一个页面时(比方 http://www.oreilly.com/index.html) ,浏览器会向serverwww.oreilly.com 发送一条 HTTP 请求 。server会去寻找所期望的对象(在这个样例中就是 /index.html) ,假设成功。就将对象、对象类型、对象长度以及其它一些信息放在
HTTP 响应中发送给client。
- 资源
总之。全部类型的内容来源都是资源。包括公司销售预測电子表格的文件是一种资源。扫描本地公共图书馆书架的 Web 网关是一种资源。
因特网搜索引擎也是一种资源。
- 媒体类型
应该怎样处理这个对象。大多数浏览器都能够处理数百种常见的对象类型:显示图片文件、解析并格式化 HTML 文件、通过计算机声卡播放音频文件。或者执行外部MIME 类型是一种文本标记,表示一种基本的对象类型和一个特定的子类型,中间由一条斜杠来分隔。
普通的 ASCII 文本文档由 text/plain 类型来标记。
JPEG 版本号的图片为 image/jpeg 类型。
GIF 格式的图片为 image/gif 类型。
Apple 的 QuickTime 电影为 video/quicktime 类型。
微软的 PowerPoint 演示文件为 application/vnd.ms-powerpoint 类型。
在j2e中操作Excel,须要设置ContentType为application/msexcel,事实上就是这里mime类型。
- 方法
每条 HTTP 请求报文都包括一个方法。
这种方法会告诉server要执行什么动作(获取一个 Web 页面、执行一个网关程序、删除一个文件等) 。
一些常见的HTTP方法:
HTTP方法 描 述
GET 从server向client发送命名资源
PUT 将来自client的数据存储到一个命名的server资源中去
DELETE 从server中删除命名资源
POST 将client数据发送到一个server网关应用程序
HEAD 仅发送命名资源响应中的 HTTP 首部
- 状态码
每条 HTTP 响应报文返回时都会携带一个状态码。
状态码是一个三位数字的代码,告知client请求是否成功,或者是否须要採取其它动作。表 1-3 显示了几种常见的状态码。
HTTP状态码 描 述
200 OK。 文档正确返回
302 Redirect(重定向) 。 到其它地方去获取资源
404 Not Found(没找到) 。
无法找到这个资源
伴随着每一个数字状态码,HTTP 还会发送一条解释性的“原因短语”文本 。包括文本短语主要是为了进行描写叙述,全部的处理过程使用的都是数字码。
HTTP 软件处理下列状态码和原因短语的方式是一样的。
200 OK
200 Document attached
200 Success
200 All’s cool, dude
- 报文
从 Web client发往 Web server的 HTTP 报文称为请求报文(request message) 。
从server发往client的报文称为响应报文(response message) ,此外没有其它类型的
HTTP 报文。
HTTP 请求和响应报文的格式非常类似。
HTTP 报文包含下面三个部分。
报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。
首部字段 :
起始行后面有零个或多个首部字段。
每一个首部字段都包括一个名字和一个值。为了便于解析,两者之间用冒号(:)来分隔。
首部以一个空行结束。
加入一个首部字段和加入新行一样简单。
主体 :空行之后就是可选的报文主体了。当中包括了全部类型的数据。
请求主体中包括了要发送给 Web server的数据;响应主体中装载了要返回给client的数据。起始行和首部都是文本形式且都是结构化的,而主体则不同,主体中能够包括随意的二进制数据(比方图片、视频、音轨、软件程序) 。
当然,主体中也能够包括文本。
- 连接
版权声明:本文博主原创文章,博客,未经同意不得转载。