zoukankan      html  css  js  c++  java
  • HTTP协议 TCP协议简要

    HTTP简介

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

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

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

    主要特点

    1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

    3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
    5、支持B/S及C/S模式。

    HTTP请求方法

    根据HTTP标准,HTTP请求可以使用多种请求方法。

    HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

    HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

    序号方法描述
    1 GET 请求指定的页面信息,并返回实体主体。
    2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
    3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
    5 DELETE 请求服务器删除指定的页面。
    6 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    7 OPTIONS 允许客户端查看服务器的性能。
    8 TRACE 回显服务器收到的请求,主要用于测试或诊断。

    什么是 TCP/IP?

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

    TCP/IP 指传输控制协议/网际协议 (Transmission Control Protocol / Internet Protocol)。

    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 负责将每个包路由至它的目的地。

    IP 路由器

    当一个 IP 包从一台计算机被发送,它会到达一个 IP 路由器。

    IP 路由器负责将这个包路由至它的目的地,直接地或者通过其他的路由器。

    在一个相同的通信中,一个包所经由的路径可能会和其他的包不同。而路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址。

    TCP/IP

    TCP/IP 意味着 TCP 和 IP 在一起协同工作。

    TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信。

    IP 负责计算机之间的通信。

    TCP 负责将数据分割并装入 IP 包,然后在它们到达的时候重新组合它们。

    IP 负责将包发送至接受者。

  • 相关阅读:
    jenkins中通过Publish Over SSH将项目部署到远程机器上
    GitHub 开源的 MySQL 在线更改 Schema 工具【转】
    MySQL ProxySQL读写分离实践
    MySQL ProxySQL读写分离使用初探
    LVS+Keepalived实现DBProxy的高可用
    Redis Codis 部署安装
    CS 和 BS 的区别和优缺点(转)
    Linux的SOCKET编程详解(转)
    数据结构-深度遍历和广度遍历(转)
    社保相关
  • 原文地址:https://www.cnblogs.com/zcccz/p/10708012.html
Copyright © 2011-2022 走看看