【笔记】http协议笔记
本文是本人在复习http协议时,手动整理的资料,以备后续查阅。
http(hypertext transfer protocol):超文本协议。是万维网(world wide web,www,也简称为web)的基础。http是一个属于应用层的面向对象的协议。适用于分布式超媒体信息系统。
它于1900年提出,经过使用与发展,得到不断的完善和扩展,目前www中使用的是htttp1.1:
最开始出现的http原始协议现在成为:http0.9 ,它是一个面向消息的简单协议。是现在使用的http协议的子集。因此它同http0.1、htttp1.1兼容。
http协议的三个显著特点:
1、无连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后立即断开连接。采用这种方式可以节省传输时间。
2、无记忆:协议不保留当前事务处理的信息。虽然这会带来一些副作用,可是服务需要重新利用先前信息,可以实现较快应答。
3、无状态:每一个事务都是独立地进行处理。当一个事务开始时,就在www客户与wwwf服务器之间产生一个TCP连接,当事务结束时就释放这个TCP连接。
http有两类报文:
1、客户到服务器的请求报文(request)
2、服务器到客户的响应报文(response)
一、http请求
http 请求由三部分构成,分别是:方法-URL-协议/版本,请求头,请求正文

【请求头说明】Accept :说明能接受的内容类型
Accept-Language:指客户端的语言,这也是为什么我们访问google.com会自动指派到google.cn上面。
Accept-Encoding:这个是指客户端所能接受编码规则。
user-Agent:客服端的信息,对于服务器来说没有这个信息,它并不知道客户是使用什么环境访问www服务的,所以相关的日志信息记录的就是客户浏览器发送的这块内容。
host:指请求的主机地址
【注意】请求头和请求正文之间是一个空行(只有CRLF符号的行),这个行非常重要,它表示请求头已经结束,接下来的是请求的正文。
二、response 应答
应答是指对http请求的响应。与http请求相似,http应答也由三个部分构成,分别是:协议-状态代码-描述、应答头、应答正文。

【响应头说明】contect-Length:正文长度,确保传输的页面内容正确。
contect-Type:正文的类型,是文本还是压缩格式。
server:服务器上的WWW服务器名称。
date:服务器上的GMT格林威治时间
【注意】应答的正文就是服务器返回的HTML页面。应答头和正文之间也用一个空行(只有CRLF符号的行)分隔。
总结:我们看到的一个完整的web网站是由很多http请求组成的,一般来说我们第一次的请求会下载HTML的页面,然后浏览器会做一个解释工作,一边解释一边根据html中的请求(css、js、flash、jpeg、gif)将请求发送出来,服务器再将相关内容返回,最后我们就看到了一个完整的页面。
【笔记】http协议笔记的更多相关文章
- 蓝牙HID协议笔记【转】
蓝牙HID协议笔记 转自:http://blog.sina.com.cn/s/blog_69b5d2a50101emll.html 1.概述 The Human Interface Devic ...
- LLDP协议、STP协议 笔记
参考: 数据链路层学习之LLDP 生成树协议 LLDP协议.STP协议 笔记 LLDP 提出背景: 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加 ...
- MQTT协议笔记之订阅
前言 记忆不太好的时候,只能翻看以前的文章/笔记重新温习一遍,但找不到MQTT协议有关订阅部分的描述,好不容易从Evernote中找到贴出来,这样整个MQTT协议笔记,就比较齐全了. SUBSCRIB ...
- MQTT协议笔记之发布流程
MQTT协议笔记之发布流程 前言 这次要讲到客户端/服务器的发布消息行为,与PUBLISH相关的消息类型,会在这里看到. PUBLISH 客户端发布消息经由服务器分发到所有对应的订阅者那里.一个订阅者 ...
- MQTT协议笔记之头部信息
前言 记忆不太好的时候,只能翻看以前的文章/笔记重新温习一遍,但找不到MQTT协议有关订阅部分的描述,好不容易从Evernote中找到贴出来,这样整个MQTT协议笔记,就比较齐全了. SUBSCRIB ...
- ZT 蓝牙的AVCTP协议笔记
蓝牙的AVCTP协议笔记 (2013-07-31 08:52:41) 转载▼ 标签: bluetooth avctp command response 分类: Bluetooth 1.概述 A ...
- ZT 蓝牙的AVDTP协议笔记
我的电子杂烩饭 http://blog.sina.com.cn/wuchuchu2012 [订阅][手机订阅] 首页 博文目录 图片 关于我 个人资料 Tifnan Qing 微博 加好友 发纸条 写 ...
- ZT A2DP协议笔记
A2DP协议笔记 (2013-07-30 10:07:54) 转载▼ 标签: a2dp bluetooth src sink 分类: Bluetooth 1.概述 A2DP(Advanced ...
- Objective-C学习笔记 利用协议实现回调函数
来源:http://mobile.51cto.com/iphone-278354.htm Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然 ...
- [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析
前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解.其中有提及string操作大量字符串效率低下 ...
随机推荐
- STL 最大堆与最小堆
在第一场CCCC选拔赛上,有一关于系统调度的水题.利用优先队列很容易AC. // 由于比赛时花费了不少时间研究如何定义priority_queue的比较函数,决心把STL熟练掌握... Queue 首 ...
- python 之 heapq (堆)
堆的实现通过构造二叉堆,实为二叉树的一种:这种数据结构具有以下性质: 任意节点小于(或大于)它的后裔,最小元(或最大元)在堆的根上 堆总是一颗完整树.即除了最低层,其它层的节点都被元素填满,且最低层极 ...
- Appscan standard怎么设置外部浏览器为IE
Appscan standard怎么设置外部浏览器为IE 方法/步骤 首先,打开一个的Appscan 的界面中,点击菜单中的 工具 的选项 点击了工具的选项之后,弹出了下拉菜单选中为 ...
- mariadb ROW格式复制下从库结构变更引发1677错误
stop slave;set global slave_type_conversions=ALL_LOSSY;start slave; 详细度娘slave_type_conversions的参数说明
- 从0开始学习ssh之岗位管理
岗位应该有如下属性,id.名称.说明.新建role.java.添加id,name,description并增加三个的get set方法. 之后建立Role.hbm.xml 并加入到applicatio ...
- ASCII对照
标准表 Bin (二进制) Oct (八进制) Dec (十进制) Hex (十六进制) 缩写/字符 解释 0000 0000 00 0 0x00 NUL(null) 空字符 0000 0001 01 ...
- 论文翻译——R-CNN(目标检测开山之作)
R-CNN论文翻译 <Rich feature hierarchies for accurate object detection and semantic segmentation> 用 ...
- Eureka客户端无法连接服务注册中心
转载自:https://my.oschina.net/kousm/blog/2249003 服务端 application.yml配置 spring: application: name: eurek ...
- jqGrid 属性、事件全集
<html> ... <table id="list1"></table> <div id="pager1">& ...
- Leetcode113. Path Sum II路径总和2
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...