【笔记】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操作大量字符串效率低下 ...
随机推荐
- php构造方法(函数)基础
什么是构造函数呢?在回答这个问题之前,我们来看一个需求:我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就指定这个对象的年龄和姓名,该怎 ...
- DSP using MATLAB》Problem 8.16
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 【CF285E】Positions in Permutations
题目 刷水题涨信心 显然这是个广义容斥,我们现在算一下至少有\(i\)个完美数的方案数就好了 这\(1000\)的数据范围显然在暗示\(n^2\)的dp 我们注意到这个条件大概就是\(P_i=i-1\ ...
- 23-css补充
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 引入Vue.js实现vue效果
拆分组件为单个js见:https://www.jianshu.com/p/2f0335818ceb 效果 html <!DOCTYPE html> <html> <hea ...
- Activiti 部分实用功能
helloworld中已经写了关于部署流程图,查询个人任务,完成个人任务部分.现在添加几个新的实用功能 1.判断流程是否完成,代码如下 public void isProcessEnd() { Str ...
- 汇编语言LAHF和SAHF指令
LAHF(加载状态标志位到 AH)指令将 EFLAGS 寄存器的低字节复制到 AH.被复制的标志位包括:符号标志位.零标志位.辅助进位标志位.奇偶标志位和进位标志位.使用这条指令,可以方便地把标志位副 ...
- Python之MySQL语法(增删改查)
-- ID: 新闻的唯一标示 -- title: 新闻的标题 -- content: 新闻的内容 -- created_at: 新闻添加的时间 -- types: 新闻的类型 -- image: 新的 ...
- [编织消息框架][netty源码分析]3 EventLoop 实现类SingleThreadEventLoop职责与实现
eventLoop是基于事件系统机制,主要技术由线程池同队列组成,是由生产/消费者模型设计,那么先搞清楚谁是生产者,消费者内容 SingleThreadEventLoop 实现 public abst ...
- HZOI20190823模拟31题解
题面:https://www.cnblogs.com/Juve/articles/11425141.html math:仔细看看其实是个水题 #include<iostream> #inc ...