HTTP简介
HTTP:超文本传输协议。
HTTP有客户端和服务器端。
URI:统一资源标识符。
URL:统一资源定位符。
存储在服务器上的任何东西都叫资源。
HTTP请求报文
2.1请求方法:
GET:请求访问网页时用,请求数据是空。
POST:认证帐号时用,请求实体里有数据。
PUT:上传文件。
DELETE:删除。2.2 URL格式
协议名称://用户名:密码@IP:端口号/路径
2.3头部字段名
(1) Accept:客户端能够接受的文件类型。例:/全部文件类型都接受。
(2) Accept-language:客户端允许接收的语言。例:zh-CN 简体中文。
(3) User-Agent:告诉服务器客户端所使用的的操作系统和浏览器的版本号。
(4) Accept-Encoding:客户端能够接受的压缩文件类型。例:gzip。
(5) HSOT:把访问的网页的域名和端口、IP地址和端口截取放到这里。
(6) Connection:客户端使用的连接方式。Keep-Alive长连接,close短连接。
(7) Cookie:小型文本文件,记录之前做的事,存在客户端。例:免密登录,购物车
等。
(8) Accept-charset:告诉服务器客户端支持的字符编码方式。
(9) Content-length:告诉服务器请求数据包里实体数据有多大。
(10) Referrer:告诉服务器连接的来源。
(11) If-modified-since:告诉服务器,在一段时间内。缓存的东西修改了,重新发给我
一份,没有修改不用发。
2.4字符编码方式
Utf-8、ACCSI、GB2312
2.5具体报文格式
请求方法 | 空格 | URL | 空格 | 协议版本 | 回车 | 换行 |
---|---|---|---|---|---|---|
头部字段名:取值 | 回车 | 换行 | ||||
……… | 回车 | 换行 | ||||
头部字段名:取值 | 回车 | 换行 | ||||
回车 换行 | ||||||
请求数据 |
3.HTTP回应报文**
3.1协议版本号
http协议有0.9、1.0、1.1。目前0.9已淘汰。1.1兼容1.0版本。
3.2响应头部字段
(1)date:告诉客户端请求消息的时间。
(2)expries:缓存本机的东西的过期时间。
(3)set_cookie:与客户端相对应。
(4)location:重定向的服务器名。
(5)connection:连接方式。
(6)server:用的服务器的版本类型。
(7)Last-modified:告诉客户端发送的资源最后一次修改时间。
(8)cache-control:允许资源可以缓存的时间。例no-cache不允许缓存。
(9)content-length:响应实体的长度。
(10)content-type:响应实体类型。
(11)Accept-range:断点续传,比请求头部字段range多了一个总大小。用于服务器
端。
3.3状态码
1XX:代表请求已收到,正在处理。
2XX:代表请求已收到,处理完毕。回复完毕。
200:一切正常,交易成功。
3XX:重定向。
301:永久重定向。
302:临时重定向。
4XX:客户端错误。
404:访问资源不存在。
5XX:服务器错误。
3.4具体报文格式
协议版本号 | 空格 | 状态码 | 空格 | 解释 | 回车 | 换行 |
---|---|---|---|---|---|---|
头部字段名:取值 | 回车 | 换行 | ||||
……… | ||||||
头部字段名:取值 | 回车 | 换行 | ||||
空行 | ||||||
响应实体 |