Linux-http协议(应用层协议)-http概述-http格式-http版本-http方法-http状态码

Posted 天津 唐秙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-http协议(应用层协议)-http概述-http格式-http版本-http方法-http状态码相关的知识,希望对你有一定的参考价值。

1. HTTP协议(应用层)

1.1 http协议的概述

  超文本传输协议,是属于应用层的协议,web->server,无连接,无状态,那是不是可以说是不安全的?不是的,在传输层是使用的TCP协议,而TCP是面向连接的,所以是安全的。

1.2 http协议的url解释

在这里插入图片描述

  1. 协议方案名
  2. 登录信息(认证)
  3. 服务器地址
  4. 服务器端口号
  5. 带层次的文件路径
  6. 查询字符串
  7. 片段标识符

  http和https,区别https会加密传输,这两个方法中相差一个ssl,使用的是非对称加密,http监听80端口,https监听443端口。

1.3 urlencode和urldecode

C+±>C%2B%2B
  urlencode:将字符转换成为16进制
  urldecode:将16进制转换成字符
  %:提示服务器后面的数据是被urlencode过的,多个key=value的键值对,以&符号进行分割。
  片段标识符:定位资源的位置
命令: ping 网址
功能: 得到网址的ip地址
在这里插入图片描述

1.4 http协议的格式

请求:
在这里插入图片描述
响应
在这里插入图片描述
  首行: 【版本号】+【状态码】+【状态码解释】
  Header: 请求的属性,冒号分割的键值对,每组属性之间使用\\r\\n分割,遇到空行表示Header部分结束
  Body: 空行后面的内容都是Body,Body允许为空字符串,如果Body存在,则在Header中会有一个Content-Length属性来标识Body的长度,如果服务器返回了一个html页面,那么html页面的内容就再body当中。

1.5 http的协议版本

  HTTP/0.9 :1990年问世,没有作为正式的标准
  HTTP/1.0 :1996年5月公布,初期版本
  HTTP/1.1 :1997年1月公布,目前主流的HTTP协议版本
  HTTP/2.0 :新一代的HTTP协议版本,暂时未被广泛使用

1.6 http的方法

方法说明支持的HTTP协议版本
GET获取资源1.0、1.1
POST传输实体主体1.0、1.1
PUT传输文件1.0、1.1
HEAD获得报文首部1.0、1.1
DELETE删除文件1.0、1.1
OPTIONS询问支持的方法1.1
TRACE追踪路径1.1
CONNECT要求用隧道协议连接代理1.1
LINK建立和资源之间的联系1.0
UNLINE断开连接关系1.0

1.7 http的状态码

类别原因短语
1xxinformational(信息性状态码)接收的请求正在处理
2xxsuccess(成功状态码)请求正常处理完毕
3xxredirection(重定向状态码)需要进行附加操作以完成请求
4xxClient Error(客户端错误状态码)服务器无法处理请求
5xxserver error(服务器错误状态码)服务器处理请求出错

常见的状态码:
  200(ok)
  404(not found)
  403(forbidden)
  302(redirect)
  504(bad gateway)

1.8 http常见Header

  content-type: 正文数据类型(text/html等)
  content-length: body的长度,描述正文的长度
  host: 客户端告知服务器请求的资源在哪个主机的哪个端口
  user-agent: 声明用户的操作系统和浏览器版本信息,可以防止爬虫
  referer: 当前页面是从哪个页面跳转过来的
  location: 搭配3xx状态码使用,告诉客户端接下来去哪里
  cookie: 用于在客户端存储少量信息,通常用于实现会话功能,存了会话ID,服务器通过会话ID就能知道是谁,这个是存在服务器当中的

2. 零碎知识点

  1.持久化处理叫做保存。
  2.三次握手之后还会ssl握手:决定了用什么算法,什么证书,服务端私钥解密,客户端公钥加密。

以上是关于Linux-http协议(应用层协议)-http概述-http格式-http版本-http方法-http状态码的主要内容,如果未能解决你的问题,请参考以下文章

超详细!!传输层之TCP/UDP协议基本概念及经典面试题

UDP TCP概论及案例

AJAX相关概念及应用

接口测试理论一

简单了解http协议-1

网络编程知识什么是Socket?概念及原理分析