Http概述(一)

Http使用的是可靠的数据传输协议,因此即使数据来自地球的另一端,也能够确保数据在传输过程中不会被损坏或产生混乱。

这样用户在访问信息时就不用担心其完整性了。

web服务端与服务器是如何通信的



Web内容都是存储在web服务器上的,web服务器所使用的是http协议,因些经常会被称为Http服务器,http客户端发出请

求会话,它们会提供数据,客户端向服务器发送HTTP请求,服务器会在HTTP响应中回送请求的数据。如图

web资源



web服务器是web资源(web resource)的宿主,web资源的web内容的源头。最简单的web资源是web服务器

文件系统中的静态文件。这些文件可以包含任意内容:文本内容,HTML文件,图片等。

因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过WEB传输的对象都打上了名为MIME类型(mime type)

的数据格式标签。当web浏览器从服务器中取回一个对象时,会去查看相关的MIME类型,看看它是否知道

应该如何处理这个对象。大多数浏览器可以处理数百种觉的对象类型:显示图片文件、解析并格式化HTML文件、

通过计算机声卡插入音频文件,或者运行外部插件软件来处理特殊格式的数据。

MIME类型是一种文本标记,表示一种主要的对象类型和一个我写的子类型,中间由一条斜杠来分隔。如

  • HTML格式的文本文档由text/html类型来标记

  • 普通的ASCII文本由text/plain类型来标记

  • JPEG版本的图片为image/gpeg类型

  • GIF格式的图片为image/gif类型

常见的MIME类型有数百个,更多类型请查看 w3school

http://www.w3school.com.cn/media/media_mimeref.asp

每个web服务器资源都有一个名字,这样客户端就可以说明它们要找的资源是什么了,服务器资源名称被称为

统一资源标识符(Uniform Resource Identifier,URI)。

URI就像因特网上的身份证一样,在世界范围内唯一标识并定位信息资源

这个是是我博客上的一个图片资源URI

http://images.cnblogs.com/cnblogs_com/li-peng/578271/o_china.jpg

给出了URI,HTTP就可以解析出对象,URI有两种形式,分别称为URL和URN,

URL统一资源定位符是资源标识符最常见的形式。URL描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个

精确、固定的位置获取资源。

大部分URL都遵循一种标准格式,这种格式包含三个部分

  • URL的第一部分被称为方案(scheme)说明了访问资源所使用的协议类型。这部分通常就是HTTP协议(http://).

  • 第二部分给出了服务器的因特网地址(如:www.images.cnblogs.com)

  • 其余部分指定了Web服务器上的某个资源(如:cnblogs_com/li-peng/578271/o_china.jpg)

URN统一资源名。URN是作为特定内容的唯一名称使用的。它与当前的资源所在地无关。使用这些与位置无关的URN,就可以将资源四处搬移。通过URN,还可以用同一个名称能过多种网络协议来访问资源。

Urn还处于试验阶段,这里不详细介绍了

事务



一个http事务由一条请求命令和一个(从服务器发回客户端的)响应结果组成。这种通信是通过名为HTTP报文(http
message)的格式化数据进行的

方法

HTTP支持几种不同的请求命令,这些命令被称为HTTP方法。每条HTTP请求报文都包含一个方法。这个方法会告诉服务器要执行什么动作(获取一个web页面、运行一个网关程序、删除一个文件等)。下面列出了五种常见的HTTP方法

















GET 从服务器向客户端发送发送命名资源
PUT 将来自客户端的数据存储到一个命名的服务器资源中去
DELETE 从服务器中删除命名资源
POST 将客户端数据发送到一个服务器网关应用程序
HEAD 仅发送命名资源响应中的HTTP首部

这些方法在以后会详细讨论。

状态码



每条HTTP响应报文返加时都会携带一个状态码,状态码是一个三们数字的代码告知客户端请求是否成功,或者是否需要采取其他动作

下表列出了几种常用的状态码











200 OK,文档正确返回
302 Redirect(重定向),到其他地方去获取资源
404 Not Found(没找到)。无法找到这个资源

详细http://www.w3school.com.cn/tags/html_ref_httpmessages.asp

Web页面中可以包含多个对象

应用程序完成一项任务时通常会发布多个HTTP事件。比如,Web浏览器会发布一系列HTTP事务来获取并显示一个包含了丰富图片的WEB页面。

浏览器会执行一个事务来获取描述页面布局的HTML“框架”,然后发布另外的HTTP事务来获取每个嵌入式图片、图像面板、java小程序,这些嵌入式资源甚至可能位于不同的服务器上。

复全Web页面要为每个嵌入式资源使用一个单独的事务

报文



先简单说一个HTTP请求和响应报文结构,以扣会深入研究HTTP报文

HTTP报文是由一行一行的简单字符串组成。HTTP报文都是纯文本,不是二进制代码,所以人们可以

很方便地对其进行读写。

从WEB客户端发往WEB服务器的HTTP报文称为请求报文(request message)从服务器发客户端的报文称为响应报文

(response message) ,此外没有其他类型的HTTP报文。HTTP请求和响应报文的格式很类似

HTTP报文包含以下三个部分

  • 起始行

报文的第一行就是起始行,在请求报文中用来说明要做什么,在响应报文中说明出现了什么情况

  • 首部字段

起始行后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值,为了便于解析,两者之间用冒号(:)分隔。首部以一个空行结束。添加一个首部字段和添加新行一样简单

  • 主体

空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包括了要发送给Web服务器的数据;响应主体中装载了要返回给客户端的数据。起始行和首部都是文本形式且都是结构化的而主休则不同,主休中可以
包含任意的二进制数据(比如图片、视频、软件程序)。当然,主体中也可以包含文本

请求的一个实例

我们就打开ORACLE的主页http://www.oracle.com/cn/index.html

Http概述(一)

时间: 2024-11-08 23:44:34

Http概述(一)的相关文章

第一课 MongoDB 概述与安装

1.课程大纲 本次课主要介绍 MongoDB 背景知识和 MongoDB 的安装与配置,让大家对 MongoDB 有一个初认识. 其基本的知识点包含: NoSQL数据库概述 MongoDB 数据库简单介绍 Linux 下安装 MongoDB 数据库 Mac 和 Windows 下安装 MongoDB 数据库 2.课程简单介绍 MongoDB是由MongoDB.inc研发的一款NoSQL类型的文档型数据库,MonogoDB名字来源于英文单词humongous,这个单词的意思是巨大无比.暗喻Mong

java面向对象:面向对象的思想和概述

1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成了指挥者 开发,设计,特征 面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情. 面向对象设计 其实就是在管理和维护对象之间的关系. 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism

java基础总结——概述

  一.java语言概述 来自维基百科 https://zh.wikipedia.org/wiki/Java Java是一种计算机编程语言,拥有跨平台.面向对象.泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发. 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包机等家用电器的控制和通信.由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划.随着1990

译-BMC Remedy Action Request System权限控制概述

原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于ITIL标准的整个IT管理流程的实施定制.该平台可实现多种权限级别的管理,包括人员.组.角色,以及表.字段.行级别等.本文可以用作其他对权限要求比较精细的系统参考. 为了便于理解,部分名词翻译如下: Server:服务器Form (or table):表单Field (or column):字段Acti

Aircrack-ng: (1) 概述

作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 目录 一.概述 二.工具与命令介绍 Linux命令 (1) ifconfig (2) macchanger (3) iwconfig (4) iwlist Aircrack-ng 工具 (1) airmon-ng (2) airodump-ng (3) aireplay-ng (4) aircrack-ng 其他Aircrack-ng工具 一.概述 Aircrack-ng是一款用于破解无线

NHibernate框架与BLL+DAL+Model+Controller+UI 多层架构十分相似--『Spring.NET+NHibernate+泛型』概述、知识准备及介绍(一)

原文://http://blog.csdn.net/wb09100310/article/details/47271555 1. 概述 搭建了Spring.NET+NHibernate的一个数据查询系统.之前没用过这两个框架,也算是先学现买,在做完设计之 后花了一周搭建成功了.其中,还加上了我的一些改进思想,把DAO和BLL之中相似且常用的增删改查通过泛型T抽象到了DAO和BLL的父类中,其DAO 和BLL子类只需继承父类就拥有了这些方法.和之前的一个数据库表(视图)对应一个实体,一个实体对应一

排序算法--概述和参考

1 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序.堆排序或归并排序序. 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短: 2 参考 http://blog.csdn.net/hguisu/article/details/77

Css3之高级-7 Css动画(概述、关键帧、动画属性)

一.动画概述 动画概念 - 过渡属性只能模拟动画效果 - animation 属性可以制作类似 Flash 动画 - 通过关键帧控制动画的每一步 - 使元素从一种样式逐渐变化为另一种样式 - 实现复杂的动画效果 - 浏览器兼容性 - 最新版本支持良好 - Chrome 和 Safari 需要前缀 -webkit- - FireFox 需要前缀 -moz- - Opera 需要前缀 -o- 动画示例 - 声明动画 - 创建一个已命名的动画 - 使用 @keyframes 声明动画的关键帧 - 为元

android动画详解一 概述

动画和图形概述 Android 提供了大量的强大的API以应用于UI动画和绘制2D和3D图形.下面各节向你描述了这些API的预览和系统能力以帮助你决定怎么才是达到你需求的最佳方法. 动画 Android 框架提供了两个动画系统: 两种动画系统都是切实可用的,但是一般情况下属性动画系统是被首推使用的.因为它更灵活并且提供了更多的特性.在此两系统之外,你还可以使用Drawable动画,它使得你可以加载drawable资源并且一帧帧的显示它们. Property动画 从Android 3.0 (API

蓝牙核心技术概述(一):蓝牙概述

蓝牙核心技术概述(一):蓝牙概述 标签: 蓝牙bluetoothsig 2014-07-26 16:01 6143人阅读 评论(3) 收藏 举报  分类: 协议(14)  版权声明:本文为博主原创文章,未经博主允许不得转载. 关键词:蓝牙 核心技术 协议 版本 历史作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢)欢迎指正错误,共同学习.共同进步!!下载连接:Bluetooth PROFILE SPECIFICATIONS (基本涵盖所有蓝牙协议).buletooth cor