小白成长系列--HTTP协议(一)
序:小白成长系列是笔者使用最简单易懂的逻辑来解释常见的计算机相关知识,不仅理解,还让你记忆深刻\(^o^)/
先理解什么是协议?
协议就是双方要做某件事情而制定的规则,而且双方必须要遵从协议所约定的内容,大家才能共同做某件事情。
HTTP协议
形象理解:HTTP协议即按一定规则,客户端向服务器要数据或发送数据,而服务器按一定规则回应数据;
官方概念:HTTP协议,全名超文本传输协议(HTTP,HyperText Transfer
Protocol),是互联网上应用最为广泛的一种网络协议。
协议双方
HTTP协议遵守双方分别是客户端和服务器;
原始状态下,客户端和服务器是没有联系的,各自独立存在;
工作状态下(客户端向服务器要数据或发送数据),客户端要先与服务器建立连接,再发送请求;然后服务器沿着连接返回响应信息;最后断开连接。
HTTP协议内容
(一)客户端向服务器请求数据或发送数据时,请求信息的格式按顺序必须为:请求行、请求头信息、请求主体信息(可以没有),而且头部信息结束后和主体信息之间要空一行。
1.请求行
请求行内容包括请求方法、请求路径、所用协议
请求方法:GET、POST、PUT、DELETE、TRACE、OPTIONS;(最常用的是前两种)
请求路径:就是URL
所用协议:目前一般是HTTP/1.1,HTTP/0.9和HTTP/1.0已经基本不用
2.请求头信息
请求头信息
3.请求主体信息 (可以没有)
发送数据时,请求主体信息就是数据内容。
【注意:请求头部信息和主体信息之间要空一行,即使没有主体信息空行也不能少】
(二)同理,服务器向客户端响应信息时,响应信息的格式按顺序必须为:响应行、响应头信息、响应主体信息(可以没有),而且头部信息结束后和主体信息之间要空一行。
1.响应行
响应行内容包括所用协议版本、状态码、状态文字
2.响应头信息
响应头信息格式为“key:value”,一般有:
Date:... ; //响应时间
Server:... ; //响应的服务器信息
X-Powered-By:... ; //后端语言
Conten-Length:... ; //响应内容的长度
Content-Type:... ; //响应内容的类型
3.响应主体信息 (可以没有)
注:以上博客为黄小黄原创,转载请备明作者和原文链接。
小白成长系列--HTTP协议(一)的更多相关文章
- 架构师成长系列 | 从 2019 到 2020,Apache Dubbo 年度回顾与总结
作者 | 刘军(陆龟)Apache Dubbo PMC 本文整理自架构师成长系列 2 月 18 日直播课程. 关注"阿里巴巴云原生"公众号,回复 "218",即 ...
- 小学徒成长系列—StringBuilder & StringBuffer关键源码解析
在前面的博文<小学徒成长系列—String关键源码解析>和<小学徒进阶系列—JVM对String的处理>中,我们讲到了关于String的常用方法以及JVM对字符串常量Strin ...
- WEB架构师成长系列索引
WEB架构师成长系列索引 http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html
- CEF小白人系列1-认识CEF
手头上有个项目需要做浏览器的相关功能,评估了几个嵌入式方案最后选定CEF作为开发基础. 在入坑新技术的时候第一选择是去官网学习,这是一个非常好的习惯. CEF官网(请科学上网) https://bit ...
- CEF小白人系列2-DEV环境配置-Windows10+SDK+VS2015
以下资料整理来自CEF官方教学.作者做了翻译和整理.并会以一种重事件操作的方式来一点点入门. 3个问题: 在上一篇内容中我们了解了什么是CEF,能干些什么.必要的物理学习环境. 下面我们也是以带着问题 ...
- linux小白成长之路10————SpringBoot项目部署进阶
[内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...
- C# 串口操作系列(4) -- 协议篇,文本协议数据解析
C# 串口操作系列(4) -- 协议篇,文本协议数据解析 标签: c#uiobjectstringbyte 2010-06-09 01:50 19739人阅读 评论(26) 收藏 举报 分类: 通讯 ...
- 【小白的java成长系列】——面向对象基础
今天来说说java面向对象的知识点~事实上.java在其发展过程中可以成功.非常大一部分原因是其面向对象的思想~ 1.概念 如今来说面向对象思想.也不是什么新的知识点了,我们知道如今非常多语言都有面向 ...
- 【小白的java成长系列】——javakeyword
准备出一个系列的内容啦,今天就从keyword開始说起吧~ 类型 keyword 说明 keyword 说明 訪问控制权限 public 公共的.公开的. protected 受保护的.用来修饰属性或 ...
随机推荐
- 部署 k8s Cluster(下)- 每天5分钟玩转 Docker 容器技术(119)
上节我们通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署. 安装 Pod 网络 要 ...
- [转] Web 开发模式演变历史和趋势
文章转自梦想天空--前端文摘:Web 开发模式演变历史和趋势 一.简单明快的早期时代 可称之为 Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 3-5 人搞定所有开发.页面由 JSP.P ...
- 微信小程序——获取openid
1.在微信小程序后台得到appid.AppSecret 2.在任意小程序界面的[onLoad]中取得code(建议将代码写在index.js中) 3.用取得code换取openid 如后台无法将ope ...
- python 错误:"'NoneType' object has no attribute 'execute'"
这种原因常常是数据库链接产生的错误,检查连接参数时候齐全,cursor是否获取到了.
- java字符串比较
我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题.在编程中,通常比较两个字符串是否相同的表达式是"==",但在java中不能这么写.在j ...
- python编码问题和逻辑运算
1,回顾昨天课程及作业 #1.使用while循环输入 1 2 3 4 5 6 8 9 10 ''' count = 0 while count < 10: count += 1 # count ...
- Mac 安装 Gradle
首先下载 Gradle 通过官网进行下载 https://gradle.org 下载的文件名可能是 gradle-3.3-bin.zip 解压 将此文件解压到任意位置,如解压到 /usr/local ...
- 【经验总结】Java在ACM算法竞赛编程中易错点
一.Java之ACM易错点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非 ...
- [51nod1610]路径计数
路径上所有边权的最大公约数定义为一条路径的值. 给定一个有向无环图. T次修改操作,每次修改一条边的边权,每次修改后输出有向无环图上路径的值为1的路径数量(对1,000,000,007取模). Inp ...
- Bellman-Ford 求含负权最短路
该算法详解请看 https://www.cnblogs.com/tanky_woo/archive/2011/01/17/1937728.html 单源最短路 当图中存在负权边时 迪杰斯特拉就 ...