(五)HTTP简介

(一)Http基本概念:

HTTP:超文本传输协议:

  • 支持客户/服务器模式:工作于客户端服务端架构之上,浏览器作为客户端通过URL向浏览器服务端和WEB服务端发送请求,WEB服务端根据请求发送相应信息
  • 简单快速:只需要传输请求方法和路径
  • 灵活:允许传输任意类型的对象
  • 无连接:限制每次连接只处理一个请求
  • 无状态:对于事物处理无记忆能力

HTTP的请求结构
分为三个部分:请求行,请求头部,请求正文:
请求头部的空行是必须的
在这里插入图片描述

对某个HTTP请求抓包:
第一行为请求行,GET为请求方法,之后是URL,协议版本为HTTP/1.1,
之后是请求头:从Host到Cookie

在这里插入图片描述

HTTP响应报文结构:状态行,响应头部,响应正文
在这里插入图片描述

(二)请求响应相关问题:

1.请求响应步骤

  • 客户端连接到Web服务器:一般与服务器的80端口建立连接
  • 发送HTTP请求:通过TCP套接字,发送文本请求
  • 服务器接收请求并返回HTTP响应:服务器解析请求,定位请求资源
  • 释放连接TCP连接:若连接模式为close,服务器主动关闭,客户端被动关闭,若连接模式为keep-alive,连接会保持一段时间
  • 客户端浏览器解析HTML内容:

2.在浏览器地址键入URL,按下回车后的流程:

  • DNS解析:浏览器根据URL逐层查询浏览器缓存,查询域名所对应的IP地址,从进到远依次是浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,域名服务器缓存,顶级域名服务器缓存,从哪个缓存查询到IP则直接返回,不再查询
  • TCP连接:根据IP与80端口三次握手建立连接
  • 发送HTTP请求:该请求发送给服务器
  • 服务器处理请求并返回HTTP报文
  • 浏览器解析渲染页面
  • 连接结束,释放TC连接

3.常见的HTTP状态码:

  • 1xx:指示信息,表示请求已接收,继续处理
  • 2xx:成功-表示请求已被成功接收,理解,接受
  • 3xx重定向-要完成请求必须进行进一步的操作
  • 4xx:客户端错位-请求有语法错位或请求无法实现
  • 5xx:服务器端错误,服务器未能实现合法的请求
    常见的状态码分析:
  • 200ok:返回正常信息
  • 400BadRequest:客户端请求有语法错误,不能被服务器所理解
  • 401Unauthorized:请求未经授权,这个状态码必须和WWW-Authenticate报头域一起使用
  • 403Forbidden:服务器收到请求,但是拒绝提供服务
  • 404NotFound:请求资源不存在,rg,输入了错位的URL
  • 500InternalServerError:服务器发生了不可预期的错误
  • 503ServerUnavailable:服务器当前不能处理客户端的请求。一段时间后可能恢复正常

4.GET请求与POST请求的区别:

  • Http报文层面:GET将请求信息放在URL,POST放在报文体中
    如下为GET的请求信息,放在URL中:
    在这里插入图片描述
    如下为POST的请求信息:
    在这里插入图片描述
  • 数据库方面:GET符合幂等性和安全性,POST不符合
    幂等性:对数据库的一次或多次操作获得的结果时一致的
    安全性:未改变数据库的数据
  • GET请求可以被缓存,被储存,POST不行

5.Coolie与Session的区别:

Cookie:客户端的解决方案

  • 由服务器发送给客户端的特殊信息,以文本的形式放在客户端
  • 客户端再次请求时,会把Cookie回发
  • 服务器收到后,会解析Cookie生成与客户端相对应的内容
    在这里插入图片描述
    Session简介:
  • 服务器端的机制,在服务器上保存的信息
  • 解析客户端请求并操作session id,按需求保存状态信息

实现方式:1.使用Cookie实现 2.使用URL回写实现

区别:

  • Cookie数据存放在客户 的浏览器上,Session存放在服务器上
  • Session相对于Cookie安全
  • 若考虑减轻服务器的负担,应使用Cookie
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值