05_HTTP

本文详细介绍了HTTP协议,包括其无状态、请求/应答方式等特点,以及HTTP请求报文和响应报文的结构。此外,还探讨了HTTP的不同版本(HTTP 1.0、1.1和2.0)的特点,如HTTP 1.1的长连接和HTTP 2.0的多路复用。接着,解释了HTTPS协议的SSL/TLS握手过程,以及Cookie、Session和Token在保持会话状态中的作用。最后,简要讨论了Web攻击技术和浏览器输入URL后的完整过程。
摘要由CSDN通过智能技术生成

1. HTTP协议

1.1 简介

HTTP(Hypertext Transfer Protocol)是超文本传输协议, 是一种无状态的、应用层的、以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统进行交互。

主要特点如下:

  • 无状态:对于之前的访问状态等信息不会记录。
  • 请求/应答方式:由客户端发起请求,经过服务端处理后,返回响应给客户端。
  • 自描述消息格式:可以通过 Content-Type 来描述传输的消息类型,例如 application/json、text/html 等。
  • 无连接:在不使用 keep-alived 机制时,每次连接只处理一个请求,处理请求后会立即断开连接。
  • 超文本信息系统:传输的内容不局限于文本,还包括图片、视频、音频等。

在 Client-Server 两端通信时,浏览器作为 HTTP 客户端,通过 URLWeb 服务器发送请求报文。Web 服务器接收到请求后,经过处理后向客户端发送响应信息,默认端口号为 80

1.2 URI/URL/URN

URIWeb 资源提供了统一的资源命名方式,URI 分为 URLURN,三者关系如下:

  • URIUniform Resource Indentifier,统一资源标识符):用于标识某一互联网资源。
  • URLUniform Resource Locator,统一资源定位符):表示资源的地点。
  • URNUniform Resource Name,统一资源名称):表示资源的名称。

绝对 URI 格式:

http://username:passsword@www.example.com:80/index.html?uid=1#ch1

1.3 HTTP 请求报文

HTTP 请求报文包括三个部分:请求行、请求头、空格和实体。

1.3.1 请求行

请求行包括请求方法、URL和HTTP协议

1.3.1.1 请求方法

方法有 GETPOSTPUTDELETE 等八种类型。

方法 特点
GET 用来获取服务器端的一些资源,例如页面、JSON 字符串等。
POST 向服务器端发送数据,传输实体主体
PUT 传输文件
DELETE 删除文件
1.3.1.2 GET 与 POST 的区别
类型 GET POST
作用 获取资源 向服务器发送数据
参数 通过 URL 请求传递参数
GET test/login.jsp?name=timber&password=123 HTTP/1.1
通过请求实体传递参数
POST test/login.jsp HTTP/1.1
Host: http://127.0.0.1
name=timber&password=123
传输数据大小 有限制,最多1024个字符 无限制
参数的数据类型 ASCII码 无限制
安全性 URL 是可见的,可能会泄露个人信息 POSt 相较于 GET 安全性较高。因为参数存在于Boby中,且不会被保存到浏览器历史或WEB日志中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值