http请求结构
HTTP协议版本有两种:HTTP1.0和HTTP1.1
它们俩的区别在于:HTTP1.0对于每个连接都只能传送一个请求和响应,请求后就会关闭,HTTP1.0没有Host字段;而HTTP1.1在同一个连接中可以传送多个请求和响应,多个请求可以重叠和同时进行,HTTP1.1必须有Host字段
http请求过程:
1)请求超链接——》客户端发送请求到服务器,请求包内容:协议版本号,请求地址,请求方式,请求头和请求参数
2)服务器接受请求——》开始处理请求——》将响应包返回给客户端,响应包内容:协议版本号,状态码,响应数据
3)前端收到响应包——》根据响应数据开始做相应处理
常见的请求头字段含义
请求行:标明了请求方法,请求URL,HTTP协议及版本
Accept:浏览器可接受的MIME类型,也就是代表着浏览器希望接收什么样的文件
Accept-Charset:浏览器可接受的字符集
Accept-Encoding:浏览器能够进行解码的数据编码方式
Accept-Language:浏览器所接受的语言
Authorization:授权信息
Content-Length:表示请求消息正文的长度
Host:客户机通过这个头告诉服务器,想访问的主机名
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
Referer:表明客户机是从哪里来的
User-Agent:User-Agent头域的内容包含发出请求的用户信息,浏览器类型
Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
Connection:处理完这次请求后是否断开连接还是继续保持连接。
UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。
响应头:
常见的响应头字段含义:
响应行:报文协议及版本,状态码以及状态描述
Allow:服务器支持哪些请求方法(如GET、POST等)。
Content-Encoding:文档的编码(Encode)方法。
Content-Length:表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。
Content- Type:表示后面的文档属于什么MIME类型
Expires:告诉浏览器把回送的资源缓存多长时间,-1或0则是不缓存
Server:服务器通过这个头告诉浏览器服务器的类型
WWW-Authenticate:客户应该在Authorization头中提供什么类型的授权信息