HTTP工作原理,请求/响应格式,状态码,Cookie,Cache总结

HTTP协议

HTTP协议概述

HTTP是客户端(用户)与服务器(网站)请求应答的标准。
HTTP假定其下层协议提供可靠的传输.
通常HTTP客户端发起一个请求,创建一个到服务器指定端口的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 ok",以及返回的内容,如请求的文件、错误信息或者其他信息。

HTTP工作原理

HTTP协议采用了请求/响应模式。客户端发送一个请求报文,请求报文包含请求的方法URL协议版本请求头部请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本成功或者错误代码服务器信息响应头部响应数据

HTTP请求/响应步骤

  1. 客户端连接到Web服务器
    一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP socket连接。例如,http://www.baidu.com

  2. 发送HTTP请求
    通过TCP socket,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。

  3. 服务器接受请求并返回HTTP响应
    Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。

  4. 释放连接TCP连接
    若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

  5. 客户端浏览器解析HTML内容
    客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

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

  1. 浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址;
  2. 请求IP的过程会先搜索本地缓存是否加载过这些数据,依次查询浏览器缓存系统缓存路由器缓存;
  3. 都没找到的话,就开始DNS解析过程,解析过程是的采用迭代查询,依次按照ISP(运营商)DNS缓存根域名服务器顶级域名服务器主域名服务器的顺序,逐步读取缓存,直到拿到IP地址;
  4. 解析完IP地址后,根据IP和端口号和服务器建立TCP连接;
  5. TCP连接建立过程就是三次握手,首先客户端向处于监听状态的服务器发送代表同步的一报文数据,其中syn=1,发送完成后进入同步已发送状态,服务器收到响应后发送SYN+ACK数据,进入同步已接受状态;客户端接收到响应后,再发送ACK数据进入连接已建立状态。这时三次握手就完成了。
  6. 浏览器发出读取文件的http请求报文;服务器收到后发送http响应报文
  7. 浏览器接收到HTTP响应报文后,会取出主体部分,进行渲染和显示。

HTTP请求格式(请求协议)

在这里插入图片描述
URL中包含:/index?a=1&b=2;路径和参数都在这里。在这里插入图片描述

HTTP响应格式在这里插入图片描述在这里插入图片描述

和请求和响应格式都是由请求/响应行请求/响应头请求数据/响应正文三部分组成。
不同的是,请求格式中请求行是由请求方法url协议版本组成
而,响应行是由协议版本状态码状态码描述组成

常见的状态码

状态码的第一个数字代表当前响应的类型:

  • 1xx消息–请求已被服务器接收,继续处理。
  • 2xx成功–请求已成功的被服务器接收、理解并接受
  • 3xx重定向–需要后续的操作才能完成这一请求
  • 4xx请求错误–请求含有词法错误或者无法被执行
  • 5xx服务器错误–服务器在处理某个正确请求时发送错误
状态码 状态码英文描述 中文描述
100 Continue 继续,客户端继续其请求
101 Switch Protocals 切换协议。服务器根据客户端的请求切换协议。
200 OK 请求成功一般用于GET和POST请求
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值