HTTP协议学习笔记(一)简介

最近在阅读《HTTP权威指南》这本书。 本文中的绝大部分内容均出自此书。
HTTP协议是基于TCP之上的。 HTTP报文分为请求报文和响应报文两种。 这两种报文格式相同,都由以下三部分组成:
起始行(start line)
首部(header)
正文(body)
其中start line是必须要有的,header部分通常也一定会有,但body部分是可以没有的。
HTTP协议的报文是以文本方式组织的(虽然body部分可以有二进制数据)。 每一行以回车换行两个字符作为行结束标志。start line只有一行,它和header部分很容易区分,第一个回车换行之后,就开始了header部分。 header部分由若干键值对组成,每个键值对独占一行。 header部分和body部分之间以一个空行作为分隔标志。下面是一个请求和一个响应的示例:

请求报文:

GET /static/test.jpg HTTP/1.1
Host: www.domain.com
OtherHeader: OtherValue

请求响应:

HTTP/1.0 200 OKrn
Content-type: image/gifrn
Content-Length: 8572rn
rn
xxxxxxxxxxxxxxxxxxx

继续阅读“HTTP协议学习笔记(一)简介”