http协议知识点

标签: http 协议 知识 | 发表时间:2015-03-21 23:48 | 作者:wsluozefeng
出处:http://www.iteye.com

 

1. 媒体类型:http服务器会给在http中传送的http资源对象附加一个MIME类型,接收http资源对象的客户端会根据这个类型来判断是否能够进行处理,例如浏览器就能够处理上百种mime类型的http资源对象

2. MIME类型是一种文本标记,表示一种主要对象类型和一种特定的子类型,中间用一条斜杠来分隔,例如text/html、imge/gif

 

3. 每个http服务器资源都有一个名字:统一资源标示符URI,给定了URI,htpp就能够解析出对象

4. URI有两种形式:url和urn (目前一般都认为uri就是url)

5. url:统一资源定位符,一般格式包括3部分: 协议类型(http://)、web服务器的英特网地址(www.baidu.com)、web服务器的某个资源(kw=url),例如:http://www.baidu.com?kw=url

 

 

6. http事务,组成部分:包含命令和url的http请求报文 + 包含事务结果的http响应报文, 前者是web客户端发送给http服务器,后者相反

7. http支持不同的请求命令,这样的命令就叫着http方法,而每个http请求报文中都含有一个方法,从而告诉http服务器该做什么操作

8. 常见的http方法:get、post、put、delete、head

9. 每个http响应报文都包含一个状态码,告知客户端请求是否成功,例如404、500等

 

10. http(应用层)----->tcp(传输层)---->ip(网络层)---->数据链路层---->物理层

11. http就是使用tcp来传送报文的

12. 通过tcp来传送报文,必须要知道http服务器的ip地址和tcp端口号,这个两个是从http请求报文中的url部分获取

13. url中的服务器英特网地址(也就是域名)可以通过dns(域名服务)来解析成对应http服务器的ip地址,而端口号默认是80

14. 通过url访问的http事务的步骤大致如下

    浏览器从url中解析出服务器的域名

    浏览器将服务器域名转换成服务器的ip地址

    浏览器将端口号(如果有的话)从url中解析出来

    浏览器根据ip地址和端口号与对应的http服务器建立一条tcp连接

    浏览器向http服务器发送一条http请求报文

    http服务器向浏览器回送一条http响应报文

    关闭tcp连接,浏览器显示内容

  

15. 代理:"客户端"和"http服务器"间的实体,接收客户端的所有http请求从而转发给http服务器

 

      网关:连接其他应用程序的http服务器,用户将http转换成其他协议,例如http/ftp网关会把http请求接收为ftp uri请求,但是通过ftp协议来获取文档,得到的文档会被封装成一条http报文,返回给客户端

 

    agent代理:代表用户发起http请求的"客户端程序",例如web浏览器就是一种,网络蜘蛛也是

 

    隧道:在两条http链接上对原始数据进行盲转发的http服务程序,http隧道一般用来在http链接上转发非http数据,转发时不会窥探数据

 

16. U RL分基本的三部分:( 方案://服务器位置/路径 )

    1. url方案:告知web客户端怎样访问资源,一般理解成协议

    2. 服务器位置:一般就是域名+端口

    3. 资源路径:说明请求的是服务器上哪些特定的本地资源

 

    URL详细的三部分:方案:// 账号名:账号密码 @主机:端口号 /路径 ;参数 ?查询 #片段

    例如:http://ajia:[email protected]:8088/my-plan;id=11/add.html;type=3?is_app=1#detail

    不同路径可有不同的参数:my-plan路径的参数是id,add.html路径的参数是type。

    片段主要是用于显示返回资源中的特定的部分,http服务器并不会直接处理片段,而是在返回数据资源给web端后,根据该片段来显示那部分资源

 

17. URL编码机制:对不安全的字符进行转义,用一个%加两个表示字符ascll码的十六进制,例如空格号转义成%20,url中不安全的字符是跟协议有关系的

 

18. url各种方案(协议):

    https:与http是一对的,唯一的区别是https使用了ssl,ssl为http链接提供了端到端加密机制,默认的端口是443

    mailto:只想email地址,与一般的方案有所区别

    ftp

    rtsp、rtspu:实时流传输协议,主要用于解析音频视频的协议

    file

    news

    telnet:用于访问交互式业务

 

19. 报文 :请求报文和响应报文

    1. 请求报文的结构形式:

       方法 url 协议的版本(这里称作为:起始行或请求行)           例如:GET  /img/line.png  HTTP/1.0

       头部                                                                                               HOST: WWW.lima.com

       实体的主体部分

   

    2. 响应报文的结构形式:

       协议版本号 状态码 原因短语(这里称作为:起始行或响应行)    例如:HTTP/1.0  200  OK

       头部                                                                                                      Content-type: text/plain

                                                                                                                    Content_length: 19

 

       实体的主体部分                                                                                    I am entity body

 

 

    组成部分的说明:

    头部:由 1个名字、一个冒号、一个空格(可选)、一个值、一个空行(CRLF,必须以此作结束)。所以说可以有零个或多个头部,上面例子中的请求报文是1个头部,响应报文有2个头部

     头部分类:

      通用头部:请求和响应报文都可用

     

 

 

 

 请求头部




 

 

 

  

 

 响应头部



 

 

 

 

  实体头部:描述主体的长度和内容,或资源自身



 

 

 

 

 

     扩展头部:自定义的头部

 

 

    实体的主体:是由任意数据组成的数据块,并不是所有报文都包含实体的,有时候实体就以一个CRLN作为内容而结束

 

 

    方法:常用的7中http方法

       GET     从服务器获取数据                                不需要实体的主体

       POST    向服务器发送需要处理的数据             需要

       HEAD    只从服务器获取头部                           不需要

       PUT     将请求的主体部分存在在服务器           需要

       TRACE   对可能通过代理的报文进行跟踪        不需要

       OPTIONS 检查可以在服务器上执行哪些方法  不需要

       DELETE  从服务器上删除数据                         不需要

 

       还可以扩展http,自定义http的方法,成为扩展方法

       trace原理:在到达目的http服务器时回弹一条trace响应,并在响应主体中包含收到的原始请求报文,这样就可以通过对比跟踪,缺点:中间的代理会对trance做限制

 

 

    状态码:100-199:信息提示

                   200-299:表示成功

                   300-399:资源被移走

                   400-499:客户端的请求错误

                   500-599:服务器响应http错误

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [http 协议 知识] 推荐:

http协议知识点

- - 互联网 - ITeye博客
媒体类型:http服务器会给在http中传送的http资源对象附加一个MIME类型,接收http资源对象的客户端会根据这个类型来判断是否能够进行处理,例如浏览器就能够处理上百种mime类型的http资源对象. MIME类型是一种文本标记,表示一种主要对象类型和一种特定的子类型,中间用一条斜杠来分隔,例如text/html、imge/gif.

Http协议详解

- - 浏览器 - 互联网 - ITeye博客
什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页.

HTTP 协议中的 Transfer-Encoding

- - JerryQu 的小站
本文作为我的博客「 HTTP 相关」专题新的一篇,主要讨论 HTTP 协议中的 Transfer-Encoding. 这个专题我会根据自己的理解,以尽量通俗的讲述,结合代码示例和实际场景来说明问题,欢迎大家关注和留言交流. Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」.

http协议:Web前端-HTTP Cache-control/浏览器缓存(转)

- - 互联网 - ITeye博客
HTTP协议分别在 1.0 / 1.1 两个时代推出了 Expires / Cache-control 两种cache策略,这里我们无需了解全部的细节,无需记住整个RFC内容,但是当我们需要使用HTTP cache策略时,我们需要注意以下细节:. Expires 是HTTP 1.0 那个时代的东西了,目前来看,可以不使用了,因为HTTP 1.0 的user agent占有率在 0.1% 以下(我们主要面向的web浏览器均默认使用HTTP 1.1),Cache-control 是 HTTP 1.1 的新特性,也是我们主要做文章使用cache策略的工具.

[转][转]深入理解HTTP协议

- - heiyeluren的Blog
来源: http://www.blogjava.net/zjusuyong/articles/304788.html.   HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写. 它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本.

http协议详解(超详细)转

- - 行业应用 - ITeye博客
http 协议学习系列       HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.   HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写. 它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本.

浅析http协议与缓存

- - 博客园_Ruby's Louvre
最近几天在复习http协议中headers,缓存等相关知识,发现些新知识点. 这篇文章注重结合PHP去理解这些内容,也就是比较注重实践部分. 一、http headers. NO1:对于web应用,用户群在客户端 (各种浏览器)点击任何一个连接向服务器发送http请求,这过程肯定需要3次握手,建立连接,服务器响应返回数据.

探索HTTP/2: HPACK协议简述(原)

- - BlogJava-首页技术区
探索HTTP/2: HPACK协议简述. 在本系列的第一篇文章中已经介绍了HTTP 2协议,本文则将简述用于HTTP/2头部压缩的 HPACK协议. (2016.09.24最后更新).     HPACK头部压缩的基本原理就是使用索引表和 Huffman编码. 在压缩(编码)与解压(解码)过程,可将指定的头部字段(包含字段名与字段值)存储在索引表中.

XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较

- - ITeye博客
一、先看下相关国外的专业数据对四大协议的比较:.           XML的解析对于嵌入多设备来说是比较痛苦的 ,所以在嵌入设备上做开发的时候,最好不要选择基于XML的协议.          二、四大协议的基本介绍:.    XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性.

XMLHttpRequest实现HTTP协议下文件上传断点续传

- - 张鑫旭-鑫空间-鑫生活
本文地址: http://www.zhangxinxu.com/wordpress/?p=3754. 不知大家有没有观察过,在秋季,也就是眼下这个时间,当阵风挂起的时候,地上的落叶就会以一个接一个,翻滚着一同被吹走,这就是“跟风”. 老祖宗确实很有智慧,造出来的词语源于生活,又高于生活. 眼下,又是另一波跟风之势——“网盘”,犹如当年团购一样.