IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP协议 -> 正文阅读

[网络协议]HTTP协议

1. HTTP协议介绍

HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。

1.1 HTTP协议的特点

  • 支持客户端/服务器模式
  • 简单快速
  • 灵活
  • 无连接
  • 无状态

2. URL

URL:(Uniform Resource Locator)统一资源定位符,是互联网上标准资源的地址。HTTP使用URL来建立连接 和传输数据。

URL格式

http://www.baidu.com/news/index.html?uid=123&page=1
  • 协议部分:“http”,常见的协议有HTTP,HTTPS、FTP等
  • 域名部分:“www.baidu.com”,也可以使用IP地址作为域名使用
  • 端口部分:“8080”,端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
  • 资源路径部分:“/news/index.html”
  • 查询参数部分:“uid=123&page=1”,可以允许有多个参数,多个之间用“&”作为分隔符

3.HTTP请求

http请求由三部分组成,分别是:请求行、请求头、请求体

POST http://demo.zentao.net/user-login.html HTTP/1.1
Host: demo.zentao.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://demo.zentao.net/user-login.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
Connection: keep-alive
Upgrade-Insecure-Requests: 1
                                    // 该空行表示请求头数据已经结束
account=demo&password=efc4a3b32e48054865e5a8321cfda3e4

3.1请求行

  • 请求行用来说明请求方法、要访问的资源以及所使用的协议版本
    常用请求方法:
  • GET:从服务器获取资源(一项或多项)
  • POST:在服务器新建一个资源
  • PUT:在服务器更新资源(客户端提供改变后的完整资源)
  • DELETE:从服务器删除资源

其他请求方法(了解):

  • HEAD:请求获取由Request-URI所标识的资源的响应消息报头
  • TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
  • CONNECT:保留将来使用
  • OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求

3.2请求头
主要是以键值对的形式存在
重点掌握:Content-Type=application/json
请求头紧接着请求行,请求头部由键值对组成,每行一对。 请求头部通知服务器有关于客户端请求的信息,典型的请求头有:

User-Agent:产生请求的浏览器类型
Accept:客户端可识别的内容类型列表
Content-Type:请求体数据的类型,常见的类型有:
	text/html: HTML格式
	text/plain:纯文本格式
	image/jpeg:jpg图片格式
	application/json: JSON数据格式
	application/x-www-form-urlencoded: form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据格式)
	multipart/form-data: 在表单中进行文件上传时使用

3.3请求体
请求体不在GET方法中使用,经常在POST、PUT方法中使用
请求体的数据可以是:表单数据、文本、XML、JSON
与请求数据相关的最常使用的请求头是Content-TypeContent-Length

4.HTTP响应

HTTP响应也由三个部分组成,分别是:状态行、响应头、响应体
HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8

...

4.1状态行
状态行由协议版本号、状态码、状态消息三部分组成
状态码有三位数字组成,第一个数字定义了响应的类别:

  • 1xx:指示信息–表示请求已接收,继续处理
  • 2xx:成功–表示请求已被成功接收、理解、接受
  • 3xx:重定向–要完成请求必须进行更进一步的操作
  • 4xx:客户端错误–请求有语法错误或请求无法实现
  • 5xx:服务器端错误–服务器未能实现合法的请求

4.2响应头
响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理响应数据

4.3响应体
响应体就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源码

5.状态码(Status Codes)

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 16:11:28  更:2021-11-15 16:13:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:50:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码