Android开发

Android 网络编程(一) Http协议原理

2018-07-01  本文已影响9人  未远可追

Http简介

HTTP是一个属于应用层的面向对象的协议。

Http协议的主要特点

  1. 支持C/S (客户/服务器) 模式。

  2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST,每种方法规定了客户与服务器联系的类型不同

  3. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型有Content-Type加以标记。

  4. 无连接:无连接的含义是限制每次的连接只处理一个请求,服务器处理网客户的请求,并收到客户的应答后,即断开连接。

  5. 无状态:HTTP协议是无状态协议,无状态是指协议对事物的处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传。

HTTP URL的格式如下
http://host[":"端口号port][abs_path]

http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号。为空则使用默认端口80;abs_path指定请求资源的URI

Http的报文

Http的两种报文分别是 请求报文响应报文

Http的请求报文
http请求报文.jpg

通常来说一个HTTP请求报文由 请求行请求报头空行、和 请求数据组成

1.请求行

请求行由请求方法URL字段Http协议的版本组成,格式如下:

Method   Request_URI   HTTP-Version   CRLF 
2.请求报头

在请求行之后会有0个或者多个请求报头,每个请求报头都包含一个头部域名称和头部域指,他们之间用冒号:分开。请求头部会另起一行,发送回车符合换行符告诉服务器请求头已经结束了。

3.请求数据

请求数据不在GET方法中使用,而是在POST方法中使用,POST方法使用于需要客户填写表单的场合,与请求数据相关的最常用的请求头是Content-Type和Content-Length。

HTTP的响应报文
Http的响应报文格式和http请求报文的格式大同小异,示意图如下: HTTP响应报文格式示意图.jpg

HTTP请求报文由 请求行请求报头空行、和 请求数据四部分组成,HTTP的响应报文同样由四部分组成,分别是状态行消息报头空行响应正文

1.状态行:

状态行由服务器HTTP协议版本号响应状态码文本描述组成
状态行格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF

HTTP的消息报头

HTTP的消息报头分为通用报头请求报头响应报头实体报头

通用报头

既可出现在请求报头,也和出现在响应报头当中。

请求报头

请求报头通知服务器关于客户端请求的信息,典型的请求头有

响应报头

用于服务器传递自身信息的响应,常见的响应报头:

End:此文的内容基本全来自于望哥的博客,但是是自己在学习过程中按照自己的理解逻辑梳理一遍后手敲做的笔记,不是简单的复制粘贴。这么做的目的一来是加深印象,二来也是希望能培养起自己写技术博客的习惯。由于目前自己懂得太少,没优质内容可以输出,那么就先从抄笔记做起吧!
最后附上望哥的博客地址:刘望舒

上一篇 下一篇

猜你喜欢

热点阅读