HTTP协议:超文本传输协议,一种应用层协议。
是一个client与server的请求应答标准,使用URL标识网络地址。
URL是一种助记符,它把IP:Port映射成网址。通过全球统一的DNS服务器进行 网址 --> IP:Port。
server端默认端口80
一般情况下基于TCP协议,但HTTP并没有规定一定要基于TCP协议,HTTP只是假定底层要提供可靠传输,而TCP正好支持这个规定。
通信流程:
1、通过DNS服务器,把网址转换成IP。
2、向IP:80 server 发送请求。
3、IP:80 server 进行应答。
HTML:就是所谓的网页,一种文本标记语言。用于文字排版,HTML后又衍生出CSS等前端工具,用于做页面效果的。网页实则为一种排版完整的文档,并且允许用户通过点击按钮的方式进去其他页面。
请求报头:
请求方法 空格 URL 空格 协议版本 回车符 换行符
头部字段名 冒号 值 回车符 换行符 //头部1
... ... //n-2个头部
头部字段名 冒号 值 回车符 换行符 //头部n
回车 换行
实体主体
1、请求方法:
GET:请求服务器上URL页面。
HEAD:请求URL头部。
PUT:请求URL路径下存储一个Web页面。
POST:在URL后附加一个URI格式命名的资源。例如用户凭证信息。
DELETE:删除URL指定的页面
TRACT:环回测试,用于调试
CONNETT:连接代理服务器。
OPTIONS:查询一些特定选项。
2、头部字段
Accept:页面能够处理的资源类型
Accept-Encoding: 编码方式
Accept-Language:语言
Authorixation:指定客户端信任凭据列表,用于处理401错误。
Cookie:设置的Cookie回送给服务器。
Connections:采用持续连接方式。(连接不断开)
Date:指定消息发送的日期和时间。
From:请求Server的电子邮箱地址。
Host:指定URL所使用的端口,默认为80,也可使用别的。
Referer:从指定的URI中访问当前请求页面。
User-Agent:允许把客户的操作系统、浏览器等env告诉服务器。
Upgrade:切换协议。
3、实体主体行
仅在POST方法中,用于向服务器提供一些用户凭据信息。
HTTP应答
协议版本 空格 状态码 空格 描述短语 回车符 换行符
头部字段名 冒号 值 回车符 换行符 //1条
....... .......... //n-2条头部字段
头部字段名 冒号 值 回车符 换行符 //n条
回车符 换行符
实体主体行
状态码:
1XX:指示类响应,请求已接受,继续处理
2XX:成功类响应,标识请求成功。
3XX:重定向类响应,标识请求必须更进一步操作。
4XX:客户端错误响应,各种错误, 404,资源不存在。
5XX:服务端错误响应,各种错误,500,不可预期的错误,503服务器忙。
响应头部行
Allow: 显示服务器支持哪些方法
Server:显示服务器软件信息, 如 Apache, nginx
Content-Encoding:文档采用的编码方法
Content-Language:语言
Content-Length:页面长度
Content-type:显示页面支持的MIME类型
Date:时间
Last-Modified:页面被编辑、修改的时间(时间戳)
Location:重定向
Accept-Range:服务器接收指定字节范围内的请求。
Refresh:指示客户端多少面后刷新页面
Set-Cookie:知识客户端设置和关联的页面cookie
Upgrade:服务器希望切换到新协议。