小白成长系列--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 受保护的.用来修饰属性或 ...
随机推荐
- 深入理解JVM(六)——类加载器原理
我们知道我们编写的java代码,会经过编译器编译成字节码文件(class文件),再把字节码文件装载到JVM中,映射到各个内存区域中,我们的程序就可以在内存中运行了.那么字节码文件是怎样装载到JVM中的 ...
- AVFoundation 框架初探究(三)
这篇总结什么? 在该系列的上一篇的文章中,我们总结的大致内容如下: 1.视频录制 AVCaptureSession + AVCaptureMovieFileOutput 2.视频录制 AVCaptu ...
- Android开发艺术探究Note
第一章:Activity的生命周期和启动模式 生命周期 onPause表示activity正在停止,onPaus必须先执行完(栈顶的activity),新的activity的onResume才会执行. ...
- [hdu5225][BC#40]Tom and permutation
好久没写题解了..GDKOI被数位DP教做人了一发,现在终于来填数位DP的大坑了>_<. 发现自己以前写的关于数位DP的东西...因为没结合图形+语文水平拙计现在已经完全看不懂了嗯. 看来 ...
- Codeforces Round #345(Div. 2)-651A.水题 651B.。。。 651C.去重操作 真是让人头大
A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- And Then There Was One(约瑟夫问题变形)
题目链接:http://poj.org/problem?id=3517 And Then There Was One Time Limit: 5000MS Memory Limit: 65536K ...
- mysql中配置ssl_key、ssl-cert、ssl-ca的路径及建立ssl连接
1.创建 CA 私钥和 CA 证书 (1)下载并安装openssl,将bin目录配置到环境变量: (2)设置openssl.cfg路径(若不设置会报错,找不到openssl配置文件) \bin\ope ...
- 访问 Tomcat支配项目去除项目名和端口号通过IP地址(或域名)访问
Tomcat去除项目名称和端口号 1. 去除端口号 将端口设为80: <Connector port="80" protocol="HTTP/1.1" c ...
- Java本地缓存解决方案其一(使用Google的CacheBuilder)
前不久,业务实现上需要用到本地缓存来解决一些数据量相对较小但是频繁访问的数据,通过查找各种资料,找到了一种可以实现的方案--采用的是Google的CacheBuilder.下面是代码实现过程:1.首先 ...
- 把自己的js模块兼容到AMD CMD CommonJS
为了让同一个模块可以运行在前后端,在写作过程中需要考虑兼容前端也实现了模块规范的环境.为了保持前后端的一致性,类库开发者需要将类库代码包装在一个闭包内.以下代码演示如何将hello()方法定义到不同的 ...