HTTP协议学习

1.HTTP简介

HTTP主要特点:

  • 支持客户/服务器模式:浏览器通过URL向服务端发送请求,服务器端根据收到的请求向客户端发送响应信息
  • 简单快速:客户端只需传送请求方法(get/set/post)和路径
  • 灵活:允许传输任意类型的对象
  • 无连接:限制每次连接只处理一个请求:服务器处理完客户的请求并收到客户的应答之后即断开连接,节省传输时间。
  • 从http1.1开始默认使用长连接:服务器需要等待一定时间后才断开连接
  • 无状态:协议对于事务处理没有记忆能力,后续处理需要前面的信息则必须被重传

HTTP请求结构

HTTP响应结构

1.客户端连接到web服务器:浏览器与服务器端口建立TCP套接字连接

2.发送HTTP请求:通过TCP套接字,客户端向服务器端发送一个文本的请求报文

3.服务器接受请求并返回HTTP响应:web服务器解析该请求,并为其请求资源,将资源副本写到TCP套接字,由客户端读取

4.释放TCP连接

5.客户端浏览器解析HTML内容

在浏览器地址栏键入URL,按下回车之后经历的流程

答案:

1.DNS解析:浏览器根据URL逐层查询DNS服务器缓存(浏览器缓存->系统缓存->路由缓存->IPS服务器缓存->根域名服务器缓存->顶级域名服务器缓存),解析URL中的域名所对应的IP地址

2.TCP连接:根据找到的IP地址和对应端口(80)和服务器建立TCP连接(三次握手)

3.发送HTTP请求:浏览器发出读取文件的Http请求给服务器

4.服务器对浏览器请求作出响应,并把带有html文本的http响应报文发送给浏览器

5.浏览器收到html,在显示窗口内渲染页面

6.浏览器释放TCP连接(四次挥手)

HTTP常见状态码

GET请求和POST请求的区别

HTTP报文层面:GET将请求信息放到URL,POST放到报文体中,浏览器会对get方式的URL有长度限制

数据库层面:GET符合幂等性(对数据库的一次操作或多次操作获得的结果是一致的)和安全性(对数据库的操作没有改变数据库中的数据),POST不符合

其他层面:GET请求可以被缓存到浏览器的浏览记录和书签中,而POST不行

Cookie和Session的区别

Cookie--浏览器

Session--服务器端机制

2.HTTP和HTTPS的区别

HTTPS简介

在HTTP下面加入了SSL层:从而具有了保护数据交换隐私,完整性,对网站服务器身份认证的功能

SSL(在TCP和各应用层之间)

在HTTP协议中:不管是GET还是POST,客户端与服务器端没有任何身份确认过程,数据全部明文传输,容易被黑客截获

HTTPS在进行数据传输之前,web浏览器和网站服务器会进行一次握手,握手时确定双方的加密密码信息

HTTP和HTTPS的区别

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值