网络基本协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络基本协议相关的知识,希望对你有一定的参考价值。

五层模型:  应用层、传输层、网络层、链接层、实体层

1、实体层:把电脑连接起来的物理手段,主要规定了网络的一些电气特性,负责传送0和1的电信号

2、链接层:在实体层上方,确定0和1的分组方式,主要内容有以太网协议(一组电信号构成一个数据包: 标头和数据),MAC地址(网卡),广播

3、网络层: 主机之间的通讯

  路由,网址(确定计算机所在的子网络,32位二进制组成)、IP协议,

  子网掩码:判断任意两个IP地址是否在同一子网络

  IP数据包:  包含IP地址信息,放在以太网数据包的数据里

  ARP协议:用于获取同一子网络内的主机的MAC地址

  不在同一子网络,将数据包传送到两个子网络的连接处,即网关,由网关来处理获取MAC地址

4、传输层: 端口之间的通讯

  端口:表示数据包由哪个程序使用,0~65535之间的整数,0~1023被系统占用

  UDP:UDP数据包放在IP数据包的数据部分。简单但是可靠性差,无法判断对方是否收到

  TCP:每发出一个数据包都需要确认,确保数据不回丢失,但实现困难,过程复杂,消耗资源

5、应用层

  规定邮件、网页、FTP数据的格式,这些应用程序的协议就构成了应用层

参考链接:http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html

     http://www.alloyteam.com/2016/07/httphttp2-0spdyhttps-reading-this-is-enough/

一、http

1、Hyper Text Transfer Protocol,用于服务器传输超文本到本地浏览器的传送协议,基于TCP/IP传送数据,是一个基于应用层的面向对象的协议

2、简单(协议简单),灵活(可传输任意类型的数据对象,由Content-Type标记)、无连接(每次处理一个请求然后断开)、无状态(对于事物处理没有记忆能力,后续处理需要之前的信息则必须重传)

3、request

  a: 请求行(请求类型、请求资源、HTTP协议版本)

  b: 请求头(附加信息如User-Agent,Host)

  c:  空行

  d:  请求数据

4、response

  a:  状态行(HTTP协议版本、状态码、状态消息)

  b:  消息报头(用来说明客户端使用的一些附加消息)

  c:  空行

  b:  响应正文

5、状态码

  1xx: 指示信息-- 请求已接收,继续处理

  2xx:  成功--请求已被成功接收

  3xx:  重定向--要完成请求必须更进一步的操作

  4xx:  客户端错误--请求有语法错误或者请求无法实现

  5xx:  服务器错误--服务器未能实现合法的请求

6、请求方法

  http1.0: GET、POST、HEAD

  http1.1:  OPTIONS、PUT、DELETE、TRACE、CONNECT

7、http工作原理

  a:  客户端连接到web服务器(TCP套接字连接)

  b:  发送http请求(请求行、请求头、空行、请求数据)

      通过TCP套接字客户端向web服务器发送一个文本的请求报文

  c:  服务器接收请求并返回http响应(状态行、响应头、空行、响应数据)

      web服务器解析请求,定位请求资源,服务器将资源复本写到TCP套接字,由客户端读取

  d:  释放TCP连接

      若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接

      ,若connection模式为keep-alive,则连接会保持一段时间,在该时间内可以继续接收请求

  e:  客户端解析HTML内容

      客户端首先解析状态行,查看请求状态码,然后解析每一个响应头,再读取响应数据HTML,                         显示在浏览器窗口

 

参考链接:https://www.cnblogs.com/ranyonsue/p/5984001.html

以上是关于网络基本协议的主要内容,如果未能解决你的问题,请参考以下文章

网络协议栈基本知识

网络编程的基本概念,TCP/IP协议简介

网络协议系列一 - 基本认识

网络协议系列一 - 基本认识

RIP 路由协议基本配置

Linux网络学习_网络的基本概念