HTTP1.0&HTTP1.1(rfc2616)

一,http(hypertext transfer protocol)超文本传输协议 是 分布的(为什么是分布的), 协作的(如何协作?), 超媒体信息系统的(与超媒体信息系统何关系?) 应用层协议。http1.1是对http1.0未考虑分层代理,缓存,永久链接需求和多虚拟主机影响等的改进。

 

二,http/1.0

H T T P / 1 . 0报文有两种类型:请求和响应。H T T P / 1 . 0请求的格式是:
re q u e s t - l i n e
headers ( 0或有多个)
<blank line>
body (只对P O S T请求有效)
re q u e s t - l i n e的格式是:
request request-URI HTTP版本号


支持以下三种请求:
1) G E T请求,返回re q u e s t - U R I所指出的任意信息。
2) H E A D请求,类似于G E T请求,但服务器程序只返回指定文档的首部信息,而不包含实
际的文档内容。该请求通常被用来测试超文本链接的正确性、可访问性和最近的修改。
3) P O S T请求用来发送电子邮件、新闻或发送能由交互用户填写的表格。这是唯一需要在
请求中发送b o d y的请求。使用P O S T请求时需要在报文首部C o n t e n t - L e n g t h字段中
指出b o d y的长度。

 

H T T P / 1 . 0响应的格式是:
s t a t u s - l i n e
headers ( 0个或有多个)
<blank line>
b o d y
s t a t u s - l i n e的格式是:
H T T P版本号response-code re s p o n s e - p h r a s e

 

 报文头可分为三类:一类应用于请求,一类应用于响应,还有一类描述主体。

有一些报
文头(例如:D a t e)既可用于请求又可用于响应。描述主体的报文头可以出现在P O S T请求和所
有响应报文中。

 

HTTP1.0报文首部的名称.png。

 

HTTP1.0-3位响应码.png。

 

许多客户程序根据获取文件中的日期和时间在硬盘上缓存H T T P文档。如果客户程序要获
取的文档已存储在客户程序的缓存中,则客户程序将发送I f - M o d i f i e d - S i n c e 报文首部。
这样,如果服务器程序发现该文档没有发生任何变化,就无需再发送一次该文档了。这称为
条件G E T请求

你可能感兴趣的:(http)