HTTP 协议

http协议

http类型

1、http:http(超文本传输协议)是一个基于请求与响应模式的,无状态,应用层的协议。传输的内容是明码传输,http默认的端口号是80

2、https:https是有ssl+http协议构建成,可以进行加密传输,毕http安全。https默认端口443

 

http的简要

http版本

1、http0.9版本

2、http1.0版本

get请求:请求指定的页面信息,并返回实体主体

post请求:向指定资源提交数据进行处理

head请求:类似get请求,不过响应没有具体内容,用于获取报头

3、http1.1版本

option请求:允许客户端查看服务器的性能

put请求:从客户端向服务器传送的数据取代指定文档内容

delete请求:请求服务器删除指定的页面

trace请求:返回显示服务器收到的请求,主要用于测试或诊断

connect请求:预留给能够将连接改为管道方式的代理服务器

 

url的概要及组成

协议类型:http/https

主机地址或域名:host

端口号:port(http默认80,https默认443)

请求的路径:path(在域名后问号前)

分隔符号:?

参数:name=value(?后面的内容)

& (主要用于各个参数之间的分隔)

 

http的运行流程

DNS域名解析:每一个IP都会有对应的域名,DNS就是将IP和对应的域名进行一个关联和解析

 

建立TCP连接(通过三次握手进行连接)

1、客户端发送请求连接(SYN数据包)

2、服务器收到后,回传(SYN/ACK数据包)以表示确认信息

3、客户端回传一个(ACK数据包),表示握手结束

 

发送http请求:与服务器连接后,向服务器发送请求

服务器处理请求;服务器收到请求后,有Wed服务解释请求,通过分析后调动数据库信息,通过响应返回给客户端

 

返回响应请求:服务器回复客户端的请求

 

关闭TCP连接(通过四次挥手进行关闭)

1、客户端发送(FIN)数据包给服务器,表示数据传输完成

2、服务器回复(ACK)数据包给客户端,表示收到,并回复看看自己这边是否传输完毕

3、服务器发送(FIN)数据包给客户端,表示传输完成

4、客户端回复(ACK)数据包给服务器,表示收到

注意:客户端和服务器完成四次挥手后将关闭TCP连接,第四次挥手无论是否完成都将关闭连接

 

浏览器解析HTML:将传输的数据进行解析并生成DOM树或CSS树,然后通过DOM树和CSS树生成渲染树

 

浏览器布局渲染

经过渲染树将数据组合生成平常我们常用的网页

 

请求(request)

get请求和post请求的区别

get请求概念

get请求没有body,参数都存储在URL中

get请求是向服务器取数据

get请求没有post请求安全,因为get请求参数直接暴露在浏览器上

post请求概念

post请求的参数放在请求body中

post请求是向服务器提交数据

post请求相对于get请求安全性会高一点,因为post请求放在body中

 

请求的组成

请求行:包含了URL的信息以及http的版本和(post、get)请求方式

请求头:请求内容及信息

client(用户)

accept(接受)浏览器的可接受的媒体类型

Accept-language:语言

Accept-encoding:编码格式

User-agent:客户端类型

 

contet-Type:发送post时候,body的数据类型声明

第一种:application/json格式为:{"":"","":""}

第二种:application/x-www-form-urlencoded 格式为:name=vlaue&name=vlaue

第三种:multipart/form-data这是一种表单格式

第四种:text/xml这个主要用于文本及图片

 

状态

cookie:保存在浏览器中有大小限制,有时间限制(用来保持登录状态)

session:保存在服务器中,服务器有资源开销,分散式,跨系统不好实现

token:可以保存在客户端的任何地方,无限制,无状态,利于分布式部署

中间空行

 

请求body:请求里面的参数,get请求没有body

body的内容为post请求中的参数

posted @ 2021-06-30 15:41  老衲法号幽灵  阅读(142)  评论(0编辑  收藏  举报