首页 > 代码库 > HTTP要点概述:三,客户端和服务器,请求和响应

HTTP要点概述:三,客户端和服务器,请求和响应

一,客户端和服务器:

HTTP协议主要用于客户端和服务器之间的通信。

1,客户端(client):请求访问资源的一端。(知道为啥用C表示客户端了吧)

2,服务器(server):提供资源响应的一端。

技术分享

两台使用HTTP协议通信的两台计算机,在一条通信线路上,必定有一端是客户端,另一端是服务器。就实际情况而言,两台计算机之间作为服务器或者客户端角色可能会发生互换,就一条通信线路而言(记得好像是信道,information channels)客户端和服务器角色是固定的,并且HTTP可以明确区分哪个是客户端,那个是服务器。

 

二,请求和响应:

客户端和服务器之间通过请求和响应的交换达成通信。(说的真好)

HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。所以,肯定是先从客户端开始建立通信的,服务器端在没有接收到请求之前不会发送响应。

(有没有想起NSURLRequest,NSURLResponse)

1,请求(Request)的报文格式:

技术分享

a,方法(method):后面会详述

b,URI:统一资源定位符

c,请求首部字段(header Fields,贴心吧,很多地方不会告诉你就是它):

强行插入

4种首部字段类型

  • 通用首部字段(General Header Fields)
  • 请求首部字段(Request Header Fields)
  • 响应首部字段(Response Header Fields)
  • 实体首部字段(Entity Header Fields):针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间与实体有关的信息

d,实体内容,就是数据和参数等

 

2,响应(Response)的格式:

技术分享

a,协议版本

b,状态码(status code):后面会详述;2xx,3xx,4xx,5xx

c,原因短语(reason-phrase):成功/失败原因的简单描述

d,首部字段(header fields):响应的一些附加信息,日期,内容大小,内容格式等。

e,实体(entity body):返回的数据等。

HTTP要点概述:三,客户端和服务器,请求和响应