Web基础(HTTP协议)

目录

一、HTTP协议。

(1)基本概念。

(2)HTTP协议关键特点和组成部分。

1、请求------响应。

2、无状态协议。

3、常用方法。

<1>GET请求。

<2>POST请求。

[4、响应状态码(Status Codes):](#4、响应状态码(Status Codes):)

5、持久连接。

6、管道。

7、HTTP协议的安全性。

8、分块传输编码。

9、内容编码。

(3)基本小结。


一、HTTP协议。

(1)基本概念。
  • HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式、超媒体信息系统的网络协议。
  • 定义了客户端(如网页浏览器)与服务器(如网站服务器)之间请求响应的格式。HTTP 是互联网上应用最广泛的协议之一,主要用于传输网页内容。

(2)HTTP协议关键特点和组成部分。
1、请求------响应。
  • HTTP 工作在客户端-服务器模型之上。客户端浏览器携带相关请求数据,发起请求。服务器对请求进行处理与数据进行解析,然后响应请求。
  • 双方按照一定的格式去解析数据、响应数据。而这些格式都是在HTTP协议进行定制的。

  • 案例。
  • 当点击登录提交按钮。

  • 通过浏览器的"开发者工具"查看网络中的请求和响应信息。

  • 头部(Headers):HTTP 请求和响应都包含头部信息。这些头部信息提供了关于请求或响应的附加信息。例如:Content-Type:指定传输的数据类型。User-Agent:请求的用户代理信息。Accept:客户端能够处理的媒体类型。Set-Cookie:服务器向客户端设置Cookie。
  • 请求标头:key---value存在的那些数据就是请求头。如果是post请求就会存在请求体。

  • 响应标头:第一行展示了协议的版本。其中后面的"200"是响应的状态码。(200代表响应成功)而key---value存在的那些数据就是响应头。
  • 响应体。

  • 我们可以发现就如概念所说,它们的原始数据就是一些文本数据

2、无状态协议。
  • HTTP 本身是无状态的,这意味着服务器不会保存关于客户端请求的任何信息。
  • 它对于事务的处理是没有记忆的!
  • 每次请求------响应都是相互独立的,服务器不会记住之前的请求信息。HTTP协议是基于请求------响应模型。也就是一次请求对应一次响应。

3、常用方法。
  • HTTP 定义了一系列的方法(也称为动词),用于指定对资源的操作类型。

  • GET:请求指定的页面信息,并返回实体主体。(重要)
  • POST:向指定资源提交数据进行处理请求。(例如提交表单或者上传文件)(重要)

<1>GET请求。
  • 请求参数会在浏览器的地址栏中显示,所以不安全。
  • 请求参数长度限制长度在1K之内。
  • GET请求没有请求体,无法通过request.setCharacterEncoding()来设置参数的编码。

<2>POST请求。
  • 请求参数不会显示浏览器的地址栏,相对安全。

  • 请求参数长度没有限制。可以上传较大的资源文件。


  • PUT:上传文件。
  • DELETE:删除文件。
  • HEAD:请求获取与GET请求相同的响应,但没有响应体。
  • OPTIONS:用于描述目标资源的通信选项。

4、响应状态码(Status Codes):
  • 服务器响应客户端请求时,会返回一个状态码,表示请求的结果。常见的状态码包括以下情况。
  • 200。OK:请求成功。
  • 301。Moved Permanently:永久重定向。
  • 404。Not Found:请求的资源未找到。
  • 500。Internal Server Error:服务器内部错误。

5、持久连接。
  • HTTP/1.1 支持持久连接,允许多个请求和响应在同一个TCP连接上进行,减少了建立和关闭连接的开销。

6、管道。
  • HTTP/1.1 还支持管道技术,允许客户端在等待服务器响应当前请求时,继续发送新的请求。

7、HTTP协议的安全性。
  • HTTP协议是基于TCP进行通信的。
  • 因为TCP是面向安全的协议 。在建立连接时需要"三次握手"(确认双方都有发送、接收数据的能力,然后再进行数据的传输,这样就不会出现丢失"数据包"的情况,更加安全)

  • HTTP 本身不提供加密。但可以通过使用 HTTPS(HTTP Secure),即在HTTP上加上SSL/TLS协议来提供加密传输。

8、分块传输编码。
  • 允许服务器在知道整个响应大小之前就开始发送响应。

9、内容编码。
  • 如gzip,用于压缩传输的数据,减少传输时间。、

(3)基本小结。
相关推荐
缪懿2 小时前
网络层和数据链路层中的常见协议解析
网络·网络协议·java-ee
田里的水稻2 小时前
OE_永久配置网络_linux系统终端命令行ip_setting
人工智能·网络协议·机器人·运维开发
辣椒思密达2 小时前
住宅IP与机房IP的区别及技术选型指南
网络·网络协议·tcp/ip
阿文的代码库3 小时前
用于事件驱动系统的WebSocket
网络·websocket·网络协议
还是鼠鼠4 小时前
AI掘金头条新闻系统 (Toutiao News)-获取用户信息
后端·python·mysql·fastapi·web
不只会拍照的程序猿4 小时前
深入理解AFDX(ARINC 664 Part7):从原理到实现(上篇)
网络协议·航空总线·afdx·arinc 664
AIwenIPgeolocation5 小时前
IP+设备双维监控,让黑产的“秒拨”和“云手机”无所遁形
网络协议·tcp/ip·智能手机
TechWayfarer5 小时前
IP数据接口调用示例:社交软件如何做同城匹配与用户画像分析
python·网络协议·tcp/ip·社交电子
大数据魔法师6 小时前
Streamlit(十二)- API 参考文档(五)- 输入组件
python·web
天天进步20156 小时前
Tunnelto 源码解析 #3:客户端启动流程:配置解析、鉴权 Key、本地地址与控制服务器连接
网络协议