总结前端http协议

7次阅读

共计 1478 个字符,预计需要花费 4 分钟才能阅读完成。

网络方面的知识是前端必不可少了,加强基本功的修炼,才能在日常的开发中快速定位到错误,和后端同学更有效率地合作。

什么是 http 协议,超文本传输协议,它是一个应用层协议。

http 特点:

  • 无状态的协议,无状态就是客户端每次请求都没有关系,他们是独立的。
  • 只能是客户端发起请求的,服务器响应。服务器不能主动向客户端传递消息。
  • 底层是基于 TCP 实现的。

http 报文分为请求报文和响应报文

  • 请求报文:它会向服务器请求一个动作。

       请求报文由请求行(request line)、请求头部(header)空行和请求数据 4 个部分组成。
  • 响应报文:它会将请求的结果返回给客户端。

       响应报文由三个部分组成,分别是:状态行、消息报头、响应正文。

接下来说一下前端要重点知道的知识:

URL(统一资源标识符):

一种特殊类型的 URI,包含协议,域名,端口,可能包含 虚拟目录,文件名,锚,参数。其中协议,域名,端口一部分不一样,就是跨域。

Request Method(请求方式):

GET,POST,HEAD,PUT,DELETE,CONNECT,OPTIONS,TRACE。常用就是 GET,POST,注意它们的。

状态码:

  • 1xx:指示信息 – 表示请求已接收,继续处理。

  • 2xx:成功 – 表示请求已被成功接收、理解、接受。
  • 3xx:重定向 – 要完成请求必须进行更进一步的操作。
  • 4xx:客户端错误 – 请求有语法错误或请求无法实现。
  • 5xx:服务器端错误 – 服务器未能实现合法的请求。

常见状态码

  • 200 OK:客户端请求成功。
  • 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
  • 401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。
  • 403 Forbidden:服务器收到请求,但是拒绝提供服务。
  • 404 Not Found:请求资源不存在,举个例子:输入了错误的 URL。
  • 500 Internal Server Error:服务器发生不可预期的错误。
  • 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。

cookie 与 session 区别:

  • cookie 将状态保存在客户端,session 将状态保存在服务端。
  • session 相对于 cookie 要安全,但 cookie 不需要占用服务器的资源。
  • 单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。

http 与 https 的区别

  • HTTP 无法加密,而 HTTPS 对传输的数据进行加密,更加安全。
  • HTTP 无需证书,而 HTTPS 需要 CA 机构 wosign 的颁发的 SSL 证书。
  • HTTP 标准端口是 80,而 HTTPS 的标准端口是 443。
  • 在 OSI 网络模型中,HTTP 工作于应用层,而 HTTPS 的安全传输机制工作在传输层。

HTTP1.1 版本新特性:

  • 默认持久连接节省通信量,只要客户端服务端任意一端没有明确提出断开 TCP 连接,就一直保持连接,可以发送多次 HTTP 请求
  • 管线化,客户端可以同时发出多个 HTTP 请求,而不用一个个等待响应
  • 断点续传(实际上就是利用 HTTP 消息头使用分块传输编码,将实体主体分块传输。)

https://www.cnblogs.com/logsh… GET 和 POST 两种基本请求方法的区别(通俗易懂)
https://www.jianshu.com/p/a1e…(理论经典:TCP 协议的 3 次握手与 4 次挥手过程详解)
https://blog.csdn.net/sean_cd…(https 工作原理)

正文完
 0