美文网首页
常用网络协议

常用网络协议

作者: 伞下时光 | 来源:发表于2019-07-10 13:33 被阅读0次

定义

网络协议指的是计算机网络中互相通信的对等实体之间交换信息所必须遵守的规则的集合
包含五个部分:通信环境,传输服务,词汇表,信息的编码格式,时序+规则+过程
三要素:语义(做什么),语法(怎么做),时序(做的顺序)
总的来说,网络协议是计算机交流的语言。

OSI模型

物理层(Physical):提供网络的物理连接,基于物理介质。服务包括:物理连接,物理数据单元顺序化,数据电路标识。
数据链路层(DataLink):进行数据封装和数据链接的建立。功能包括:数据链路连接的建立与释放,构成数据链路数据单元,数据链路连接的分裂,定界与同步,顺序和流量控制,差错的检测及恢复。
网络层(Network):解决网际通信问题。功能包括:建立和拆除网络连接,路径选择和中继,网络连接多路复用,分段和组块,服务选择,流量控制(如IP/ICMP/IGMP)。
传输层(Transport):提高网络服务质量,提供可靠的端到端的数据传输,提供一套网络数据传输标准(如TCP/UDP)。
会话层(Session):利用传输层来提供会话服务,比如登录到一个主机,建立用于传输数据的会话。功能包括会话连接到传输连接的映射,数据传送,会话连接的恢复和释放,会话管理,令牌管理,活动管理。
表示层(presentation):数据管理的表现方式。功能包括数据语法转换,语法表示,表示连接管理,数据加密,数据压缩。
应用层(Application):包含用户应用程序执行通信任务所需要的协议和功能(如HTTP/FTP/SMTP)。

HTTP

超文本传输协议(HyperText Transfer Protocol),基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)

三点注意事项

-HTTP是无连接的:每次连接只处理一个请求,服务器处理完客户端的请求并收到客户端的应答后就断开连接。
-HTTP是媒体独立的:只要客户端和服务器端知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。
-HTTP是无状态协议:该协议对于事物处理没有记忆能力。如果后续处理需要前面的信息,则必须重传。

客户端请求消息

格式:请求行,请求头部,空行,请求数据
-请求行:请求方法+空格+URL+协议版本+回车+换行符
-请求头部:头部字段名+:+值+回车+换行
………………………………
头部字段名+:+值+回车+换行
空行:回车+换行符
请求数据:略略略

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi

服务器响应


response.png
http常见状态码

1开头的 信息,服务器收到请求,需要请求者继续执行操作
-100 Continue 继续,post第一次请求返回

2开头的 成功,操作被成功接收并处理
-200 OK 请求成功,一般用于post和get

3开头的 重定向,需要进一步的操作以完成请求
-300 Multiple Choices 多种选择,请求的资源可包含多个位置
-304 Not Modified 未修改,所请求的资源未更改,客户端会缓存访问过的资源,再次请求相同资源,服务器不返回任何资源。

4开头的 客户端错误,请求包含语法错误或者无法完成的请求
-400 Bad Request 客户端请求的语法错误,服务器无法理解
-401 Unauthorized 请求要求用户的身份验证
-403 Forbidden 服务器理解请求客户端的请求,但是拒绝执行此请求
-404 Not Found 服务器无法根据客户端的请求找到资源
-408 Requet Timeout 服务器等待客户端的请求时间过长,超时

5开头的 服务器端错误,服务器在处理请求的过程中发生了错误
-500 Internal Server Error 服务器内部错误,无法完成请求
-501 Not Implemented 服务器不支持请求的功能,无法完成请求
-502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
-503 Service Unavailable 由于超载或系统维护,服务器暂时无法处理客户端的请求
-504 Gateway Timeout 充当网关或代理的服务器,未及时从远程服务器获取请求
-505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理

https

超文本传输安全协议(Hyper Text Transfer Proteocol over Secure Scocket Layer或Transport Layer Security[TLS])。在HTTP层下加入SSL层。

https与http的区别

-https协议需要到ca申请证书,一般需要付费
-http是超文本传输协议,明文传输,https是具有安全性的ssl加密传输协议
-https与http使用完全不同的连接方式,前者端口为443,后者端口为80
-http 是无状态连接,https协议是ssl+http构建的课进行加密传输,身份验证的网络协议。

Soap(Simple Object Access Protocol)

Soap是交换数据的一种协议规范,是一种轻量的,简单的,基于XML的协议,用于在WEB上交换结构化和固化的信息。

webService三要素

-SOAP 描述传递信息的格式
-WSDL(Web Services Description Language) 描述如何访问具体的接口
-UDDI(Universal Description Discovery and Integration) 管理,分发,查询webService

核心技术

SOAP采用了HTTP和XML,HTTP用于实现SOAP的RPC风格的传输,XML是编码格式。一个SOAP方法可以简单地看做遵循SOAP编码规则的HTTP请求和响应,一个SOAP终端则可以看做一个基于HTTP的URL,它用来识别方法调用的目标。

RPC

远程过程调用(Remote Procedure Call)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。

FTP

文件传输协议(File Transfer Protocol)是用于在网络上进行文件传输的一套标准协议。使用TCP传输,连接需要先进行“三次握手”的过程,保证客户端与服务器之间的连接是可靠的,而且是面向连接,为数据传输提供可靠服务。
允许用户以文件操作的方式(如文件的增,删,改,查,传送等)与另一台主机相互通信。用户并不真正登录到自己想要存取的计算机上面成为用户,可用FTP程序访问远程资源,实现用户往返传输文件,目录管理以及访问电子邮件等。

相关文章

  • 第1章、局域网基础知识

    括扑网络结构总线型、星形(常用)、环形 网络通信协议IPX/SPX、NetBEUI协议、TCP/IP协议(常用) ...

  • 常用网络协议

    定义 网络协议指的是计算机网络中互相通信的对等实体之间交换信息所必须遵守的规则的集合包含五个部分:通信环境,传输服...

  • 网络编程面试题总结

    网络编程知识→ tcp、udp、http、https 等常用协议tcp协议:传输控制协议(TCP,Transmis...

  • Linux系统编程10:Socket编程3-网络模型

    1. OSI七层模型 1.1 常见物理层协议 1.2 常见数据链路层协议 1.3 常用网络层协议 1.4 常用传输...

  • 常用网络协议介绍

    https://www.cnblogs.com/gisen_6/p/3735292.html

  • (软考网络工程师)06网络互联与互联网

    本系列为个人学习笔记,如需转载请注明出处 --aport 考点 01 网络协议神图网络协议神图 02 常用网络互联...

  • 网络协议总结

    本文借助wireshark抓包详细的讲解常用的网络协议。涉及的主要协议包括但不限于http协议、tcp协议、ip协...

  • 通信协议综述

    本篇作为学习笔记,文章内容来自“极客时间”专栏《趣谈网络协议》,如有侵权,请告知,必即时删除。 1、常用的网络协议...

  • TCP/IP简介

    网络和协议 网络是计算机或类似计算机的设备之间通过常用传输介质进行通信的集合。 网络协议就是一套通用规则,用来帮助...

  • 常用术语、Bitcoin网络协议

    共识机制 - Consensus 拜占庭将军问题 - Byzantine Generals Problem 拜占庭...

网友评论

      本文标题:常用网络协议

      本文链接:https://www.haomeiwen.com/subject/fejfkctx.html