HTTP协议详解

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议详解相关的知识,希望对你有一定的参考价值。

目录

一、HTTP工作过程

二、HTTP 协议格式

 1、请求(Request)格式

 2、URL格式

3、方法(method)

 4、协议头(header)

5、响应(Response)格式

6、常见的状态码

​编辑 


一、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协议详解的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络HTTP 协议详解

Https协议详解

计算机网络之HTTP协议详解

网络协议-HTTP协议详解-HTTPS

网络协议-HTTP协议详解-HTTPS

计算机网络HTTPS 协议详解