web-http协议【理论知识】

Nginx-学习目录

1、Http协议介绍

1.1、什么是URL

通常我们在访问一个网站页面时,请求到的内容通称为"资源"。而”资源“这一概念非常宽泛,它可以是一份文档,一张图片,或所有其他你能够想到的格式。
每个资源都由一个URI 来进行标识; 比如: https://img1.baidu.com/it/u=847956157,2750448390&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500
这样的资源,我们会将该其称为URL地址;
百度百科解释:URL简称统―资源定位符,用来唯一地标识万维网中的某一个资源。URL由协议、主机名称、端口以及文件名几部分构成。

深入理解URL的组成部分

1.2、什么是HTML

Html简称Web Page,一个完整的Html页面可能会包含很多个URL的资源。(反之:我们也可以理解一个HTML文件是由多个不同的URL资源拼接而成的。)

1.3、什么是HTTP

HTTP (Hyper Text Transfer Protocol)中文名为超文本传输协议。
是一种能够获取如HTML这样网络资源的通讯协议。
它是在 web上进行数据交换的基础。HTTP的概述参考URL
简单理解:HTTP协议就是将用户请求的HTML页面从一台web服务器传输到客户端浏览器的一种协议。

1.4、URL、HTML、HTTP之间关系

一个完整的HTML页面是由多个不同的 url资源组成的;而HTTP协议主要是用来传输这种HTML页面的;

 

2、Http工作原理

2.1、图解

2.2、浏览器输入URL后HTTP请求返回的完整过程

3、Http请求Request

3.1、请求-示例图

3.2、请求Method

客户端向服务端发送请求时,会根据不同的资源发送不同的请求方法Method:
GET:用于获取URI对应的资源;(比如看朋友圈) POST︰用于提交请求,可以更新或者创建资源,是非幂等的;(发布朋友圈)
PUT︰用于向指定的URI传送更新资源,是幂等的;(更新朋友圈) DELETE:用于向指定的URI删除资源;(比如删朋友圈) HEAD︰用于检查—般创建对象时用POST,更新对象时用PUT ;
PUT是幂等的,POST是非幂等的; 幂等:对于相同的输入,每次得到的结果都是相等的;

3.3、请求Header

...
Host: sp2.baidu.com Referer: https:
//www.baidu.com/ sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Sec-Fetch-Dest: image Sec-Fetch-Mode: no-cors Sec-Fetch-Site: same-site
...

3.4、请求Connection

3.4.1、Http请求中的长连接与短连接是什么

http1.0协议使用的是短连接︰建立一次tcp的连接,发起一次 http 的请求,结束,tcp断开。
http1.1协议使用的是长连接∶建立一次tcp 的连接,发起多次http的请求,结束,tcp 断开。
HTTP协议版本参考URL、HTTP1.1与HTTP2.0速度对比

4、Http响应Response

4.1、响应-示例图

 

4.2、响应Header

...
Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, POST, OPTIONS Access-Control-Allow-Origin: * Cache-Control: no-cache Connection: keep-alive Content-Length: 0 Content-Type: image/gif Date: Wed, 26 Apr 2023 03:19:56 GMT Pragma: no-cache Server: nginx/1.8.0
...

4.3、响应Status

状态码     说明
1xx        信息,服务器收到请求,需要请求者继续执行操作
2xx        成功,操作被成功接收并处理
3xx        重定向,需要进一步的操作以完成请求
4xx        客户端错误,请求包含语法错误或无法完成请求
5xx        服务器错误,服务器在处理请求的过程中发生了错误

4.4、响应Code

状态码    说明
200       表示成功客户端成功接收到了服务端返回的数据,这是最常见的状态码
206       客户端发完请求后,服务端只是返回了部分数据,就会出现该状态码,例如当下载一个很大的文件时,在没有下载完成前就会出现该状态码
301       永久重定向(redirect)
302       临时重定向(redirect)
400       客户端请求语法错误,服务端无法理解
401       服务端开启了用户认证,而客户端没有提供正确的验证信息
403       服务端不允许客户端访问,或者没有找到默认返回页面
404       客户端请求的资源不存在
413       客户端向服务端上传一个比较大的文件,并且文件大小超过了服务端的限制
500       服务端出现了内部错误,需要进行人为排查故障
502       服务器充当代理角色时,后端被代理的服务器不可用或者没有正常回应
503       服务当前不可用,由于超载或系统维护,服务器暂时的无法处理客户端请求
504       服务器充当代理角色时,后端的服务端没有按时返回数据,超时了

 

posted @ 2023-04-26 11:33  小粉优化大师  阅读(27)  评论(0编辑  收藏  举报