HTTP协议就是客户端和服务器交互的一种通迅的格式。
当在浏览器中点击这个链接的时候,浏览器会向服务器发送一段文本,告诉服务器请求打开的是哪一个网页。服务器收到请求后,就返回一段文本给浏览器,浏览器会将该文本解析,然后显示出来。这段文本就是遵循HTTP协议规范的。
浏览器向服务器请求某个web资源时,称之为浏览器向服务器发送了一个http请求。
一个完整http请求应该包含三个部分:
- 请求行【描述客户端的请求方式、请求的资源名称,以及使用的HTTP协议版本号】
- 多个消息头【描述客户端请求哪台主机,以及客户端的一些环境信息等】
- 一个空行
常见HTTP请求头
Accept-Charset:客户端接受的字符集
Accept-Encoding:可接受的内容编码
Accept-Language:指定自然语言
Host:被请求资源的 Internet 主机和端口
User-Agent:客户端系统,浏览器等必发
Connection:连接是否保持
HTTP响应
一个HTTP响应代表着服务器向浏览器回送数据
一个完整的HTTP响应应该包含四个部分:
- 一个状态行【用于描述服务器对请求的处理结果。】
- 多个消息头【用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据】
- 一个空行
- 实体内容【服务器向客户端回送的数据】
常见HTTP响应头
Server:服务器名称
Content-Type:正文媒体类型
Content-Encoding:服务器端压缩编码方式
Content-Language:资源描述语言
Content-Length:实体正文的长度,以字节方式存储的正文的十进制数字来表示
Keep-Alive:保持连接的时间
状态行
格式: HTTP版本号 状态码 原因叙述
状态行:HTTP/1.1 200 OK
状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类
常见HTTP状态码
200:客户端请求成功
302:临时跳转,跳转的地址通过 Location 指定
400:客户端请求有语法错误,不能被服务器识别
403:服务器收到请求,但是拒绝提供服务
404:请求资源不存在
500:服务器发生不可预期错误