HTTP协议(HyperText transfer Potocol)

在了解http协议之前我们先了解一下什么是通信和通信协议

  1. 通信:信息的传递和交换,通信有三要素:通信的主体,通信的内容,通信的方式
  2. 通信协议:通信的双方所必须要遵守的约定好的格式来发送或者接收
  3. 网页内容的传输协议:在互联网上,客户端和服务器端之间实现网页内容的传输所遵守的协议,又称为网页内容传输协议,简称http协议
    当客户端发起请求给服务器端是称为http请求;客户发送到服务器之间的消息称为http请求消息,又称请求报文
http请求消息

四个部分:

  • 请求行
  • 请求头部
  • 请求体
  • 空格
http请求消息
请求行
  • 请求方式
  • url
  • http协议版本
请求头部

描述客户端基本信息把内容告知服务器,通常以键值对的格式用冒号隔开
常见的请求头部字段有:
Accept 客户端识别的响应内容类型列表
user-agent 产生请求的客户端浏览器类型
Content-type 客户端告知服务器请求发送的数据类型
Accept-Encoding 客户可以接收的额内容压缩编码的形式
Accept-Language 用户期望获得的自然语言的优先顺序
参考文档 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers

注意:

在最后一个请求头部字段后面是一个空行,用来分隔请求头部和请求体,通知服务器请求头部结束

请求体

通过post方式提交至服务器的数据,所以get请求是没有请求体的只有post有请求体

http响应消息

服务器响应给客户端的消息内容,又称响应报文
四个部分

  • 状态行 : http协议版本 空格 状态码 空格 状态码描述
  • 响应头部: 描述服务器的基本信息,由行键值对的形式组成,用冒号隔开
  • 响应体 :服务器响应客户端额的资源的内容
  • 空格
http响应消息.png

注意:

在最后一个请求头部字段后面是一个空行,用来分隔请求头部和请求体,通知服务器请求头部结束

响应头部请参考:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers

http请求方法
  • GET
    GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据.
  • HEAD
    HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体.
  • POST
    POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用.
  • PUT
    PUT方法用请求有效载荷替换目标资源的所有当前表示。
  • DELETE
    DELETE方法删除指定的资源
    除了上述的四个方法外还有很多
    请参考文档
    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
http响应状态码

刚才在响应消息中的状态行里有状态码,看似很陌生实际上很简单,他是用来标识响应的状态的每一班有三个十进制的数字组成,第一个数字定义了状态码的类型
相信大家在浏览网页时会出现到"404"、"302"、"304"等,通常以“2”开头,代表请求成功并处理。
具体状态码和状态码描述可以看文档:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 理解 HTTP 协议对构建网络应用是一个非常基础的要求,比如爬虫类程序,必须深入理解 Request 和 Reso...
    马六甲的笔记阅读 3,641评论 0 0
  • 请求头内容 我们打开chrome的network,点击任何一条request请求,就可以发现每个http head...
    A郑家庆阅读 2,498评论 0 0
  • 本文为《三万长文50+趣图带你领悟web编程的内功心法[https://www.itzhai.com/articl...
    Arthinking阅读 3,717评论 0 0
  • 状态码释义使用100 Continue表示目前为止一切正常, 客户端应该继续请求, 如果已完成请求则忽略。一般用在...
    曹吉利阅读 2,224评论 0 0
  • 作为一个前端,了解下 HTTP 协议是很有必要的。 先说个题外话,从《跃迁》一书中提到,高手获取信息的方式 —— ...
    VioletJack阅读 4,274评论 1 20