zoukankan      html  css  js  c++  java
  • 计算机网络相关

    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

  • 相关阅读:
    eclipse开发安卓 发短信打电话发送邮件功能
    关于springboot连接数据库是报错
    --Angular-01-关于angular-tree-component--
    --外功篇-Less的学习日志-01-辅助理解Less--
    --兵器谱--git学习记录帖--
    --兵器谱--git初体验--
    --算法恩仇录--实战篇--力扣(LeetCode)--022-括号生成--
    --算法恩仇录--实战篇--力扣(LeetCode)--011-盛水最多的容器--
    --算法恩仇录--实战篇--力扣(LeetCode)--006-Z字形变换--
    --算法恩仇录--实战篇--力扣(LeetCode)--005-最长回文子串--
  • 原文地址:https://www.cnblogs.com/chuiyuan/p/4466513.html
Copyright © 2011-2022 走看看