HTTP有关知识

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

  1. 解析DNS。浏览器根据url查询对应的IP地址,分别查询浏览器缓存、系统缓存、路由器缓存、IPS服务器缓存、根域名服务器缓存、顶级域名服务缓存,查到即直接返回
  2. TCP连接。与服务器进行三次握手,建立tcp连接
  3. 发送HTTP请求。浏览器发送http请求给服务器
  4. 服务器处理请求并返回HTTP响应报文
  5. 浏览器解析渲染页面
  6. 连接结束。四次挥手,浏览器释放tcp连接

1、2步骤没有先后顺序,可同时发生

说说常见的HTTP状态码(面试题)

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

说说GET请求和POST请求的区别(面试题)

  • Http报文层面:GET将请求信息放在URL,POST放在报文体中
  • 数据库层面:GET符合幂等性和安全性,POST不符合
  • 其他层面:GET可以被缓存,被存储,而POST不行

Cookie和Session的区别(面试题)

  1. Cookie数据存放在客户的浏览器上,Session数据放在服务器上
  2. Session相对于Cookie更安全
  3. 若考虑减轻服务器负担,应当使用Cookie

Cookie简介

  1. 是由服务器发给客户端的特殊信息,以文本的形式存放在客户端

  2. 客户端再次请求的时候,会把Cookie回发

  3. 服务器接收到后,会解析Cookie生成与客户端相对应的内容
    Cookie的设置以及发送过程:
    在这里插入图片描述
    Session简介:

  4. 服务器端的机制,在服务器上保存的信息

  5. 解析客户端请求并操作session id,按需保存状态信息

Session的实现方式

  1. 使用Cookie来实现Session
    服务器给客户端分配一个唯一的JESSIONID, 客户端发送新的请求的时候, 在Cookie头中,带上JESSIONID,这样服务器就能找到对应的session
    2.通过URL重写实现
    通过cookie可以很好地实现session,但是如果客户端由于某些原因(比如出于安全考虑)而禁用cookie,在这种情况之下,为了使session能够继续生效,可以采用url重写。

超文本传输协议HTTP主要特点

  1. 支持客户/服务器模式
  2. 简单快速
  3. 灵活
  4. 无连接
  5. 无状态

请求/响应的步骤

  1. 客户端连接到Web服务器
  2. 发送HTTP请求
  3. 服务器接受请求并返回HTTP响应
  4. 释放连接TCP连接
  5. 客户端浏览器解析HTML内容
发布了35 篇原创文章 · 获赞 7 · 访问量 2101

猜你喜欢

转载自blog.csdn.net/weixin_40605573/article/details/104319604