本文是本人在复习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协议笔记的更多相关文章

  1. 蓝牙HID协议笔记【转】

    蓝牙HID协议笔记 转自:http://blog.sina.com.cn/s/blog_69b5d2a50101emll.html 1.概述     The Human Interface Devic ...

  2. LLDP协议、STP协议 笔记

    参考: 数据链路层学习之LLDP 生成树协议 LLDP协议.STP协议 笔记 LLDP 提出背景: 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加 ...

  3. MQTT协议笔记之订阅

    前言 记忆不太好的时候,只能翻看以前的文章/笔记重新温习一遍,但找不到MQTT协议有关订阅部分的描述,好不容易从Evernote中找到贴出来,这样整个MQTT协议笔记,就比较齐全了. SUBSCRIB ...

  4. MQTT协议笔记之发布流程

    MQTT协议笔记之发布流程 前言 这次要讲到客户端/服务器的发布消息行为,与PUBLISH相关的消息类型,会在这里看到. PUBLISH 客户端发布消息经由服务器分发到所有对应的订阅者那里.一个订阅者 ...

  5. MQTT协议笔记之头部信息

    前言 记忆不太好的时候,只能翻看以前的文章/笔记重新温习一遍,但找不到MQTT协议有关订阅部分的描述,好不容易从Evernote中找到贴出来,这样整个MQTT协议笔记,就比较齐全了. SUBSCRIB ...

  6. ZT 蓝牙的AVCTP协议笔记

    蓝牙的AVCTP协议笔记 (2013-07-31 08:52:41) 转载▼ 标签: bluetooth avctp command response 分类: Bluetooth 1.概述     A ...

  7. ZT 蓝牙的AVDTP协议笔记

    我的电子杂烩饭 http://blog.sina.com.cn/wuchuchu2012 [订阅][手机订阅] 首页 博文目录 图片 关于我 个人资料 Tifnan Qing 微博 加好友 发纸条 写 ...

  8. ZT A2DP协议笔记

    A2DP协议笔记 (2013-07-30 10:07:54) 转载▼ 标签: a2dp bluetooth src sink 分类: Bluetooth 1.概述     A2DP(Advanced ...

  9. Objective-C学习笔记 利用协议实现回调函数

    来源:http://mobile.51cto.com/iphone-278354.htm Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然 ...

  10. [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析

    前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解.其中有提及string操作大量字符串效率低下 ...

随机推荐

  1. C# 判断当前请求是GET、还是POST ?

    方法一: HttpContext.Current.Request.RequestType == "POST"   //当前请求为:POST 方法二: if(Request.Serv ...

  2. 对CNN感受野一些理解

    对CNN感受野一些理解 感受野(receptive field)被称作是CNN中最重要的概念之一.为什么要研究感受野呐?主要是因为在学习SSD,Faster RCNN框架时,其中prior box和A ...

  3. 关于mysql8授权的问题,mysql萌新小白采坑记录

    记录本人第一次使用mysql时踩的坑,因为我从官网下载最新的版本8.0.15msi版本的,直接下一步下一步安装完成之后,本地访问正常,然后服务器安装访问也正常.然后本地连接服务器上的mysql时报错. ...

  4. vbox虚拟机复制&&虚拟机指定静态IP

    一.复制镜像(假设源镜像已经用桥接方式,可以访问互联网). 注意需要重新生成mac地址 二.复制完成,启动复制好的镜像(注意,此时的镜像无法联网) vi /etc/udev/rules.d/70-pe ...

  5. 清除样式的css

    html, body, div, ul, li, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, form, input, textarea, th, td, s ...

  6. 结构体的sort排序

    结构体用sort快排的方法 struct node{ int k,s; }p[]; bool cmp1(node x,node y){ return x.s>y.s; //定义降序排序(从大到小 ...

  7. switch的练习

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 渗透神器----BurpSuite_pro_v2.1

    burp2.1版本 主要有两个文件 大小有270M 目前是最新的版本 下载地址 链接: https://pan.baidu.com/s/1UjdwBN-S2TbgZ8iKiBcEhw 提取码: 9h7 ...

  9. Django模型中的OneToOneField和ForeignKey有什么区别?

    说是ForeignKey是one-to-many的,并举了一个车的例子: 有两个配件表,一个是车轮表,另一个是引擎表.两个表都有一个car字段,表示该配件对应的车. 对于车轮来说,多个对应一个car的 ...

  10. JavaScript对象继承方式

    一.对象冒充 其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式).因为构造函数只是一个函数,所以可使 Parent 构造函数 成为 Children 的方法, ...