md笔记——HTTP知识
HTTP权威指南
第一部分:HTTP:Web 的基础
第一章:HTTP概述
MIME
因特网上有数千种不同的数据类型,HTTP 仔细地给每种要通过 Web 传输的对象都打上了名为 MIME 类型(MIME type)的数据格式标签。
MIME (Multipurpose Internet Mail Extension,多用途因特网邮件扩展) 类型
当 Web 浏览器从服务器中取回一个对象时,会去查看相关的 MIME 类型,看看它是否知道应该如何处理这个对象。
常见的 MIME 类型有数百个,实验性或用途有限的 MIME 类型则更多。
- HTML 格式的文本文档由 text/html 类型来标记。
- 普通的 ASCII 文本文档由 text/plain 类型来标记。
- JPEG 格式的图片为 image/jpeg 类型。
- GIF 格式的图片为 image/gif 类型。
URI
服务器资源名被称为统一资源标识符(Uniform Resource Identifier,URI)
URL
统一资源定位符(Uniform Resource Locator,缩写为URL)是资源标识符(URI)最常见的形式。
现在,几乎所有的 URI 都是 URL。大部分 URL 都遵循一种标准格式,这种格式包含三个部分。
- URL 的第一部分被称为方案(scheme),说明了访问资源所使用的协议类型。这部分通常就是 HTTP 协议(http://)
- 第二部分给出了服务器的因特网地址(比如,www.joes-hardware.com)。
- 其余部分指定了 Web 服务器上的某个资源(比如,/specials/saw-blade.gif)。
URN
URI 的第二种形式就是统一资源名(URN).URN 仍然处于试验阶段,还未大范围使用。
事务
一个事务由一条(从客户端发完服务器)的请求命令和一个(服务器端发往客户端)的响应结果组成。
每条 HTTP 请求报文都包含一个方法。这个方法会告诉服务器要执行什么动作(获取一个 Web 页面、运行一个网关程序、删除一个文件等)
http支持几种请求方法
- GET 从服务器向客户端发送命名资源
- POST 将来自客户端的数据存储到一个命名的服务器资源中去
- DELETE 从服务器中删除命名资源
- PUT 将客户端数据发送到一个服务器网关应用程序
- HEAD 仅发送命名资源响应中的HTTP 首部
>每条 HTTP 响应报文返回时都会携带一个状态码。
一些常见的HTTP状态码
- 200 OK。文档正确返回
- 302 Redirect(重定向)。到其他地方去获取资源
- 404 Not Found(没找到)。无法找到这个资源
> 应用程序完成一项任务时通常会发布多个 HTTP 事务。 显示页面中的图片是一个事物,执行页面布局也是一个事物。
- 报文
HTTP 报文是由一行一行的简单字符串组成的。
HTTP 报文包括以下三个部分:
- 起始行(类似以下)
Request URL:http://www.baidu.com/
Request Method:GET
Status Code:200 OK
- 首部字段
Request Headers中的内容
- 主体
请求报文没有主体!
只有在响应的报文中会返回主体(请求www.baidu.com 返回百度首页主体)
这是一个请求报文的一部分 Request Headers:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8,ja;q=0.6,zh-TW;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
这是一个响应报文的一部分 Response Headers:
Cache-Control:no-cache
Connection:Keep-Alive
Content-Encoding:gzip
Content-type:text/html;charset=utf-8
- 连接
md笔记——HTTP知识的更多相关文章
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数
Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下: ...
- md笔记——编程术语
thinkPython 读书笔记 本列表根据thinkPython中记录的大量编程术语 整理而来. 该书的重点不是教会你Python,而是培养读者用计算机科学家一样的思路来思考,设计,开发. 讲解了语 ...
- Python 2.7 学习笔记 基本知识
python是一种解释型的.面向对象的.带有动态语义的高级程序设计语言.本文介绍下python的基本知识. 一.安装 各种操作系统有自己的安装方法,linux系统一般都自带了python的环境.这里不 ...
- <数据结构与算法分析>读书笔记--数学知识复习
数学知识复习是<数据结构与算法分析>的第一章引论的第二小节,之所以放在后面,是因为我对数学确实有些恐惧感.不过再怎么恐惧也是要面对的. 一.指数 基本公式: 二.对数 在计算机科学中除非有 ...
- Linux运维学习笔记-文件系统知识体系总结
文件系统知识总结 新买的硬盘要存放数据需要怎么做? 首先将硬盘装机做RAID,做完RAID后进行分区,分完区后格式化创建文件系统,最后存放数据. 硬盘的内外部结构: 物理形状: 接口类型: IDE(I ...
- Unity3D学习笔记——初级知识
一:Unity欢迎窗口对于初学者来说有很多有价值的信息,值得用户关注,以下将简要介绍这个窗口中的相关内容: 1.Video Tutorials: 提供unity相关的教程 ,包括用户手册 .组件手册以 ...
- three.js学习笔记--基础知识
基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...
- Python3基础笔记--基础知识
目录: 一.变量问题 二.运算符总结 三.字符串问题 四.数据结构 五.文件操作 一.变量问题 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.它自始至终都是在内存中活动,只有指明 ...
随机推荐
- 解决 MySQL manager or server PID file could not be found! 的方法
[root@centos var]# service mysqld stop MySQL manager or server PID file could not be found! [F ...
- Yii国际化
Yii版本:1.1.13 1.将CMessageSource的$forceTranslation属性改为true Yii::app()->messages->forceTranslatio ...
- Hibernate 报错:this project is not a myeclipse hibernate project . assuming hibernate 3 cap
问题描述: web 项目中 打开 hibernate.cfg.xml 文件时 提示:The project is not a myEclipse hibernate project. 并且:在 db ...
- SQL Server数据库---》增删查改
***数据的插入:(增) insert into 表名(字段列表) values(值列表) 如果不写字段列表就要为表添加全部的列数据 其实into也可以省略 每次只能插入一条数据 1.如果字段可以为n ...
- MVC理解
1:MVC 中的@是什么意思? 类似于<% %>只不过它没有闭合的,这是MVC3.0的新特性2:关于ASP.NET MVC的Html.BeginForm()方法Html.BeginFo ...
- SqlServer之存储过程
存储过程最主要的特色:是当写完一个存储过程后即被翻译成可执行码存储在系统表 内,当作是数据库的对象之一,一般用户只要执行存储过程,并且提供存储过程所需的参数就可以得到所要的结果而不必再去编辑 T-SQ ...
- OCP prepare 20140626
1. 查询空值 条件为<>'' 是查不出结果的. 如果要查,应该使用 is not null 来查. QUESTION NO: 135 View the Exhibit and e ...
- Ubuntu密码忘记了怎么办(转载)
版本:Ubuntu 11.10 思路是进入root中,然后使用passwd修改自己的密码. 假设用户名:quietheart 经过网上查询,如果安装系统之后没有设root密码,那么,Ubuntu 11 ...
- zabbix中文配置及乱码问题
1.切换成中文 2.发现有乱码出现 由于zabbix的web端没有中文字库,所以我们使用windows中的字体. 找到简体字的存储位置——copy到桌面或其他位置——上传到zabbix服务器——web ...
- HTML DOM 属性记录
将HTML DOM中几个容易常用的属性做下记录,需要的朋友可以参考下. nodeName.nodeValue 以及 nodeType 包含有关于节点的信息. nodeName 属性含有某个节点 ...