小白成长系列--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 受保护的.用来修饰属性或 ...
随机推荐
- 【转载】MySQL之权限管理
一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作.只允许你从某台机器上连接m ...
- 数据结构-二叉树(应用篇)-之二叉搜索树 C和C++的实现
一.概念 二叉搜索树(Binary Sort Tree/Binary Search Tree...),是二叉树的一种特殊扩展.也是一种动态查找表. 在二叉搜索树中,左子树上所有节点的均小于根节点,右子 ...
- AccessibilityService+WindowManager+SurfaceView开系统权限
一种通过自动获取用户权限增强产品体验的方法 本文是基于辅助功能+悬浮窗+SurfaceView来实现自动获取用户权限的具体方案设计与实现.辅助功能抢红包插件相信大家并不陌生,但是微信官方不允许,但是在 ...
- Django_自带的admin管理页面
Django的admin管理页面非常的好用,接下来就简单的说一下: 首先当你在pycharm中启动django服务端程序之后,在浏览器中输入地址就可以访问 当你输入默认的admin页面,,会弹出来下边 ...
- Codeforces Round #336 (Div. 2)【A.思维,暴力,B.字符串,暴搜,前缀和,C.暴力,D,区间dp,E,字符串,数学】
A. Saitama Destroys Hotel time limit per test:1 second memory limit per test:256 megabytes input:sta ...
- 命运(经典dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2571 命运 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 《SpringMVC从入门到放肆》五、SpringMVC配置式开发(处理器适配器)
上一篇我们大致讲解了处理器映射器的处理流程以及跟了一下源码的执行流程.今天我们来了解一下处理器适配器. 一.适配器模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述适配器(Adapt ...
- 遍历Map集合:java.util.Map.Entry、KeySet两种方式
遍历Map集合的两种方式: 1.用KeySet Map.keySet(),返回一个存放所有key的set集合,通过遍历集合,根据key值取出所有的value值. Map<String,Strin ...
- UE4 小笔记
1,设置postprocess材质时使用Add or Update Blendable 用Make PostprocessSetting会报警告,因为C++代码中没有设置为BlueprintReadW ...
- MLlib--保序回归
转载请标明出处http://www.cnblogs.com/haozhengfei/p/24cb3f38b55e5d7516d8059f9f105eb6.html 保序回归 1.线性回归VS保序回归 ...