HTTP协议面试考点

1.http的长连接和短连接

http 有HTTP/1.0和HTTP/1.1两个版本。
HTTP/1.1默认保持长链接,数据传输完成了保持TCP连接不断开(不发RST包,不四次挥手),等待在同域名下继续用这个通道传输数据;相反的就是短连接

长连接:
短连接:

jdbc数据库连接池的Connection连接为短连接,使用数据池连接为长连接。

2.HTTP的请求方法

  1. get方法
    - 对数据长度有限制,因为get方法的请求数据都在url中,而url的长度是有限制的(2048字符长度)
    - 数据类型:只允许ASCII字符
    - 安全性:get方法的发送的数据都是在url中时可见的,是不安全的,且参数会被缓存到浏览器中
  2. post方法
    - 对数据长度没有限制,因为get方法的请求数据可以在url中也可以在请求体中
    - 数据类型:无限制
    - 安全性:安全的,数据不会显示在url中,参数不会被缓存到浏览器
  3. 其他方法
    PUT:向指定资源位置上传其最新内容。
    DELETE:请求服务器删除 Request-URI 所标识的资源。
    HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。

HTTP常见请求头参数

  1. Content-type:请求的数据类型或返回的数据类型
  2. Content-Length:Body数据长度
  3. host:请求的资源所在主机
  4. User-Agent:用户的操作系统和浏览器版本信息
  5. refer:当前页面是从哪个页面跳转来的
  6. Location:一般搭配3XX状态码使用,告诉客户端接下来要访问哪里
  7. cookie:存储客户端的一些信息,sessionId等信息用于实现会话功能

HTTP常见状态码

  1. 2XX:成功,操作被成功接收且处理
  • 200 OK:表示从客户端发送给服务器的请求被正常处理并返回
  • 204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回)
  • 206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。
  1. 3XX:重定向
  • 301 永久性重定向:表示请求的资源已被永久移动到新URI,返回信息会包括新的URL,浏览器会自动定向到新的URI,之后任何新的请求都应使用新的URI代替
  • 302 临时移动:与301类似,但资源只是临时被移动。
  • 307 临时重定向:与302类似,使用get请求重定向
  • 304 未修改:所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。
  1. 4XX
  • 400 Bad Request:客户端请求的语法错误,服务器无法理解
  • 401 Unauthorized:请求要求用户的身份认证
  • 403 Forbidden:服务器理解客户端请求,但是拒绝执行此请求(用户权限不足)
  • 404 Not Found:服务器无法根据客户端的请求找到资源。
  • 404 客户端请求方法被禁止
  1. 5XX
  • 500 Internal Server Error :服务器内部错误,无法完成请求
  • 502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
  • 503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求
  • 504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求

转发和重定向的区别

在这里插入图片描述

cookie和session区别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cookie和session的区别

Cookie 是 web 服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个 web 服务器存储 cookie。
以后浏览器再给特定的 web 服务器发送请求时,同时会发送所有为该服务器存储的 cookie。
Session 是存储在 web 服务器端的一块信息。 session 对象存储特定用户会话所需的属性及配置信息。当用户在
应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
Cookie 和 session 的不同点:

1、无论客户端做怎样的设置, session 都能够正常工作。当客户端禁用 cookie 时将无法使用 cookie。
2、在存储的数据量方面: session 能够存储任意的 java 对象, cookie 只能存储 String 类型的对象
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值