介绍一下HTTP
1、什么是HTTP
HTTP是超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议。在OSI七层模型中处于最顶层的应用层的协议。它是基于TCP协议的。
2、HTTP请求的过程
一次HTTP请求过程主要包括6个步骤:
(1)域名解析
(2)建立tcp链接,三次握手确定双方协议一致,可通信
(3)发送http请求数据包
(4)服务器处理请求,组装返回数据包
(5)客户端接收服务端返回数据,解析数据,对于js/css等静态资源多线程下载
(6)浏览器客户端渲染页面,完成。
3、HTTP的报文结构
Request:请求报文包括三部分:
(1).请求行:包含请求方法,URI,HTTP版本协议
(2).请求首部字段
(3).请求内容实体
Response: 响应报文包含三部分:
(1).状态行:包含HTTP版本,状态码,状态码原因短语
(2).响应首部字段
(3).响应内容实体
4、HTTP状态码
常见的状态码:
200 OK //客户端请求成功
301 Moved Permanently //永久重定向,使用域名跳转
302 Found // 临时重定向,未登陆的用户访问用户中心重定向到登录页面
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
5、HTTP的请求方法
HTTP请求的方法有很多类,例如:GET、POST、HEAD、PATCH、PUT、DELETE等。GET、POST是最常用的两个方法。
GET:客户端向服务端发起请求,获得资源。请求获得URL处所在的资源。
POST:向服务端提交新的请求字段。请求URL的资源后添加新的数据。
HEAD:请求获取URL资源的响应报告,即获得URL资源的头部。
PATCH:请求局部修改URL所在资源的数据项。
PUT:请求修改URL所在资源的数据元素。
DELETE:请求删除url资源的数据。