HTTP的一些小知识 | 青训营笔记

91 阅读3分钟

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

今天来闲谈一些关于HTTP协议的知识

什么是HTTP协议

  • 定义:

  1. 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上
  • 特点:

  1. HTTP协议是无状态的 :即服务器不保留与客户交易时的任何状态,但在实际开发中,我们很多时候会通过Cookie(浏览器)Session(服务器)来让它有“状态” 。
  2. 简单、灵活和易于扩展
  3. 基于TCP协议 :HTTP协议目的是规定客户端和服务端数据传输的格式和数据交互行为,并不负责数据传输的细节。底层是基于TCP实现的。
  4. 请求与响应 :当用户在浏览器的地址栏中输入一个 URL 并按回车键之后, 浏览器会向 HTTP 服务器发送 HTTP 请求。 HTTP 请求主要分为“Get”“Post”两种方法。

HTTP协议的发展阶段

image.png

注:现在还是有很多企业使用HTTP1.1

HTTP的请求方法

HTTP1.0定义了三种请求方法:GETPOSTHEAD方法。
HTTP1.1新增了六种请求方法:OPTIONSPUTPATCHDELETETRACECONNECT方法

image.png

注:其中Safe(不会修改服务器的数据的方法)的有GET,HEAD,OPTIONS、dempotent(幂等,指同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,)的有GET,HEAD,OPTIONS,PUTD,ELETE,safe的方法一定是Idempotent 的

常用的HTTP请求头

image.png

常用的HTTP响应头

image.png

HTTP的响应状态码

状态码的第一位数字决定了不同的响应状态,主要有下面5种:

  • 100~199: 表示服务器成功接收部分请求, 要求客户端继续提交其余请求才能完成整个处理过程。
  • 200~299: 表示成功,操作被成功接收并处理。常用200(请求成功).
  • 300~399: 表示重定向,需要进一步的操作以完成请求。例如:请求的资源已经移动一个新地址、常用302(所请求的页面已经临时转移至新的url)、304和307(用缓存资源)。
  • 400~499: 表示客户端错误,请求包含语法错误或无法完成请求。常用404(服务器无法找到被请求的页面)、401(请求未经授权),403(服务器拒绝访问, 权限不够).
  • 500~599: 表示服务器错误,服务器在处理请求的过程中发生了错误。常用500(请求未完成。服务器遇到不可预知的情况)

缓存

Cookie 和 Session:

服务器和客户端的交互仅限于请求/响应过程, 结束之后便断开, 在下一次请求时, 服务器会认为新的客户端。为了维护他们之间的链接, 让服务器知道这是前一个用户发送的请求, 必须在一个地方保存客户端的信息。 Cookie: 通过在 客户端 记录的信息确定用户的身份。 Session: 通过在 服务器端 记录的信息确定用户的身份。

版权声明:本文为CSDN博主「wapecheng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/wapecheng/a…

Http和Https的区别

如下表:

区别HTTPHTTPS
传输的安全超文本传输协议,信息是明文传输,不安全具有安全性的ssl加密传输协议
端口80443
连接方式无状态由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议
证书申请免费申请需要到ca申请证书,般免费证书很少,需要交费