我爱编程

HTTP协议快速入门

2017-01-09  本文已影响88人  凛_冬_将_至

一、定义

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP is the protocol to exchange or transfer hypertext. -- wikipedia

从HTTP的定义可以看出,HTTP协议是互联网上进行数据通信的基础协议,用来交换或传输超文本。超文本是一种结构化的文本,在包含文本的节点之间使用逻辑链接(也叫超链接)。

二、概述

HTTP是基于TCP/IP协议的应用层协议。HTTP允许进行客户端和服务器之间的通信。通过HTTP或HTTPS请求的资源由URI(统一资源标识符)或URL(统一资源定位符)来标识。

在客户端-服务器的模式中,HTTP扮演着请求-响应协议的角色。客户端(通常是浏览器)提交HTTP请求消息给服务器。服务器可以提供HTML文件或其他类型的资源,或者代表客户端执行操作,返回响应消息给客户端。响应包含关于请求的完整状态信息。

三、历史

1、HTTP/0.9

该版本于1991年发布。

2、HTTP/1.0

该版本于1996年发布。

3、HTTP/1.1

该版本于1997年发布。对1.0版本进行了修订和完善,并一直沿用至今。

4、HTTP/2

该版本于2015年发布。

四、格式

每个HTTP请求和响应都遵循相同的格式,包含请求行/状态行、消息头(Header)和消息体(Body),其中消息体是可选的。

五、HTTP请求

1、请求行

GET / HTTP/1.1

其中,GET表示请求方法;/表示请求资源的路径;HTTP/1.1表示协议版本。

2、请求方法

用来表明对指定资源的操作方式。常用的请求方法有:

GET和POST方法的主要区别:

3、请求头

是对请求的一种限定,包含很多属性。常用的属性有:

六、HTTP响应

1、状态行

HTTP/1.1 200 OK

其中,HTTP/1.1表示协议版本;200表示状态码;OK是状态说明。

2、状态码

根据响应结果的类型,大致分为以下几类:

2.1 1XX(信息类)

该类型状态码表示接收到请求并且继续处理。

2.2 2XX(响应成功)

该类型状态码表示动作被成功接收、理解和接受。

2.3 3XX(重定向类)

该类型状态码表示为了完成指定的动作,必须接受进一步处理。

2.4 4XX(客户端错误类)

该类型状态码表示请求包含错误语法或不能正确执行。

2.5 5XX(服务器错误类)

该类型状态码表示服务器或网关错误。

3、响应头

是对响应的一种限定,包含很多属性。常用的属性有:

上一篇下一篇

猜你喜欢

热点阅读