http 的小知识

在前面的文章中《计算机网络原理面试八股文》,已经详细整理了相关的知识,一个链接:

计算机网络原理面试八股文整理_低保和光头哪个先来的博客-CSDN博客

这里,整理几个常用小知识:

1.http 状态码(提问 1~5 分别表示什么 + 你知道的状态码)

1xx:代表请求已被接受,需要继续处理

100 用来通知客户端它的部分请求已经被服务器接收,且未被拒绝。客户端需发送请求的剩余部分,如果请求已经完成,忽略这个响应,服务器必须在请求完成后向客户端发送一个最终响应

101 服务器根据客户端的请求切换协议

2xx:代表请求已成功被服务器接收

200 请求已成功【成功】

201 请求成功并且服务器创建了新的资源【已创建】

202 服务器已经接受请求,但尚未处理【已接受】

203 服务器已成功处理请求,但返回的信息可能来自另一来源【非授权信息】

204 服务器成功处理请求,但未返回任何实体内容【无内容】

205 服务器成功处理请求,但未返回任何实体内容,并且响应已经被重置了【重置内容】

206 服务器成功处理了部分请求【部分请求】

3xx:代表要完成请求,需要进一步操作,通常用来重定向

临时重定向三个:302,303,307

· 共同点:服务器返回一个新的资源的地址,客户端去这个新的地址获取资源

· 区别:

303强制浏览器可以将请求方法从POST修改到GET,303响应禁止被缓存;

307不允许浏览器修改请求方法;

302允许重定向时改变请求方法;

【301和302原本不允许在规范中重定向时改变请求方法(将POST改为GET),但许多浏览器允许重定向时改变请求方法,因此有 303 对 302 和 301 的这种行为作为规范】

永久重定向两个: 301和308

· 共同点:两者都默认缓存

· 区别:308不允许将请求方法从POST修改到GET,301允许

300 服务器针对请求可执行多种操作,服务器可根据请求者选择一项操作,或提供操作列表供其选择【多种操作】

301 请求的网页已永久移动到新位置【永久移动】

302 资源临时在另一个位置,该位置通过 Location 指定【临时移动】

  • 如果 302 响应对应的请求方法不是 GET 或 HEAD,那客户端在获得用户许可之前不能自动进行重定向(不允许擅自发送请求),因为这可能会改变请求的条件。

303 请求的资源可以在另一个 URI 处找到,客户端必须使用单独的 GET 方法来获取新位置的资源【查看其他位置】

  • 不能缓存303响应,但是可以缓存第二次请求的响应
  • 对于除 HEAD 请求之外的所有请求,服务器会自动转到其他位置

304 自从上次请求后,请求的网页未被修改过【未修改】

  • 服务器返回此响应时,不会返回网页内容。如果网页自请求者上次请求后,再没有更改过,应当将服务器配置为返回此响应。由于服务器可以告诉搜索引擎自从上次抓取后网页没有更改过,可节省带宽和开销。

305 请求者只能使用代理访问请求的网页【使用代理】

  • 如果服务器返回此响应,那么,服务器还会指明请求者应当使用的代理。

307 服务器目前从不同位置的网页响应请求,但请求者应该继续使用原有位置进行之后的请求【临时重定向】

  • 服务器会自动将请求者转到不同的位置,但由于搜索引擎会继续抓取原有位置,并将其编入索引,因此不应使用此代码来告诉请求者搜索引擎页面或网站已被移动
  • 307同303一样,对于非GET和HEAD请求不能自动重定向
  • 307对比302而言,后续请求资源的方法是使用与当前交互相同的方法而不是全部使用GET

4xx:代表客户端可能发生了错误,妨碍了服务器的处理

400  服务器不理解请求的语法【错误请求】

401  请求要求身份验证,可能不希望将此网页纳入索引【身份验证错误】

403  服务器拒绝请求【禁止】

404  服务器找不到请求的网页【未找到】

405  禁用请求中指定的方法【方法禁用】

406  无法使用请求的内容特性响应请求的网页【不接受】

407  与 401 类似,但指定请求者必须授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理【需要代理授权】

408  服务器等候请求时发生超时【请求超时】

409  服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,以及两个请求的差异列表【冲突】

410  请求的资源永久删除后,服务器返回此响应。在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久删除,应当使用 301 指定资源的新位置【已删除】

411  服务器不接受不含有效内容长度标头字段的请求【需要有效长度】

412  服务器未满足请求者在请求中设置的其中一个前提条件【未满足前提条件】

413  服务器无法处理请求,因为请求实体过大,超出服务器的处理能力【请求实体过大】

414  请求的 URI 过长,服务器无法处理【请求的 URI 过长】

415  请求的格式不受请求页面的支持【不支持的媒体类型】

416  页面无法提供请求的范围【请求范围不符合要求】

417  服务器未满足"期望"请求标头字段的要求【未满足期望值】

5xx:代表服务器在处理请求的过程中有错误或异常状态发生

500  服务器内部错误,无法完成请求【服务器内部错误】

501  服务器不具备完成请求的功能(当服务器无法识别请求方法时)【尚未实施】

502  服务器作为网关或代理,从上游服务器收到无效响应【错误网关】

503  由于超载或停机维护,服务器目前无法使用【服务不可用】(暂时状态)

504  服务器作为网关或代理,但是没有及时从上游服务器收到请求【网关超时】

505  服务器不支持请求中所用的 HTTP 协议版本【HTTP 版本不受支持】

2.http 头部包含哪些信息(提问:TCP 报文报文哪些信息)

通用头部:请求和响应都可以使用的头部

Connection:浏览器想优先使用的连接类型

Date:构建报文时间   

Cache-Control:是否使用缓存机制

请求头部:只能在请求中使用的头部

Host:端口号

User-Agent:身份识别字符串

Accept:允许的媒体类型

Accept-Charset:允许的字符串

Authorization:认证资源的认证信息

响应头部:只能在响应中使用的头部

Server:客户端服务器信息

Vary:缓存机制

Location:重定向后的URL

Retry-After:客户端多久后再发请求

实体头部:应对实体部分的头部。一般对实体内容进行说明

Content-encoding/length/language/MD5/Type

编码方式、长度、语言、MD5校验值、MIME类型

扩展头部

3.http报文格式

HTTP的请求报文包括:请求行、请求头部、空行 和 请求数据 四个部分组成。

请求行包括: 请求方法,URL,协议版本

HTTP的响应报文包括:状态行,响应头,空行,数据(响应体)

状态行包括:HTTP版本号,状态码,状态值

4.http 方法

GET(读取数据具体信息)

HEAD(获取报头)

POST(向指定资源提交数据,数据被包含在请求体里)       eg.提交表单、上传文件

PUT(替换指定资源,没有就新增)

DELETE(请求服务器删除URL标识的数据)

CONNECT(服务器作为代理,代替用户访问)

OPTIONS(得到指定资源的HTTP请求方法)

PATCH(对已知资源进行局部更新)

TRACE(服务器返回自己收到的数据,用于测试和诊断)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
六万字是一本书的篇幅,关于HTTP知识需求较为广泛深入。HTTP是超文本传输协议(Hypertext Transfer Protocol)的缩写,是用于浏览器和Web服务器之间进行通信的协议。 首先,六万字的重点将会涵盖HTTP的基本概念和原理。这包括HTTP的发展历史、URL(Uniform Resource Locator)的结构和作用、HTTP请求和响应的格式、HTTP状态码的含义等。 其次,六万字将介绍HTTP的工作机制。这包括客户端与服务器的交互过程,包括DNS解析、TCP三次握手、建立持久连接、HTTP报文的传输等。同时也会涉及到HTTPS(HTTP Secure)的使用和原理以保障通信的安全性。 此外,六万字还会探讨HTTP的特性和功能。例如,缓存机制的应用、Cookie和Session的使用、重定向、表单上传等高级特性的实现原理和应用场景。 还有,六万字将介绍HTTP的性能优化和相关技术。这包括使用CDN(内容分发网络)、使用压缩技术、HTTP/2和HTTP/3协议的特性和优势等。 最后,六万字还会指导读者如何调试和优化HTTP请求。这包括使用开发者工具、抓包工具、监控工具等进行调试,优化请求时间、减少响应大小等技巧。 总之,六万字的文章将全面介绍HTTP的基本概念、工作机制、特性和功能,以及性能优化和调试方法。对于开发者、运维人员和网络技术爱好者来说,这本书是学习和应用HTTP的必备知识

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低保和光头哪个先来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值