HTTP(超文本传输协议)基础

HTTP(HyperText Transfer Protocol)超文本传输协议,是应用层最常见的协议,常用于web应用中。

默认端口号:80

可靠数据传输:一般采用TCP/IP协议来实现保证可靠数据传输

无状态:默认为非持久连接,所以Http协议也说是无状态的协议。

报文:主要分为两种,请求(Request)报文和响应(Response)报文


请求报文格式: 请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

请求行:方法字段 URL字段 HTTP协议版本
方法字段:GET,POST,HEAD,PUT,DELETE
URL字段:目标对象在服务器的路径
版本号:当前的HTTP协议版本

通用信息头(请求报文与响应报文都会使用的首部字段)
Date:创建报文时间
Connection:连接的管理(持久连接或是非持久连接)
Cache-Control:缓存的控制
Transfer-Encoding:报文主体的传输编码方式

请求头:

Host:服务器主机
Referer头域:原地址URL
User-agent:用户代理,也就是浏览器类型
Cookie:发送本地储存的一个SessionId到服务器中索引Session

实体头(请求报文与响应报文的的实体部分使用的首部字段)
Allow:资源可支持的HTTP方法
Content-Type:实体主类的类型
Content-Encoding:实体主体适用的编码方式
Content-Language:实体主体的自然语言
Content-Length:实体主体的的字节数
Content-Range:实体主体的位置范围,一般用于发出部分请求时使用

响应报文格式: 状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体

状态行:协议版本 状态码 相应状态信息
协议版本:当前的HTTP协议版本
状态码和对应的状态信息在后面会列举一些常见的

通用信息头(请求报文与响应报文都会使用的首部字段)
Date:创建报文时间
Connection:连接的管理(持久连接或是非持久连接)
Cache-Control:缓存的控制
Transfer-Encoding:报文主体的传输编码方式

响应头:

Location:服务器返回的新界面的URL
Server:服务器的一些信息

实体头(请求报文与响应报文的的实体部分使用的首部字段)
Allow:资源可支持的HTTP方法
Content-Type:实体主类的类型
Content-Encoding:实体主体适用的编码方式
Content-Language:实体主体的自然语言
Content-Length:实体主体的的字节数
Content-Range:实体主体的位置范围,一般用于发出部分请求时使用

常见状态码和对应的状态信息:

200 OK 请求成功
301 Moved Permanently 请求的URL被永久更改了,返回新的URL在Location字段中,一般软件会自动对该URL进行访问
400 Bad Request 一个通用的差错代码,表示请求服务器无法理解,一般是报文有错误
404 Not Found 请求的文档不在服务器上,一般是URL写错了
505 HTTP Version Not Supported 表示请求的报文和协议的版本不对应

HTTP的缺点与HTTPS
通信使用明文不加密,内容可能被窃听
不验证通信方身份,可能遭到伪装
无法验证报文完整性,可能被篡改
HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护

参考博客:https://www.cnblogs.com/sunny-sl/p/6529830.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值