(1)HTTP消息结构:
a)HTTP是基于(C/S)客户端和服务端的一个模型,通过一个连接发送信息(记住是一个无状态的请求/响应协议)
b)客户端:一个Web浏览器或者app,连接服务器向服务器发送一个或者多个HTTP请求的目的。
c)服务器:同样是一个Web网页或者应用程序;接受客户端的请求然后向客户端发送HTTP响应数据。
注意:URL:统一资源标识符,是用来传输数据和建立连接。连接建立,数据就通过相应的格式来传输。
(2)客户端请求消息:一个HTTP请求信息包括:请求行;请求头部;空行;请求数据四部分组成。
GET /hello.txt HTTP/1.1:GET是一个读取请求,将从服务器获取网页数据
Host: www.example.com:表示请求的域名是ww.example.com
(3)服务器响应消息:
HTTP响应同样是由四部分组成:状态行;消息报头,空行,响应正文。
HTTP/1.1 :表示采用的HTTP协议版本是1.1,大部分服务器也支持1.0版(1.1版好处:允许多个HTTP请求复用一个TCP连接,以加快传输速度。)
200 OK:200是表示成功响应的状态码,OK是说明;后面会提到状态码知识
Content-Type: text/html :表示响应的内容,用它判断响应的内容是网页还是图片,是视频还是音乐;也就是说浏览器不是依靠URL来判断响应的内容。text/html表示的是网页。
:表示网页的正文。
(4)HTTP请求方法
HTTP1.1有五种请求方法:OPTIONS,PUT,DELETE,TRACE,CONNECT方法
HTTP1.0三种请求方法:GET,POST,HEAD方法。
(5)HTTP状态码:当浏览器接收并显示网页前(当接受到服务器的请求时),此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
常见的HTTP状态码:
- 200—请求成功
- 301—资源(网页等)被永久转移到其它URL
- 404—请求的资源(网页等)不存在
- 500—内部服务器错误
HTTP状态码具体信息(6)HTTP响应头信息:
具体介绍HTTP响应头信息
HTTP content-type对照表
详细HTTP协议讲解