HTTP协议、TCP/IP协议

HTTP协议

简介

HTTP协议——超文本传输协议(Hyper Text Transfer Protocol)
HTTP是Web的应用层协议,是Web的核心。他通过两部分程序实现:一个是称为浏览器的客户机程序和另一个称为Web服务器的服务器程序,他们运行在不同的端系统中,通过交换HTTP报文进行会话.

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP工作过程

HTTP使用TCP作为它的支持运输协议。TCP为HTTP提供可靠的数据传输服务,意味着HTTP报文能够完整地到达服务器/客户机。HTTP完全不用担心数据丢失,也不必关心TCP是如何保证数据不丢失和乱序的。

HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,该浏览器和服务器进程就可以经套接字接口通过TCP进行可靠数据交互。客户机向他的套接字接口发送HTTP请求报文并从他的套接字接口接收HTTP响应报文。类似的服务器从他的套接字接口接收HTTP请求报文并向他的套接字接口发送HTTP响应报文。一旦套接字接口有请求报文/响应报文,该报文就脱离了客户机/服务器控制并进入TCP的控制。

HTTP三点注意事项:

  • HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
  • HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
HTTP报文结构

HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
HTTP报文有两种格式——请求报文和响应报文。格式大体上有:请求行/状态行、首部行、实体主体。

请求报文:在这里插入图片描述
响应报文:
在这里插入图片描述
实例:

GET /chn/yxsz/index.htm HTTP/1.1   //请求行的方法为GET,URL为/chn/yxsz/index.htm,
                                  //浏览器实现的HTTP1.1版本
Host: www.mySchool.edu.cn        //首部定义了对象所在主机
Connection:close                 //浏览器不希望服务器持续连接
User-Agent: Mozilla/5.0          //浏览器的类型是Netscape浏览器
Accept-Language: cn             //用户希望得到对象的中文版本

提交表单的方法有两种:GET,POST
GET是默认方式,但POST更常用,因为使用GET方式只能提交不超过128字节的数据,使用POST报文时,用户可以向服务器请求一个Web页面,但Web页面的特定内容依赖于用户在表单字段中输入的内容,该内容将放在实体主体中。当使用GET方法时在URL自段中包括输入的数据而实体主体为空
状态码:
有三位数字,可分为5大类,共33种:

  1. 1.xx 表示通知信息,如请求收到了或正在处理
  2. 2.xx 表示成功,如接受或知道了
  3. 3.xx 表示重定向,表示要完成请求还必须采取进一步的行动
  4. 4.xx 表示客户机的差错,如请求中有错误的语法或不能完成
  5. 5.xx 表示服务器的差错,如服务器失效无法完成请求

下面是常见的HTTP状态码:

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

TCP/IP协议

TCP/IP 是供已连接因特网的通信协议,是对计算机必须遵守以便彼此通信的规则的描述。
浏览器与服务器使用 TCP/IP 协议来链接因特网。
因特网地址就是TCP/IP。

什么是 TCP/IP?

TCP/IP 是供已连接因特网的计算机进行通信的通信协议。

TCP/IP 指传输控制协议/网际协议。

TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。

TCP/IP 内部

在 TCP/IP 中包含一系列用于处理数据通信的协议:

  • TCP (传输控制协议) - 应用程序之间通信
  • UDP (用户数据报协议) - 应用程序之间的简单通信
  • IP (网际协议) - 计算机之间的通信
  • ICMP (因特网消息控制协议) - 针对错误和状态
  • DHCP (动态主机配置协议) - 针对动态寻址

TCP 使用固定的连接
TCP 用于应用程序之间的通信。
当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方"握手"之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信。
这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。
UDP 和 TCP 很相似,但是更简单,同时可靠性低于 TCP。
IP 是无连接的
IP 用于计算机之间的通信。
IP 是无连接的通信协议。它不会占用两个正在通信的计算机之间的通信线路。这样,IP 就降低了对网络线路的需求。每条线可以同时满足许多不同的计算机之间的通信需要。
通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。
IP 负责将每个包路由至它的目的地。
TCP/IP
TCP/IP 意味着 TCP 和 IP 在一起协同工作。
TCP 负责应用软件(比如您的浏览器)和网络软件之间的通信。
IP 负责计算机之间的通信。
TCP 负责将数据分割并装入 IP 包,然后在它们到达的时候重新组合它们。
IP 负责将包发送至接受者。

用于 TCP/IP 地址的名字被称为域名。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值