HTTP不保存状态的协议
1. HTTP是一种无状态协议,对发送过的请求或相应不做持久化的处理。
2. HTTP/1.1虽然是无状态协议,利用Cookie实现了保持状态的功能。
HTTP中的方法
1. GET:获取资源,请求访问已被URI识别的资源,返回报文主体部分。
2. POST:传输实体的主体。主要目的:不是获取响应的主体内容。
3. PUT:传输文件。该方法自身不带验证机制,存在安全问题。
4. HEAD:获得报文首部。与GET方法一样,但不返回报文主体部分。可用于确认URI的有效性及资源更新的额日期时间等。
5. DELETE:删除文件。与PUT方法相反,按指定URI删除指定的资源。也存在安全问题。
6. OPTIONS:询问支持的方法。用来查询针对请求URI指定的资源支持的方法。
7.TRACK:追踪路径。
8. CONNECT:要求用隧道协议连接代理。主要使用SSL(Secure Sockets Layer安全套接层)和TLS(Transport Layer Sercurity传输层安全)协议把通信内容加密后经网络隧道传输。
持久连接
1. 持久连接:也称HTTP keep-alive 或 HTTP connection reuse
2. 特点:只要任意一端没有明确提出断开连接,则保持TCP连接状态。
3. 好处:减少TCP连接的重复建立和断开所造成的的额外开销,减轻服务器端的负载。
4. 在HTTP/1.1中默认连接都是持久连接。
HTTP状态码
1. 1xx:信息性状态码;原因:接收的请求正在处理。
2. 2xx:成功状态码;原因:请求正常处理完毕。
200:OK;客户端发来的请求在服务器端正常处理了。
204:No Content;请求已被成功处理,但是在返回的响应报文中不含实体的主体部分。浏览器显示的页面不发生更新。
206:Partial Content;客户端进行范围请求,服务器成功执行了这部分GET请求。
3. 3xx:重定向状态码;原因:需要进行附加操作以完成请求。
301:Moved Permanently;永久性重定向,表示请求的资源已被分配了新的URI。
302:Found;临时重定向,跟301差不多,只是302代表的资源不是被永久移动。
303:See Other;表示请求对应的资源存在着另一个URI,应使用GET方法定向获取请求资源。
304:Not Modified;表示客户端发送附带条件的请求时,服务器端允许请求访问资源。
307:Temporary Redirect;临时重定向。
4. 4xx:客户端错误状态码;原因:服务器无法处理请求。
400:Bad Request;表示报文中存在语法错误。
401:Unauthorized;表示发送的请求需要有通过HTTP认证的认证信息。
403:Forbidden;表示对请求资源的访问被服务器拒绝了。
404:Not Found;表示服务器上无法找到请求的资源。
5. 5xx:服务器错误状态码;原因:服务器处理请求出错。
500:Internal Server Error;表示服务器在执行请求时发生了错误。
503:Service Unavailable;表示服务器暂时处于超负载或正在进行停机维护。现在无法处理请求。