首页 > Python资料 博客日记

HTTP协议详解

2024-11-03 22:30:03Python资料围观37

这篇文章介绍了HTTP协议详解,分享给大家做个参考,收藏Python资料网收获更多编程知识

什么是HTTP协议?

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

1、HTTP协议特性

  • 基于TCP/IP协议

  • 基于请求-响应模式

  • 无状态保存

  • 短连接和长连接

    HTTP1.0默认使用的是短连接。浏览器和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。 HTTP/1.1起,默认使用长连接。要使用长连接,客户端和服务器的HTTP首部的Connection都要设置为keep-alive,才能支持长连接。 HTTP长连接,指的是复用TCP连接。多个HTTP请求可以复用同一个TCP连接,这就节省了TCP连接建立和断开的消耗。

2、HTTP请求协议和响应协议

http协议包含由浏览器发送数据到服务器需要遵循的请求协议与服务器发送数据到浏览器需要遵循的请求协议。用于HTTP协议交互的信被为HTTP报文。请求端(客户端)的HTTP报文 做请求报文,响应端(服务器端)的 做响应报文。HTTP报文本身是由多行数据构成的字文本。

  • 完整URL格式:协议、ip、端口、路径、参数      例如:https://www.baidu.com/s?wd=博客园
    • 协议:https
    • ip/域名:www.baidu.com
    • 端口:80
    • 路径:/s    直到遇见?为止
    • 参数:wd=博客园
  • 请求协议格式(浏览器组装)

      请求首行

      请求头(可以多个)

      空行

      请求体

  • 响应协议格式(服务器组装)

      响应首行

      响应头(可以多个)

      空行

      响应体

3、get请求和post请求

HTTP 协议是用于在客户端(如浏览器)和服务器之间传输数据的协议。它定义了多种请求方法,其中最常用的两种是 GETPOST 请求。以下是对这两种请求的详细介绍:

GET 请求

  • 定义:GET 请求用于从服务器获取数据。它是无副作用的,即不会对服务器上的资源产生改变。

  • 特点:

    • 参数传递:请求参数通常附加在 URL 中,通过 ?& 分隔。例如:https://example.com/api?name=John&age=30

    • 限制:URL 的长度有限制,这通常取决于浏览器和服务器,实现上大约为 2000 字符,因此不适合传递大量数据。

    • 安全性:因为参数在 URL 中明文显示,所以 GET 请求不适合传递敏感信息(如密码)。

POST 请求

  • 定义:POST 请求用于向服务器发送数据,通常用于创建或更新资源。

  • 特点:

    • 参数传递:请求参数包含在请求体中,而不是 URL 中。这使得可以传递大量数据。

    • 灵活性:可以处理多种类型的数据,比如 JSON、XML、表单数据等。

    • 安全性:虽然 POST 请求比 GET 请求更安全(因为数据不暴露在 URL 中),但仍需通过 HTTPS 进行加密,以保护敏感信息。


版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐