HTTP实用指南

HTTP实用指南

01.初始HTTP

当我们在浏览器地址栏输入一个网址或者关键字,它会给我们跳转到对应的网页,在这一过程中,内部到底是怎么运作的?

在这里插入图片描述

总结上述图片过程,用流程图来表示,如下:

处理输入信息 → 发起请求 →服务器接收请求 →浏览器读取服务器的响应 →DOM树 CSS树渲染 →页面加载完成

HTTP在计算机网络的层次结构上,属于应用层。底层是基于TCP的。

什么是HTTP?

HTTP全称为超文本传输协议。总结下来,就是如下特点:

  • 无状态
  • 应用层协议,基于TCP协议
  • 简单可扩展(可以设置请求头之类的)
  • 请求 响应

02.HTTP协议分析

HTTP发展历程:

在这里插入图片描述

HTTP/2在2015年,68%的公司都采用了。

报文

Requests method方法

GET请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据
POST用于将实体提交到指定的资源,会修改服务器那边的状态。典型应用:注册账号,修改密码
PUT用请求的信息替换目标资源的当前信息
DELETE删除指定的资源
HEAD请求一个和GET请求的响应相同的响应,但没有响应体
CONNECT建立一个到由目标资源标识的服务器的隧道
OPTIONS用于描述目标资源的通信选项
TRACE沿着目标资源的路径执行一个消息环回测试
PATCH用于对资源应用部分的修改

在我们前端开发的过程中,用的比较多的已经用高亮部分表示出来了。

上述大致可以自身特点分为两类:

Safe: 不会修改服务器那边的数据 GET HEAD OPTIONS

幂等:==同样的请求被连续执行一次和执行多次==的效果都是一样的。服务器的状态也是一样的 GET HEAD OPTIONS PUT DELETE。


状态码

  • 1**:指示信息,表示请求已经接收,需要继续处理,所以一般不会以1开头
  • 2**:成功,表示请求已经被成功接收,理解,接受 。例如 200 OK - 客户端请求成功
  • 3**:重定向,要完成请求必须进一步的操作。301 资源被永久转移到其它URL 302 临时跳转
  • 4**:客户端错误,请求有语法错误或者请求无法实现。 401 没有授权 404 资源找不到
  • 5**:服务器错误,服务器未能实现合法的请求。 500 服务器内部发生了不可预期的错误。

REST ful 接口风格

在这里插入图片描述

常用请求头

在这里插入图片描述

因为HTTP是无状态的,唯一让它有状态的处理方法就是Cookie

User-Agent 常用于获取用户是PC 移动 还是Android

常用响应头

在这里插入图片描述

缓存

分为强缓存和协商缓存

在这里插入图片描述

协商缓存通过对比Last-Modified/if-Modified-Since的时间,看文件是否更新。从而决定是否使用缓存。

浏览器的缓存调用机制

在这里插入图片描述

cookie

在这里插入图片描述

JavaScript有些获取cookie的api。HttpOnly可以避免这个情况发生。

HTTP/2

更快,更简单,更稳定。

HTTPS

加密。但这个加密的时间需要一定的时间损耗。

在这里插入图片描述

3.场景分析

案例一:

在这里插入图片描述

状态码200一定是发送了请求吗?还有可能是来自本地的缓存。

案例二:

如何更高地去提交用户体验:

在这里插入图片描述

案例三:

对于聊天室这样要求实时通信的情况下,我们HTTP已经不能满足要求了。需要使用webSocket—浏览器与服务器进行双向的动作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "lwip编程指南PDF" 是一份关于lwIP(轻量级IP协议栈)编程指南的电子文档。lwIP是一个用于嵌入式系统的轻量级、高性能的TCP/IP开源协议栈。 这本编程指南提供了关于lwIP的详细说明和使用方法。它涵盖了lwIP的基本概念、架构、组成部分以及API文档。通过阅读这本指南,开发者可以了解如何在自己的应用程序中使用lwIP来实现TCP/IP网络通信。 编程指南首先介绍了lwIP的基本概念和工作原理。它解释了lwIP的结构和模块,并且提供了一个整体的架构图。接下来,该指南详细介绍了各个模块的功能和API使用方法,包括网络接口、IP层、ARP、ICMP、TCP和UDP等。 通过阅读这本指南,开发者可以学习如何使用lwIP API来创建和管理套接字、发送和接收数据包、实现服务器和客户端等功能。此外,指南还提供了一些常见问题的解答和调试技巧,以帮助开发者解决遇到的问题。 总而言之,"lwip编程指南PDF" 是一份对lwIP协议栈进行全面介绍的电子文档。它提供了开发者所需的基本知识和实践指导,帮助他们在嵌入式系统中进行TCP/IP网络编程。 ### 回答2: lwip编程指南是一本关于lwip网络协议栈编程的指南。lwip(轻量级IP协议栈)是一个开源的、轻量级的TCP/IP协议栈,适用于嵌入式系统。这本指南提供了关于如何使用lwip进行网络编程的详细说明和指导。 首先,该指南介绍了lwip的基本概念和原理,包括lwip的体系结构、网络协议栈的组成部分、协议层的功能等。读者可以了解lwip的工作原理,为后续的编程工作打下基础。 接着,该指南深入讲解了lwip的编程接口和常用功能。其中包括socket API的使用方法,如创建socket、发送和接收数据等。此外,还介绍了lwip提供的其他功能,如TCP和UDP传输控制、IP地址转换、网络接口管理等。通过学习这些内容,读者可以掌握lwip的编程接口和功能,能够实现基于lwip的网络通信。 此外,该指南还提供了一些示例代码和实践案例,用于帮助读者理解和应用lwip编程。这些示例代码涵盖了常见的网络应用场景,如HTTP服务器、SNMP代理等。读者可以通过实际操作这些示例代码,加深对lwip编程的理解和掌握。 综上所述,lwip编程指南是一本对lwip网络协议栈进行详细讲解和指导的书籍。通过学习该指南,读者可以了解lwip的概念和原理,掌握lwip的编程接口和功能,进而能够进行基于lwip的网络编程。这对于嵌入式系统开发人员和网络编程爱好者来说,是一本很有价值的参考书。 ### 回答3: lwIP编程指南(pdf)是一本关于lwIP网络协议栈的编程指南的电子书。lwIP(lightweight IP)是一个用于嵌入式系统的开源 TCP/IP 协议栈。 这本编程指南提供了lwIP协议栈的详细介绍和使用指南。它介绍了lwIP的基本架构、功能特性以及如何在嵌入式系统中使用lwIP来实现网络通信。 该指南从实际的编程角度出发,提供了丰富的代码示例和详细的解释。读者可以通过这些示例来了解lwIP的各个功能模块的使用方法,例如网络接口、IP协议、TCP和UDP协议等。 此外,该指南还介绍了lwIP的配置和优化方法,帮助读者根据实际需求进行定制化设置和性能优化。 通过阅读lwIP编程指南,读者可以全面了解lwIP协议栈的工作原理和使用方法,掌握lwIP的应用开发技巧。无论是初学者还是有一定经验的开发人员,都可以从中获得实用的知识和经验。 总之,lwIP编程指南(pdf)是一本对于嵌入式系统中使用lwIP进行网络编程的详尽指南,对于想要学习lwIP的人来说是一本非常有价值的参考书。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值