简单的HTTP协议

Posted nyfor2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的HTTP协议相关的知识,希望对你有一定的参考价值。

  HTTP协议是作用于客户端和服务端的通信,而客户端和服务端是一个相对的角色,但是必须要通过请求和响应的交换来达成通信,而且HTTP协议规定,肯定是客户端先发出请求建立通信,服务器在没有接收到请求时是不会发送响应的。

  请求报文是由请求方法、请求URI、协议版本、请求首部字段和内容实体构成的。

  下面则是客户端给某个服务器端发送请求报文的格式:

技术分享图片

  接收到请求的服务器,会将请求内容的处理结果以响应的形式返回给服务器。

  响应报文基本上由协议版本、状态码、状态码的原因短语和可选的响应首部字段以及实体主体构成。

  以下是响应报文的构成的格式:

技术分享图片

  因为HTTP协议是不保存状态的协议,就是说自身不会对请求和响应之间的通信状态进行保存,这样会加快处理大量事物的速度,确保协议的可伸缩性。

  因为HTTP协议是使用URI定位互联网上的资源,所以在互联网上的任意资源都可以用URI搜索到。指定请求URI的方式有两种:

URI为完整的请求URI

GET http://hackr.jp/index.htm HTTP/1.1

在首部字段HOST中写明网络域名或IP地址

GET /index.htm HTTP/1.1

Host: hackr.jp

   其中,告知服务器意图的HTTP方法如下表:

方法

说明

支持的HTTP协议版本

GET

获取资源

1.0/1.1

POST

传输实体主体

1.0/1.1

PUT

传输文件

1.0/1.1

HEAD

获得报文首部

1.0/1.1

DELETE

删除文件

1.0/1.1

OPTIONS

询问支持的方法

1.1

TRACE

追踪路径

1.1

CONNECT

建立和资源之间的联系

1.1

  HTTP1.1相比起HTTP1.0来说,多了持续连接和管线化的特性,持续连接可以减少因为每次对话断开和连接的开销,而管线化可以实现并发发送多个请求的功能。

  因为HTTP协议是一种无状态协议,所以为了实现保持登录状态的功能,引进了Cookie的技术。

  Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态。

  Cookie会根据服务端发送的响应报文内的一个叫做"Set-Cookie"的首部字段信息,通知客户端保存Cookie。当下次客户端再次发送请求时,客户端会自动在请求报文中加入Cookie值后发送给服务端,服务端接收到客户端发送过来的Cookie之后,会去检查此Cookie是从哪个客户端发过来的,然后对于服务器之前的数据,最后得到之前客户端的状态信息。

 

以上是关于简单的HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章

iOS Http协议与TCP协议简单理解

Http协议与TCP协议简单理解

Http协议与TCP协议简单理解

Http协议与TCP协议简单理解(转)

Http协议与TCP协议简单理解( 转 )

转载Http协议与TCP协议简单理解