这是我参与「第五届青训营 」笔记创作活动的第8天
一、本堂课重点内容:
- HTTP 协议的基本定义
- HTTP 协议主要特征
- HTTP 协议发展历程
- HTTP 协议的报文结构
二、详细知识点介绍:
- HTTP 协议的基本定义
引入:以一个例子来引入(就是平常在地址栏中输入地址然后出现页面的这个过程)
用户一开始是输入toutiao.com 然后在browser进程就会处理输入信息,然后在浏览器内核会进行发起请求、读取响应、渲染这几步,然后再到browser进程中页面加载就完成了,其中在发起请求和读取响应的过程中会有个和Internet和服务器server交互的过程,那在这个过程中就会HTTP 协议HTTP协议的主要内容(以下图为例)
- HTTP 协议主要特征
1.Hyper Text Transfer Protocol(超文本传输协议):比如处理页面的css,js,html这些超文本,以及和server进行交互API这些HTTP协议就会进行承载传输 2.应用层协议,基于TCP协议
3.请求 响应:每个HTTP请求分为请求和响应两部分
4.简单可扩展:在设计上提供了很多空间,可以在符合要求的情况下,自己可以简单地扩展协议
5.无状态:HTTP协议是独立的,无状态的
- HTTP 协议发展历程
-
HTTP 协议的报文结构
这里以HTTP/1.1版本来介绍HTTP 协议的报文结构。首先会有一个start line(起首行)去承载一些信息,接下来就是HTTP header ,然后就是empty line ,最后就是body。 -
Menthod
GET、POST、PUT、DELETE、OPTIONS是比较常用的,HEAD、CONNECT用得比较少
Menthod有safe和idempotent的方法
safe(安全的): 就是不会修改服务器的数据的方法(GET HEAD OPTIONS)
indempotent(幂等:) 同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态夜视版一样的,所有safe的方法都是idempotent的(GET HEADE OPTIONS PUT DELETE)
-
状态码
-
RESTful API
-
常用的请求头
- *常用的响应头