秋招被问到http协议,我除了说是个通信协议了就啥都不知道了,其实也就这么点东西。好好记。

HTTP协议是超文本传输协议,用于从万维网服务器传输超文本到浏览器的传输协议。

它是基于TCP/IP通信协议来传递数据的。

HTTP协议工作于C/S(客户端/服务器)架构上。

属于应用层面向对象的协议。

特点:

  • 简单快速

  • 灵活

  • 无连接(每次只处理一个请求)

  • 无状态(不保存传输的信息,HTTP1.1版本后引入Cookie技术)

  • 支持B/S、C/S架构

URL

http协议使用统一资源定标识符(Uniform Resources Identifiers:URI)来传输数据和建立连接。

URL是一种特殊的URI,全称为统一资源定位符(Uniform Resources Locader)。它包含了用于查找某个资源所需要的所有信息。用于在互联网上确认某一处的资源

组成:

协议部分://域名部分:端口部门/虚拟目录部分/文件名部分?参数部门``锚部分

eg:http://localhost:8080/admin/index.html?a=1#name

 

请求消息Request

格式:

HTTP协议的那些东西

 

响应消息Response

HTTP协议的那些东西

 

HTTP状态码

1XX:消息(没看到过哈哈哈)

2XX:成功

3XX:重定向(再来一道面试题:你知道301和302的区别吗?都是重定向哦,答案在最后)

4XX:客户端错误(检查路径,参数等)

5XX:服务端错误(打开命令窗口查看错误)

 

HTTP工作原理

  1. 客户端连接到Web服务器(先会通过DNS解析 域名找到服务端的ip地址咯,绕后通过TCP三次握手建立连接,这个我写过)

  2. 发送http请求

  3. 服务端接受请求并返回http响应

  4. 释放TCP连接

  5. 客户端浏览器解析响应正文展示到浏览器窗口

相关文章: