**HTTP是一种能够获取如 HTML 这样的网络资源的 **protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

1. HTTP请求交互的基本过程

  1. 前后应用从浏览器端向服务器发送HTTP请求(请求报文)
  2. 后台服务器接收到请求后,调度服务器应用处理请求,向浏览器返回HTTP响应(响应报文)
  3. 浏览器端接收到响应,解析显示响应体/调用监视回调

2. HTTP请求报文

  1. 请求行:method url: GET/url, POST/url
  2. 多个请求头

Host: www.baidu.com
Cookie: BAIDUID=AD3B0FA706E; BIDUPSID=AD3B0FA706;
Content-Type: application/x-www-form-urlencoded 或者 application/json

  1. 请求体

username=tom&pwd=123
{“username”: “tom”, “pwd”: 123}

3. HTTP响应报文

  1. 响应状态行: status statusText
  2. 多个响应头

    Content-Type: text/html;charset=utf-8

    Set-Cookie: BD_CK_SAM=1;path=/

  3. 响应体

    html 文本/json 文本/js/css/图片…

4. post请求体参数格式

  1. Content-Type:application/x-www.form-urlencoded;charset=utf-8

用于键值对参数,参数的键值用=连接,参数之间用&连接
例如: name=%E5%B0%8F%E6%98%8E&age=12

  1. Content-Type:application/json;charset=utf-8

用于 json 字符串参数
例如: {“name”: “%E5%B0%8F%E6%98%8E”, “age”: 12}

  1. Content-Type: multipart/form-data

用于文件上传请求

5. 常见的响应状态码

200 OK 请求成功。一般用于GET与POST请求
201 Created 已创建。成功请求并创建了新的资源
401 Unauthhorized 未授权/请求要求用户的身份认证
404 Not Found 服务器无法根据客户端的请求找到资源
500 Internal Server Error 服务器内部错误,无法完成请求

6. 不同类型的请求及作用

  1. GET: 从服务器端读取数据
  2. POST: 向服务器端添加新数据
  3. PUT: 更新服务器端已经数据
  4. DELETE: 删除服务器端数据

7. API的分类

  1. REST API: restful

    (1) 发送请求进行CRUD哪个操作由请求方式来决定

    (2) 同一个请求路径可以进行多个操作
    (3) 请求方式会用到GET/POST/PUT/DELETE

  2. 非 REST API: restless

    (1) 请求方式不决定请求的CRUD操作

    (2) 一个请求路径只对应一个操作
    (3) 一般只有GET/POST

9. 使用 **json-server **搭建 REST API

9.1 json-server是什么**?**

用来快速搭建 REST API 的工具包

9.2 如何使用json-server

  1. 全局安装json-server

npm install -g json-server

  1. 目标根目录下创建数据库json文件:db.json
{"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" }
], "comments": [
{ "id": 1, "body": "some comment", "postId": 1 } ],
"profile": { "name": "typicode" } }
  1. 启动服务器执行命令

json-server --watch db.json

总结:

本篇文章主要分享了有关http相关的技术知识点,为后期的学习axios打下基础。

axios学习笔记(一):学习HTTP相关的技术知识点相关推荐

  1. amazeui学习笔记--css(布局相关3)--辅助类Utility

    amazeui学习笔记--css(布局相关3)--辅助类Utility 一.总结 1.元素清除浮动: 添加 am-cf 这个 class 即可 2.水平滚动: .am-scrollable-horiz ...

  2. amazeui学习笔记--css(布局相关2)--等分网格 AVG Grid

    amazeui学习笔记--css(布局相关2)--等分网格 AVG Grid 一.总结 1.与grid区别:网格中:am-g + am-u-xx-n 等分网格中只有一个: am-avg-sm-4(在u ...

  3. SilverLight学习笔记--进一步学习Isolated Storage独立存储一(理论篇)

    在"silverlight如何在客户端读取文件"以及"silverlight如何在客户端写入文件"两篇文章中我们初步接触了Isolated Storage概念. ...

  4. Python3学习笔记之-学习基础(第三篇)

    Python3学习笔记之-学习基础(第三篇) 文章目录 目录 Python3学习笔记之-学习基础(第三篇) 文章目录 一.循环 1.for循环 2.while循环 3.break,continue 二 ...

  5. 强化学习笔记-强化学习概述

    强化学习笔记-强化学习概述 机器学习分类 强化学习与监督学习的异同点 强化学习基本原理 强化学习解决的是什么样的问题 强化学习分类 请分别解释随机性策略和确定性策略 回报.值函数.行为值函数三个指标的 ...

  6. 【计算机网络学习笔记17】网络安全、加密技术、“Virtual Private Network”技术

    [计算机网络学习笔记17]网络安全.加密技术."Virtual Private Network"技术 一.网络安全概述 1.1 网络系统的安全目标: 1.可用性(Availabil ...

  7. Dram学习笔记(2) 读《终极内存技术指南》笔记 + 纠正一些流传很广的文章错误

    文章目录 0. 引言 1. Dram 名词解释 2. 一些流程步骤的梳理 2.1 内存结构 2.2 一次burst的实现 2.3 一次mask burst的实现 3. 不懂的地方 3.1 数据在内存里 ...

  8. 学习笔记:cache 和spring cache 技术(1)

    title: 学习笔记:cache 和spring cache 技术(1) author: Eric liu tags: [] categories: hexo 缓存是实际工作中非常常用的一种提高性能 ...

  9. APPCAN学习笔记003---原生开发与HTML5技术

    APPCAN学习笔记003---原生开发与HTML5技术 技术qq交流群:JavaDream:251572072 1.HTML5的优势:   HTML5强悍牢固的骨架   CSS3精致到每一个毛孔的皮 ...

最新文章

  1. java 8 stream_Java 8 Stream示例
  2. 微软2022服务器,​微软公开地分享了即将发布的WindowsServer 2022的特性
  3. Spring Boot————静态方法如何调用Spring容器中的Bean
  4. pytorch load state dict_学习Pytorch过程遇到的坑(持续更新中)
  5. 架构师都应该知道的康威定律
  6. async和await的错误捕获
  7. 大学校园无线智能调频广播系统
  8. 实用供热空调设计手册_空调水系统管路设计与施工,全是最实用的现场经验!...
  9. MSXML应用总结 开发篇(上)
  10. wincc报表日报表实例_wincc报表例程
  11. php webshell 过狗
  12. 列宽一字符等于多少厘米_excel表格行高和列宽各是多少毫米或厘米啊?
  13. 西安邮电考研计算机复试线,2020西安邮电大学考研复试分数线已公布
  14. linux 硬盘品牌,CentOS如何查看硬盘品牌型号等具体信息
  15. idea maven添加子moudle父pom被覆盖
  16. 适兕:成为开源布道师
  17. Flutter系列(二)flutter项目打安装包
  18. 如何将刷题的效率提升10倍
  19. PTA 礼尚往来(递推)
  20. Baltur两级燃气燃烧器BTG 3,6 P 50-60Hz

热门文章

  1. floatmap 二维数组_Golang学习笔记(四):array、slice、map
  2. 值得推荐的威胁情报平台
  3. Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
  4. Git 有时候推送以及拉去不了代码解决方式(二)
  5. JQuery--使用autocomplete控件进行自己主动输入完毕(相当于模糊查询)
  6. C# 禁止修改已装箱了的值类型的字段值,但是可以通过接口的方式实现
  7. 关于JFace带复选框的树
  8. SQL的四种连接-左外连接、右外连接、内连接、全连接(转)
  9. AsyncToken模式替换通用的Listener模式
  10. 用触发器实现主从表关系(主表更改从表更改 )