HTTP协议

目录

知识点1、什么是http协议?

 知识点2、什么是超文本Hyper Text?

知识点3、什么是URL?

 知识点4、什么是超文本传输协议HTTP?

知识点5、 HTTP的连接方式和无状态性

非持久性连接

 持久性连接

 无状态性

知识点6、HTTP工作原理(敲下一条网址后面发生了什么?) 

 知识点7、什么是HTTP代理?

 知识点8、HTTP报文结构

请求报文request Headers

 响应报文response Headers

 http报文常见首部字段:

 知识点9、Ctrl + F5  和 F5刷新页面的区别

 知识点10、请求报文中的方法

 知识点11、常见的状态码


知识点1、什么是http协议?

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

#############################################################  

 知识点2、什么是超文本Hyper Text?

包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。

############################################################# 

知识点3、什么是URL?

 URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。URL由协议、主机和端口(默认为80)以及文件名三部分构成。

#############################################################  

 知识点4、什么是超文本传输协议HTTP?

HTTP协议是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

#############################################################  

知识点5、 HTTP的连接方式和无状态性

非持久性连接

即浏览器每请求一个Web文档,就创建一个新的连接,当文档传输完毕后,连接就立刻被释放。
> HTTP1.0、HTTP0.9采用此连接方式。
> 对于请求的Web页中包含多个其他文档对象(如图像、声音、视频等)的链接的情况,由于请求每个链接对应的文档都要创建新连接,效率低下。

 持久性连接

即在一个连接中,可以进行多次文档的请求和响应。服务器在发送完响应后,并不立即释放连接,浏览器可以使用该连接继续请求其他文档。连接保持的时间可以由双方进行协商。

 无状态性

是指同一个客户端(浏览器)第二次访问同一个Web服务器上的页面时,服务器无法知道这个客户曾经访问过。HTTP的无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。

#############################################################  

知识点6、HTTP工作原理(敲下一条网址后面发生了什么?) 

 

1、浏览器首先分析url

2、解析url里面的域名,首先会去浏览器缓存里面找,看有没有与域名相对应的映射关系,如果没有的话,然后会去/etc/hosts文件里面查找域名映射关系,如果没有的话就

去/etc/resolv.conf文件里面查找域名解析

3、DNS解析出来IP地址为202.2.16.21并将其返回给浏览器

4、浏览器与服务器建立TCP连接(80端口)

5、浏览器请求文档:GET /index.html

6、服务器给出响应,将文档index.html发送给浏览器

7、浏览器渲染index.html中的内容

8、释放TCP连接

如果是1.0版本的HTTP协议,会先断开TCP连接

#############################################################  

 知识点7、什么是HTTP代理?

HTTP代理又称Web缓存或代理服务器(Proxy Server),是一种网络实体,能代表浏览器发出HTTP请求,并将最近的一些请求和响应暂存在本地磁盘中,当请求的Web页面先前暂存过,则直接将暂存的页面发给客户端(浏览器),无须再次访问Internet。

#############################################################  

 知识点8、HTTP报文结构

请求报文request Headers

 常见首部字段名:

Host:服务器的DNS名称

Connection:连接方式

User-Agent :用户代理信息

Accept:告诉服务器客户端浏览器所能接受的响应类型

 

 响应报文response Headers

常见首部字段:

Data:表示访问时间

Server:表示服务器信息

Content-length:页面长度

Content-Type:页面类型

 http报文常见首部字段:

#############################################################  

 知识点9、Ctrl + F5  和 F5刷新页面的区别

要了解这两种刷新页面的区别就首先要了解200和304这两种状态码

200:表示访问成功

304:表示服务器里的数据和浏览器缓存里的数据是一致的,所以无需从服务器发送新的数据

当我们访问以前访问过的nginx服务器,这时候状态码会是304

 这个时候我们使用F5来刷新页面,状态码依旧不会发送改变,因为F5刷新页面还是从浏览器缓存里面拿的数据,所以状态码依旧是304

而使用Ctrl + F5 则会强制浏览器向服务器发送新的请求,要求服务器重新发送数据,不使用缓存。

#############################################################  

 知识点10、请求报文中的方法

方法(Method)是对所请求对象所进行的操作,也就是一些命令。请求报文中的操作有:

 

#############################################################  

 知识点11、常见的状态码

状态码(Status-Code)是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:

200:表示服务器成功响应了客户机的请求报文

301:Moved Permanently 永久重定向,表示请求资源的URL已经永久更改,并在响应中给出了新的URL

302:Moved Temporarily 临时重定向

304:not Modified 浏览器缓存里面的内容和服务器里面的内容是一样的

401:认证失败,例如:要提交的用户名和密码不正确

403:Forbidden 浏览器不能访问某个文件(在linux服务器设置了权限的限制)

404:not found 网页不存在

405:请求方法不对,例如:可能某个接口只支持get方法,但是访问的时候用的是post方法,就会返回405状态码

500:Inter Server Error 内部服务器错误,出现bug,服务器崩溃

502:Bad Gateway 网关故障,就是负载均衡器是好的,但是后面的real Server 挂了

503:Service Temporarily Unavailable 服务器临时不可用,由于临时的服务器维护或者过载,服务器无法处理请求,这个状况是临时的,并且在一段时间以后恢复,限制了在某个时间段内只能访问多少次,限制了并发数

504:Gateway Time-out 服务器访问超时

posted @ 2022-08-04 22:04  JackLovey3  阅读(29)  评论(0)    收藏  举报  来源