HTTP协议

作者: TeekTon | 来源:发表于2016-08-24 12:06 被阅读33次

1.什么是HTTP

HTTP是一种可靠的数据传输协议,也叫超文本传输协议。能够用来在客户端和服务器之间进行数据传输。由于它是一种可靠的数据传输协议,所以我们不用担心在数据传输过程中数据被损毁或产生混乱。

2.Web客户端和服务器

HTTP协议使用来在Web客户端和服务器进行数据传递的。它们共同构成了万维网的基本组建。客户端发起HTTP请求,服务器在HTTP响应中返回所请求的数据。

客户端和服务器

3.资源

Web服务器是Web资源的宿主。Web资源是Web内容的源头。Web资源包括静态文件,如文本文件、html文件、jpeg文件等,也包括根据需要生成内容的软件程序,这些动态资源可以根据实际情况来生产不同的内容。总之,所有类型的内容来源都是资源。如网络摄像机网关、股票交易网关、搜索引擎。

3.1 媒体类型

数据的MIME类型,当浏览器从服务器拿到数据时,根据MIME类型来决定如何处理数据。MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。

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

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

JPEG版本的图片为image/jpeg类型

微软的PowerPoint演示文件为application/vnd.ms-powerpoint类型

3.2 URI

服务器的资源名被称作统一资源标识符(Uniform Resource Identifier,URI)。URI就像因特网上的邮政地址一样,在世界范围内唯一并定位信息资源。

如:http://img2.imgtn.bdimg.com/it/u=395920684,863299018&fm=21&gp=0.jpg

URI有两种形式,分别称为URL和URN。

3.3 URL

统一资源定位符(URL)是资源标识最常见的形式。URL描述了一台特定服务器上某资源的特定位置。

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

    URL的第一部分方案(scheme)。用来说明访问资源所使用的协议类型,通常就是HTTP协议(http://)。

    第二部分是服务器的地址,如www.joes-hardware.com。

    其余的部分指定Web服务器上某个资源的位置,如/specials/saw-blade.gif。

3.4 URN

统一资源名,被作为特定内容的唯一名称来使用,与资源所在地无关。通过URN,可以用同一个名字通过多种网络访问协议来访问资源。

比如,因特网标准文档RFC2414可以用URN来命名为urn:ietf:rfc:2414

URN处于试验阶段,还未大范围使用。

4.事务

一个HTTP请求和响应一起被称作一个HTTP事务。如图:

HTTP事务

4.1 方法

HTTP支持不同的命令,这些命令叫HTTP方法(method)。每个HTTP请求都包含一个方法。服务器通过这些方法来执行响应的动作。常见的HTTP方法如下:

HTTP方法                        描述

  GET                            从服务器获取资源

  PUT                            将来自客户端的数据存储到一个命名的服务器资源中去

  DELETE                       从服务器中删除资源

  POST                          将客户端的数据发送到服务器

  HEAD                         仅发送命名资源响应中的HTTP首部

4.2 状态码

每条HTTP响应都会携带一个状态码,用来告知客户端服务器处理请求的结果。

常见状态码

每个状态码,还对应一个解释性的“原因语句”文本。用来描述处理结果。

5.报文

报文分为请求报文和响应报文。报文分包括三个部分

起始行

报文的第一行就是起始行,在请求中用来说明要服务器进行那种操作,在响应报文中说明出现了什么情况。

首部字段

起始行后有零个或多个首部字段,以key:value的形式出现。首部以一个空行结束

主体

空行后就是报文的主题。包含所有类型的数据。

一个HTTP事务实例

6.连接

HTTP是应用层协议,传输层使用TCP传输控制协议提供可靠的数据传输。当然要在客户端和服务端进行通信,还需要IP地址和端口号,所以在URL中需要指定IP或者端口号,通常默认端口号就是80,当然也可以是其他的端口号,关于IP地址,我们使用域名来通过DNS域名解析服务来解析成IP。

7.协议版本

HTTP的版本有0.9、1.0、1.0+、1.1、2.0。目前使用的协议版本是1.1。

8.Web的结构组建

代理   位于客户端和服务器之间的HTTP中间实体

缓存   HTTP仓库,使常用页面的副本可以保存在离客户端更近的地方。

网关   连接其他应用程序的特殊Web服务器

隧道    对HTTP同学报文进行盲转发的特殊代理

Agent代理    发起自动HTTP请求的半智能Web客户端

相关文章

网友评论

    本文标题:HTTP协议

    本文链接:https://www.haomeiwen.com/subject/gvrnsttx.html