计算机网络相关

http相关参考 :

http://www.cnblogs.com/xing901022/p/4309840.html

http://www.cnblogs.com/CareySon/archive/2012/04/27/HTTP-Protocol.html

http://www.cnblogs.com/simple-blog/p/4377647.html

一.http作用

在一个网络中,传输数据要回答三个问题:

1.客户端如何知道所请求内容的位置

URI 

2.在知道所请求内容的位置后,如何得到所请求的内容 

http 

3.内容用什么方式组织以被客户端识别 

html

二. http历史版本

1. http0.9

只有一行

GET www.cnblogs.com 

没有post方法,没有http 头,客户端只能接收一种类型的数据:文本。也没有错误码。

2.http1.0

最大的变化中引入 post方法,使得客户端可以通过html表单向服务器发送数据,这也是web应用程序 的一个基础。

另一个大的变化是引入了http头,使http不仅能错误 代码 ,还可以传输图片动画等格式 。

3.http1.1

增加了host头。比如 

GET /chuiyuan HTTP/1.1

HOST: www.cnblogs.com

GET后面只要有相对路径,使得在一个主机上面 可以存在多个域,否则多个域指向同一个IP会有混乱 。

三. http的网络层次 

在internet中,所有的传输都是通过TCP/IP进行的。http是tcp/ip模型中的一个应用层协议也不例外。如下

-----------------

应用层(http)

-----------------

传输层(TCP)

------------------

网络层(IP)

------------------

链路层

------------------

可以看出,HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。

所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要所谓的“三次握手”。

 在TCP三次握手之后,建立了TCP连接,此时HTTP就可以进行传输了。一个重要的概念是面向连接,既HTTP在传输完成之间并不断开

TCP连接。在HTTP1.1中(通过Connection头设置)这是默认行为。

四. http请求(http request)

也就是向服务器发送的信息,有以下 几个部分

1. 请求行,      2. http头     3.内容 

请求行如:

 GET www.cnblogs.com HTTP/1.1

它有三部分:

1.请求方式 2.请求网址  3.http版本。

http头可能 有三种:

2. 请求头(request header) 2. 普通头(gerneral header )  3.实体头(entity header )

通常来鱼,get 请求没有内容实体,因此不会有实体头。

3.只在post中存在。

POST与GET最大的不同在于:

POST 里面有第三部分:内容 。而GET中没有。因此 就像两者名字那样,get用于从服务器上面取内容,虽然也可以用queryString向

服务器发信息,但是这样不合GET的配音,QueryString中的信息在HTTP看来只是获取所要内容的一个参数而已,而 POST是由客户端

向服务器端发送内容的方式。

下面给一个GET与POST的截图

 

五. http响应(reponse )

当服务器收到HTTP请求后,会有一个返回。也是由三部分构成:

1.状态行       2. HTTP头    3. 返回内容 

先看状态行,常见的:

HTTP/1.1 200 OK

第一部分是HTTP版本,第二部分是响应状态码,第三部分中状态码的描述。可以将后面两个看成一个部分。

对每个具体的状态码都有一定的含义:

1. 信息类(100-199)

2.响应成功(200-299)

3.重写 向类(300-399)

4.客户端错误类(400-499)

5.服务端错误 类(500-599)

http响应中的头包括:

1. response header    2. gerneral header     3. entity header 

第三部分响应内容就是http请求的信息,可以是一个html ,也可以是图片。

这里就有一个问题,如果 http响应的内容不仅仅是html,也可以是其它 的,那么 我们如何正确的处理信息呢。

这个 是通过媒体类型(MediaType)确定的 ,具体来鱼是Content-Type这个 http头。如text/html,  图片是image/jpeg.

格式 为大类/小类。

一共定义 了8大媒体类型,分别是

1. application (如 application.vnd.ms-excel.)

2. audio (audio/mpeg)

3. image(image/png.)

4.message(message/http)

5. modle (modle/vrml)

6. multipart (multipart/form-data)

7.text(text/html)

8. video (video /quicktime)

 

六.  HTTP头

 

 

 

 

tcp/ip相关

http://www.cnblogs.com/mengwang024/p/4448395.html

 

tcp /socket相关

http://www.cnblogs.com/taoweiji/archive/2012/12/14/2818801.html

http://www.cnblogs.com/zc22/archive/2010/06/27/1766007.html

http://www.cnblogs.com/holyknight-zld/archive/2012/07/18/WebFormSocket.html

http://www.cnblogs.com/IPrograming/archive/2012/03/17/Java_Socket_3.html

http://www.cnblogs.com/xiaozhi_5638/p/4244797.html

posted @ 2015-04-29 17:12  chuiyuan  阅读(158)  评论(0编辑  收藏  举报