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