HTTP协议理解
HTTP(Hyper Text Transfer Protocol)超文本传输协议,是一种请求响应式协议,类似两国会晤中需要遵守的规则。那么,其中有什么内容特点呢?
HTTP特点:
1)支持客户端/服务器模式(浏览器也是一种客户端)
2)够简单,所以够快速
3)够灵活,传输什么类型的数据都能适应
4)无状态,指对事务处理没有记忆,也就是说没有续传性,一旦断开,下次重新连接要重新传输(区别于FTP是有状态的,假如传文件传到一半断网了,没事,下次接着传)
HTTP版本问题:
HTTP1.0每次只能处理一个HTTP请求,这将直接导致用户访问一个包含各种链接的网页时,速度缓慢(每个链接都要有一个请求和一个响应多慢啊)
HTTP1.1一个TCP连接上可以传送多个HTTP请求和响应
HTTP消息=HTTP请求消息+HTTP响应消息
HTTP请求消息=请求行+请求头+请求消息
1)请求行:请求方式+资源路径+HTTP版本(用空格分隔):GET /index.html HTTP/1.1
其中请求方式分为get和post两种方式,区别如下:
get方式生成的请求会将参数部分加载在URL后面,以?为标志,也就是说保密性不强,get方式传送的数据量有限(不超过1KB)
post方式保密性强,传输大小无限制,所以实际开发中这种方式更受青睐!
2)请求头:主要向服务器端传递附加信息:(头字段名称+冒号+空格+值) <%-- 这里是解释-->
Host: localhost:8080 <%--主机和端口号(必须包含这个)-->
Accept: image/gif, image/x-xbitmap, * <%--告诉服务器,客户端可以接受的MIME(多用途互联网邮件扩展)类型-->
Referer: http://localhost:880/itcast/ <%--检验请求网站的来源,即请求发出站,可以用于网站的防盗链-->
Accept-Language: zh-cn,zh; <%--客户端期望服务器返回哪个国家语言的文档,这里表示中国(en-us表示美国)-->
Content-Type: application/x-www-form-urlencoded <%--指出实体内容的MIME类型-->
Connection: Keep-Alive <%-- 建立连接是否连续 -->
Cache-Control: no-cache <%--告诉服务器端是否允许缓存该页面-->
HTTP响应消息=响应状态行+响应消息头
1)响应状态行:HTTP版本+状态码+状态码对应的文本信息(空格分隔):HTTP/1.1 200 OK
其中状态码由三位数字组成,表示请求是否被理解或被满足,其中第一个数字定义了响应的类别
1xx:请求已接收,需要继续处理
2xx:请求已接收、理解并接受(常见的200表示正常)
3xx:为完成请求,客户端需要进一步细化请求(302表示找到,例如请求重定向SendRedirect)
4xx:客户端请求出错(常见的404表示页面找不到,400请求无效,408请求超时)
5xx:服务器出错(常见的500内部服务器出错)
2)HTTP相应头:紧接着响应状态行之后是若干响应消息头,也是传递附加信息,不过是服务器端向客户端发送的
Server: Apache-Coyote/1.1 <%--服务器名称-->
Content-Encoding: gzip <%--压缩编码格式-->
Content-length: 80 <%-- 响应内容类型-->
Content-Language: zh-cn <%--指出响应的使用语言-->
Content-Type: text/html; charset=GB2312 <%--客户端检查接收的内容代表哪种格式的数据类型 -->
Expires: -1 <%-- 和下面两个共同组合使用,告诉客户端是否在客户端缓存网页-->
Cache-Control: no-cache
Pragma: no-cache
HTTP暂止于此,下次是复习Servlet技术~~
HTTP协议理解的更多相关文章
- IIC协议理解(转)
目录 IIC协议理解(转) 个人小结记录 (记一下这个就够了) 以下为转载记录 概述 概述 输出级 主设备与从设备 速率 时序 空闲状态 起始位与停止位 数据的有效性 数据的传送 工作过程 主设备向从 ...
- TCP/IP协议理解
TCP/IP协议理解 一. 协议分层 由于ISO标准中的网络模型是个7层模型,但是由于7层模型对于当时的网络厂商来说太过复杂,很多厂家采用了简化的4层模型来实现网络设备,4层模型也就成了事实的网 ...
- HTTP协议理解与应用总结
总结了自己在实际工作场景中遇到的与http协议相关的一些内容的理解. Request & Response Request格式 <request-line> 比如:GET /api ...
- NEC红外遥控协议理解与实现
红外发射管有2个管脚,发送的是经过38KHz时钟调制过的信号.例如下图使用PWM产生一个等占空时钟信号用于调制. 接收管收下来的信号已经经过了解调,可以直接连接系统的外部中断脚. 下面通过逻辑分析仪来 ...
- 从GO内存模型与调用协议理解defer closure的坑
资料参考: 官网defer介绍: https://blog.golang.org/defer-panic-and-recover 深入解析go: 多值返回: https://tiancaiamao.g ...
- TCP协议理解
一.前言: TCP协议和UDP协议是网络编程里最重要的协议,很多新出的技术.新出的协议本质上都是基于这两个协议的,其中又以TCP协议居多:比如HTTP协议就是基于TCP协议的,应用程序和数据库交互也是 ...
- 爬虫基础---HTTP协议理解、网页的基础知识、爬虫的基本原理
一.HTTP协议的理解 URL和URI 在学习HTTP之前我们需要了解一下URL.URI(精确的说明某资源的位置以及如果去访问它) URL:Universal Resource Locator 统一资 ...
- Mavlink协议理解
来源:blog.csdn.net/super_mice/article/details/44836585 之前看了mavlink协议,网上关于mavlink的资料不多.本文大概总结了下对mavlink ...
- Mavlink 协议 理解
来源:blog.csdn.net/super_mice/article/details/44836585 之前看了mavlink协议,网上关于mavlink的资料不多.本文大概总结了下对mavlink ...
随机推荐
- redis的hashes类型
redis hash 是一个string类型的field和value 的映射表.它的添加.删除操作都是O(1) . hash特别适合用于存储对象.相较于将对象的每个字段存成单个string类型 . 将 ...
- 我从其他人的Shell脚本中学到的
我从其他人的Shell脚本中学到的 2013/08/20 | 分类: 程序员 | 2 条评论 | 标签: SHELL, 脚本 分享到:17 本文由 伯乐在线 - 伯乐在线读者 翻译自 Fizer Kh ...
- 【转】关于Xcode的Other Linker Flags
链接器 首先,要说明一下Other Linker Flags到底是用来干嘛的.说白了,就是ld命令除了默认参数外的其他参数.ld命令实现的是链接器的工作,详细说明可以在终端man ld查看. 如果有人 ...
- NSLog说明
%@ 对象 %d,%i 整型 (%i的老写法) %hd 短整型 %ld , %lld 长整型 %u 无符整型 %f 浮点型和double型 %0.2f 精度浮点数,只保留两位小数 %x,%X 二进制整 ...
- UVa 1252 Twenty Questions (状压DP+记忆化搜索)
题意:有n件物品,每件物品有m个特征,可以对特征进行询问,询问的结果是得知某个物体是否含有该特征,要把所有的物品区分出来(n个物品的特征都互不相同), 最小需要多少次询问? 析:我们假设心中想的那个物 ...
- matlab和FPGA中无符号数和有符号数的转化(转)
在FPGA 设计过程中经常会遇到关于数表示之间的转化问题,最常见的是无符号数和有符号数之间的转化问题.(1)在FPGA设计过程中,能够很直接的看出数字的位宽,但经常以无符号数的形式输出,在后继的处理中 ...
- matlab中读取txt数据文件(转)
根据txt文档不同种类介绍不同的读取数据方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.111 ...
- java选项及系统属性
java选项 -d32 使用 32 位数据模型 (如果可用) -d64 使用 64 位数据模型 (如果可用) -server 选择 "server" VM 默认 VM 是 serv ...
- C# 调用第三方DLL完整实例
C# 调用第三方DLL完整实例 分类: C/C++ 以下代码为本人在实际项目中编写的调用第三方DLL接口程序的完整代码. public class ExecuteDLL : Form { ...//忽 ...
- UVa572 Oil Deposits DFS求连通块
技巧:遍历8个方向 ; dr <= ; dr++) ; dc <= ; dc++) || dc != ) dfs(r+dr, c+dc, id); 我的解法: #include< ...