1.http1.0
http协议构建于应用层之上,是一个基于请求/响应模式的,无状态的协议。但是由于现在的html中包含的资源(图片、动画、声音等)日渐增多,如果每获取一次资源就建立一次连接,那么无疑会增加HTTP服务器开销,因此在此基础上开发了http1.1。
2.http1.1
在http1.1中,给出了一个持续连接(Persistent Connections)的机制,通过这种机制,客户端与服务端建立第一次连接之后就可以持续发送请求并再次得到回应,并且客户端可以发流水线请求,就是客户端可以发连续多个请求,而不用等待服务端的每一个相应。当一个网页中包含Applet、JavaScript、CSS等文件时也会出现类似的情况。
3.HTTP URL格式
http://host【:port】【abs_path】
host——域名或IP地址
host——端口号,默认为80
abs_path——资源的本地存放路径
4.HTTP请求
HTTP请求包含三部分,分别是:请求行,消息报头,请求正文
请求行格式: - Method Request-URI HTTP-Version CRLF
常用的Method如下:
GET:请求获取Reauest-URL所标识的资源,常用于获取Request-URI资源信息
POST:在Request-URL所标识的资源后附加新的资源,用于向服务器发送请求,要求服务器接受附在请求后的
数据,常用于提交表单
在html中提交表单时,浏览器会根据提交方法是get还是post,采用相应的在HTTP协议中的GET或POST方法
HEAD:请求获取由Request-URL所标识资源的相应消息头
5.HTTP响应
在接收请求消息后,服务器会返回一个HTTP相应消息
HTTP相应消息包含三部分,分别是:状态行、消息报头、相应正文