浅谈HTTP(简)基础结构

Posted Adorable_Rocy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈HTTP(简)基础结构相关的知识,希望对你有一定的参考价值。

前言:HTTP 指的是超文本传输协议(HyperText Transfer Protocol)。首先,它是一个 协议 。「协议」是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规则。也就是大家事先约定好的,统一执行的标准。


1.那么一次HTTP请求的过程是什么样子的呢?如下图所示

在这里插入图片描述
补充:HTTP 无状态的特性,使其协议更加的简单,也带来了一定的缺陷,就是服务器无法识别出来你是谁,无法识别你的身份,HTTP 在后来加入了 Cookie 机制,较好的解决了这一问题,我们可以向Cookie中添加相关身份信息,并且携带.

2.报文

在这里插入图片描述

补充:在早期使用HTTP/1.0协议,此协议是一种无状态的,每次请求都独立的协议,后来为了方便发展长连接,发展成了HTTP/1.1协议版本,这也是HTTP/1.0 过度到 HTTP/1.1版本中比较明显的一个特征,新增了coneection头,可以选择设置close属性,让其关闭长连接属性。

1.请求头如下图所示

在这里插入图片描述
补充:connection头表示长连接:keep-alive属性,是HTTP/1.1协议重要属性部分,其他的属性也是十分重要的

2.响应头如下
在这里插入图片描述
3.常见状态码分类

分类描述
1xx信息,服务器收到请求,需要请求者继续执行操作
2xx成功,操作被成功接收并处理
3xx重定向,需要进一步的操作以完成请求
4xx客户端错误,请求包含语法错误或无法完成请求
5xx服务器错误,服务器在处理请求的过程中发生了错误

4.状态码常见详解

状态码描述返回值
200请求成功OK
201已创建,成功请求并创建了资源Created
202已接受。已经接受请求,但未处理完成Accepted
205重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域Reset Content
302临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URIFound
303查看其它地址。与301类似。使用GET和POST请求查看See Other
304未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源Not Modified
305使用代理。所请求的资源必须通过代理访问Use Proxy
400客户端请求的语法错误,服务器无法理解Bad Request
401请求要求用户的身份认证Unauthorized
402保留,将来使用Payment Required
403服务器理解请求客户端的请求,但是拒绝执行此请求Forbidden
404服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置“您所请求的资源无法找到”的个性页面Not Found
405客户端请求中的方法被禁止Method Not Allowed
500服务器内部错误,无法完成请求Internal Server Error
502充当网关或代理的服务器,从远端服务器接收到了一个无效的请求Bad Gateway
503由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中Service Unavailable

以上是关于浅谈HTTP(简)基础结构的主要内容,如果未能解决你的问题,请参考以下文章

Python基础入门之数据结构简汇

Python基础入门之数据结构简汇

浅谈HTTP(简) TCP协议

浅谈HTTP(简)TCP概念深入

浅谈HTTP(简) 数据表单提交篇

web前端设计基础——HTML5CSS3JavaScript 简答题整理