应用层——HTTP协议

本文介绍了HTTP协议,它是超文本传输协议,具有基于请求响应、简单快速等特点。还阐述了请求报文的三个字段,介绍了HTTP状态码的五种类型。重点讲解了HTTP常用方法,对比了GET和POST方法在传参方式、参数长度限制、安全性和执行模式上的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 HTTP协议
HTTP协议也称为超文本传输协议,是从万维网服务器给浏览器传输文本的协议。

特点:
(1)基于请求响应的HTTP服务器,客户端请求资源,服务器响应回HTTP;
(2)简单快速:客户端在请求响应的时候,只需要给它请求的方法和资源,规模小;
(3)灵活:可以用于任意类型的文本传输,只需要在请求报头中以Content-Type加以标识即可;
(4)无连接:每次只能处理一次请求,请求处理结束后就断开连接;
(5)无状态:不会记录上次请求的内容。

2 HTTP协议请求报文
HTTP协议报头
三个字段:
(1)keep-alive:长连接,针对HTTP协议无连接的特点;短连接时当有100个请求时,需要向服务器建立100次连接,再释放100次连接,浪费时间资源;长连接就可以有效的避免这个问题,100个请求只需要建立1次连接,所有请求处理完毕后再释放1次连接即可;
(2)cookie:针对HTTP协议无状态的特点;因为HTTP协议对处理事务本身没有记忆能力,但我们有的时候又想让浏览器记住登录名和密码,这是我们可以将登录名和密码信息存放在cookie字段中,实际上该信息是保存在客户端上的。(如果有一些人想要偷看我们的密码,那他直接查看cookie字段就好,不安全)
(3)session:session与cookie的目的一样,是为了保存客户的一些信息的,但是不同的是session中的信息保存在服务器中,然后将session ID保存在cookie字段,这样就算有人想要查看我们的信息,只能在cookie中看到sessionID看不到我们的具体信息,相对于cookie就安全很多。

3 HTTP状态码
HTTP状态码共有五种类型
(1)1XX:请求正在被处理
(2)2XX:成功,请求已经被处理
eg:200:请求处理成功 204:请求已经被受理但是没有响应(请求资源为空) 206:请求部分资源(支持断点虚传)
(3)3XX:重定向
eg: 301:永久重定向 302:临时重定向
(4)4XX:客户端出错
eg: 400:请求出错(方法有问题) 403:服务拒绝,不允许访问该资源 404:请求资源不存在
(5)5XX:服务器出错
eg: 503服务器繁忙

4 HTTP方法
HTTP协议中最常用的是GET和POST方法

GET:请求指定的页面信息
POST:向指定资源提交数据进行处理
PUT:传输文件
HEAD:获得报头首部
DELETE:删除文件
TRACE:追踪路径
CONNECT:要求用隧道协议连接代理,能够将连接方式改为管道方式的代理服务器。

比较GET 和POST方法
(1)传参方式:GET方法的参数在URL中,POST 方法的参数在请求正文中包含;
(2)参数的长度限制:GET方法因为参数在URL中所以对参数的长度有限制,但是POST方法对于参数的长度是没有限制的;
(3)安全考虑:如果涉及密码等敏感字段,GET方法会在URL中将其暴露,但是POST方法不会,所以相比较而言,POST方法更安全;
(4)执行模式:GET方法可以以CGI或非CGI模式执行,但是POST方法一定以CGI模型执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值