HTTP协议详解

本文详细介绍了HTTP协议的工作原理,包括客户端与服务器间的请求响应交互,请求报文和响应报文的结构。HTTP是无状态的,但可通过Cookie保持状态。此外,文章还阐述了HTTP中的URI和URL的区别,并列举了各种HTTP方法,如GET、POST、PUT、HEAD、DELETE等,以及它们各自的作用。
摘要由CSDN通过智能技术生成

1.1HTTP协议用于客户端和服务器端之间的通信

**通过请求和响应交换,达成通信。**在两台计算机之间使用HTTP协议时,在一条哦通信电路上必定有一端是客户端,另一端是服务器端(按实际情况两台计算机角色可能会互换)
在这里插入图片描述

请求报文

这是一个请求报文,请求报文是有请求方法:GET,请求URI:/index.htm,协议版本:HTTP1.1,可选的请求首部字段内容实体构成

//方法 URI 协议版本
GET/index.htm HTTP/1.1
//请求首部字段
HOST: hackr.jp
Connection:keep-alive
Content-Type:application/X-www-form-urlencoded
Content-Length:16
//内容实体
name=ueno&age=37

GET:请求访问的类型(method)
/index.htm:指明了请求访问的资源对象也叫请求URI
HTTP1.1:HTTP的版本号,用来提示客户端使用的HTTP协议功能

响应报文

这是一个响应报文,响应报文基本是有协议版本:HTTP/1.1,状态码:200,用以解释状态码的原因短语:OK,可选的响应首部字段以及主体构成

//协议版本 状态码 状态码的原因短语
HTTP/1.1 200 OK
//响应首部字段
Date:Tue,10 Jul 2012 06:50:15 GMT
Connect-Length:362
Content-Type:text/html
//主体
<html>
......
</html>

1.2HTTP是不保存状态的协议

在这里插入图片描述
使用HTTP协议,每当有心得请求发送时,就会有新的响应产生,协议本身不保留之前一切的请求或响应的报文信息,但引入Cookie技术后,就可以有保存用户状态的功能(例如:跳转到页面的其他页面后也能持续保持登录状态)

1.3HTTP中的URI

URI:Uniform Resource Identifier,统一资源标识符
URL:Uniform Resource Location统一资源定位符
在这里插入图片描述
在这里插入图片描述
来自:https://segmentfault.com/a/1190000021056129?utm_source=tag-newest
峨眉山的猴子,即指定了位置,还指明了猴子。 但是,对于猴子这一个物种来说,猴子并不只是存在峨眉山中。 我们不难理解,峨眉山的猴子只是猴子的一种。 峨眉山的猴子是猴子的子集。

再回到上面,对比看看, URL和URI 的关系也是如此。 URL 只是 URI 的一种。 因此URL是UIR的子集。

1.4告知服务器意图的HTTP方法

- GET:获取资源

GET/index.htm HTTP/1.1
HOST: hackr.jp

返回index.htm的页面资源
- POST:传输实体主体

POST/submit.cig HTTP/1.1
HOST: www.hackr.jp
Content-Length:1560(1560字节的数据)

返回submit.cgi接收数据的处理结果

- PUT:传输文件
```xml
PUT/example.html HTTP/1.1
HOST: www.hackr.jp
Content-Type:text/html
Connect-Length:1560(1560字节的数据)

HTTP1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,因此Web网站一般不使用该方法,若配合Web应用程序的验证机制,或架构设计采用REST标准的同类Web网站,就可能开放使用PUT方法
 **- HEAD:获得报文首部**  
 **- DELETE:删除文件** 
 **- OPTIONS:询问支持的方法**
 **- TRACE:追踪路径**  
 **- CONNECT:要求用隧道协议连接代理**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值