HTTP协议详解
Posted 爱上口袋的天空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议详解相关的知识,希望对你有一定的参考价值。
目录
一、HTTP工作过程
HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的应用层协议。
1.基于某个特定的传输层协议(TCP)之上
2.描述业务
3.非OS系统
当我们在浏览器中输入一个 “网址”, 此时浏览器就会给对应的服务器发送一个 HTTP 请求. 对方服务器收到这个请求之后, 经过计算处理, 就会返回一个 HTTP 响应。
事实上, 当我们访问一个网站的时候, 可能涉及不止一次的 HTTP 请求/响应 的交互过程。
二、HTTP 协议格式
注意: 为什么 HTTP 报文中要存在空行呢?
- 因为 HTTP 协议并没有规定报头部分的键值对有多少个,使用空行就相当于是报文的结束标记或报文和正文之间的分隔符
- HTTP 在传输层依赖 TCP 协议,TCP 是面向字节流的。如果没有这个空行,就会出现”粘包问题“
1、请求(Request)格式
2、URL格式
URL (Uniform Resource Locator 统一资源定位符),互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL的具体格式:
- 资源在哪台主机上——域名 (domain) 或者ip来体现一主机 (host)
- 和主机上的哪个进程去获取资源——端口 (port)
- 具体定位到是该进程管理的哪个资源——资源路径/路径 (path)
- URL设计之处,不仅仅为HTTP协议使用。所以需要标识出本次资源对应的协议(protocol / schema)
- 针对本次请求,除了资源本身之外的特殊要求。(查询字符串 query string、文档片段 fragment)
3、方法(method)
4、协议头(header)
header 的整体格式是键值对结构,每个键值对占一行,键和值之间使用 冒号+空格 进行分割
Content-Type 有以下三种请求中的数据格式:
application/x-www-form-urlencoded
multipart/form-data
application/json
5、响应(Response)格式
6、常见的状态码
以上是关于HTTP协议详解的主要内容,如果未能解决你的问题,请参考以下文章