一、HTTP协议是什么?
HTTP协议是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义Web浏览器与Web服务器之间交换数据的过程。客户端连上Web服务器后,若想获取Web服务器中的某个Web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与Web服务器通讯的格式。
二、HTTP协议的两个版本
HTTP协议的版本:HTTP/1.0、HTTP/1.1
HTTP/1.0协议:客户端与Web服务器建立连接之后,一个连接上只能获得一个Web资源。
HTTP/1.1协议:允许客户端与Web服务器建立连接之后,在一个连接上获取多个Web资源!
三、HTTP请求
HTTP请求包括的内容:
客户端连上服务器后,向服务器请求某个Web资源,称之为客户端向服务器发送了一个HTTP请求。
一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容。如:
HTTP请求中的常用消息头(大致了解即可):
accept: 浏览器通过这个头告诉服务器,它所支持的数据类型
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
Accept-Encoding: 浏览器通过这个头告诉服务器,支持的压缩格式
Accept-Language: 浏览器通过这个头告诉服务器,它的语言环境
Host: 浏览器通过这个头告诉服务器,想访问哪台主机
If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链
Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接
四、HTTP响应
4.1、HTTP响应包含的内容
一个HTTP响应代表服务器向客户端回送的数据,包括:一个状态行、若干消息头、以及实体内容。如:
4.2、状态行
状态行格式:HTTP版本号 状态码 原因叙述
状态码用于表示服务器对请求的处理结果,是一个十进制的三位数,响应状态码分为以下五类:
100~199 — — 表示成功接收,要求客户端继续提交下一次请求才能完成整个处理过程
200~299 — — 表示成功接收请求,并已完成整个处理过程,常用200
300~399 — — 表示为完成请求,客户端需进一步细化请求,如:请求的资源已经移动了一个新地址,常用302、307和304
400~499 — — 表示客户端的请求有错误,常用404
500~599 — — 表示服务器端出现错误,常用500
4.3、常用响应头(大致了解即可)
Location: 服务器通过这个头,来告诉浏览器跳到哪里
Server: 服务器通过这个头,告诉浏览器服务器的型号
Content-Encoding: 服务器通过这个头,告诉浏览器,数据的压缩格式
Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度
Content-Language: 服务器通过这个头,告诉浏览器语言环境
Content-Type: 服务器通过这个头,告诉浏览器回送数据的类型
Refresh: 服务器通过这个头,告诉浏览器定时刷新
Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据
Transfer-Encoding: 服务器通过这个头,告诉浏览器数据是以分块方式回送的
Expires: -1 控制浏览器不要缓存
Cache-Control: no-cache
Pragma: no-cache