HTTP 知识点问题回答 | 青训营笔记

100 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第2天

1.http常见状态码有哪些?

2:http常见的header有哪些?

3:什么是Restful API ?

4:介绍一下http缓存

http 状态码:

  • 1XX: 服务器收到请求

  • 2XX: 请求成功 | 200 成功

  • 3XX: 重定向

  • 301 永久重定向 (配合location,浏览器自动处理)

浏览器会记住那个网址返回了301 要去另外哪个location, 那么在下次访问该网站时,就不会去访问它,直接去访问那个location。

  • 302 临时重定向 (配合location,浏览器自动处理)

浏览器访问一个地址时返回302,告诉一个location,浏览器会自动的访问那个location。但下次再访问这个地址的时候,浏览器还是会去看访问该地址是不是还会返回302,再根据location访问新的地址。

  • 304 资源未改变

代表服务器没有返回新的资源,浏览器就会使用自己缓存的资源,这样性能比较快。

  •  4XX: 客户端错误
  •  404 资源未找到 | 403 没有权限
  •  5XX: 服务器端错误 | 500 服务器错误 | 504 网关超时

考点:GET 和 POST区别

GET:用于获取数据

POST:用于新建数据

- GET会被主动缓存,而POST不会,除非手动设置。

- GET请求参数会以字符串的形式添加在URL 后面,POST请求参数在请求体中。

- GET请求会保留在浏览器历史记录中,POST请求不会保留在浏览器历史记录中

- GET回退时是无害的,POST会再次提交请求。

- GET产生的url可以被收藏为书签, 而POST不可以。

- GET请求有长度限制,POST没有长度限制。

http headers 3种

- 常见的Request Headers

Accept 浏览器可接收的数据格式

Accept-Encoding 浏览器可接收的压哨算法,如gzip.

Accept-Language 浏览器可接收的语言,如zh-CN

Connection: keep-alive 一次TCP连接重复使用

cookie 同域每次请求资源都会带上  

  • 常见的Response Headers

Content-type 返回数据的格式,如application/json

Content-length 返回数据的大小,多少字节

Content-Encoding 返回数据的压缩算法,如gzip.

Set-Cookie 服务端要向客户端设置Cookie时,通过Set-Cookie设置

  • 缓存相关的header

Cache-Control

Expires

Last-Modified

If-Modified-Since

Etag

If-None-Match

什么是Restful API

传统的http methods: Get Post

现在的http methods:

  • Get 获取数据
  • Post 新建数据
  • Patch/Put 更新数据
  • Delete 删除数据

 

Restful API: 一种API设计风格

传统API设计:把每个url当成一个功能.

Restful API设计:把每个url当成一个唯一的资源标识,使用method表示操作类型,不使用url参数。

http缓存

缓存的介绍:

  • 什么是缓存?

把一些没有必要重新获取一遍的数据,不再重新获取。

  • 为什么需要缓存?

通过缓存减少网络请求的数量和体积,让页面加载速度更快些。

  • 哪些资源可以被缓存?

静态资源(JS,CSS, img),一旦上线后就不可能被更改。

像网站的HTML(会被随时更新),网页的业务数据(网页留言表列表,后台的数据库数据随时都会被改变)不能被缓存。

image.png