小白成长系列--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 受保护的.用来修饰属性或 ...
随机推荐
- myeclipse 扩展内存大小
工具中修改设置Default VM ArgumentsWindows-> Preferences->Java->Installed JREs,点击右侧的jdk,然后点击"E ...
- fastboot模式
快速启动. 在安卓手机中fastboot是一种比recovery更底层的刷机模式. fastboot是一种线刷,就是使用USB数据线连接手机的一种刷机模式. recovery是一种卡刷,就是将刷机包放 ...
- spring使用之旅(一) ---- bean的装配
基础配置 启用组件扫描配置 Java类配置文件方式 package com.springapp.mvc.application; import ...
- 记录因webpack版本问题导致vue-cli快速搭建的项目运行时报错!
今日突然在群里见到好几个小伙伴说在创建vue项目后不能跑,会报错. 刚开始还不信,花了几分钟时间自己试了下,还真报错了!如下图 小伙伴的报错,如下图! 百思不得其解,看了运行的日志也找不出原因.于 ...
- npm 简单实用命令
npm -v 查看版本号 npm get global 返回false表示默认本地安装 true全局安装 npm set global=true 设置默认为全局安 ...
- Centos搭建Docker环境
安装Docker 安装Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: yum install d ...
- 微信小程序实现按首字母检索城市列表
不说废话,上效果图 因为我有多处要用到,所以我这里是写成自定义组件的,你也可以直接改成在page页面编写: 布局左边一个scroll-view,显示城市列表,右边一个view显示字母列表,城市列表这边 ...
- castle之动态代理
动态代理 DynamicProxy,这里说的动态代理是直接使用Castle.net 中提供的,并非自己实现的,因为别人写的很好,拿着用就行了. 动态代理的工作模式: 一般我们获取一个类型的实例都是通过 ...
- [最直白版]一步一步教你用VMware Workstation12安装Ubuntu 16.04和VMware Tools的教程
[最直白版]Win10下一步一步教你用 VMware Workstation12安装Ubuntu 16.04和VMware Tools的教程 安装过程中使用的软件(要保证电脑里面有下列三个东西): 1 ...
- 最大连接数:60 iops:150 什么概念?
最大连接数:最多允许同时多少个客户端连接到数据库 iops:每秒读写操作的次数 关于最大连接数: 假设一个时间点:00:01:00 00:01:01 -> 第一个客户端连接到数据 ...