整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

HTTP协议是什么

HTTP((HyperText Transfer Protocol)即超文本传输协议。是一个简单的请求-响应协议,它通常运行在TCP之上。运行于应用层。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。

HTTP协议目前最新版的版本是1.1,HTTP是一种无状态的协议,无状态是指Web浏览器与Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应,连接就被关闭了,在服务器端不保留连接的有关信息(没有记忆)。也就是说,HTTP请求只能由客户端发起,而服务器不能主动向客户端发送数
据。

为什么需要HTTP协议

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题
整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

HTTP协议的工作原理及流程

工作原理

HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

工作流程

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

HTTP协议之请求篇

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题
HTTP请求的几种方法
整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题
举例:
整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

HTTP协议之响应篇

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题1.状态行
整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

常见状态码

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

HTTP协议之消息报头篇

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

请求报头

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题
整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题
HTTP请求举例

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

响应报头

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题
整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题
响应报头举例
整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

请求报文举例

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

响应报文举例

整理笔记:HTTP协议定义、工作原理及流程、请求响应格式、解决无状态问题

怎么解决HTTP的无状态问题?—cookie

cookie的定义

HTTP协议本身是无状态的。什么是无状态呢,即服务器无法判断用户身份。Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器分配一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。

cookie的工作流程

当用户第一次访问并登陆一个网站的时候,cookie的设置以及发送会经历以下4个步骤:

客户端发送一个请求到服务器 -----> 服务器发送一个HttpResponse响应到客户端,其中包含Set-Cookie的头部 —> 客户端保存cookie,之后向服务器发送请求时,HttpRequest请求中会包含一个Cookie的头部 —.服务器返回响应数据。