网络和IP

2018-12-12  本文已影响0人  YjjTT

HTTP协议

HTTP, 超文本传输协议, HyperText Transfer Protocol, 是用于传输HTML的协议, 它被设计用于浏览器和服务器之间的通信, 遵循客服端-服务端模型(client-server), HTTP是无状态协议, 意味这服务器不会在两个请求直接留下任何数据或者状态, HTTP只负责规定请求和响应的写法.HTTP的底层实际是由TCP协议和IP协议构建的.

请求和响应

HTTP概述

TCP协议

TCP, 传输控制协议, Transmission Control Protocol, 是主要的网络协议之一, 它使两台主机(电脑)能够建立连接并交换数据流, TCP能保证数据的交付, 维持数据包的发送顺序.

TCP 是互联网的基本通信语言协议。它会校验包的交付。TCP 被用于 Web 浏览器连接到互联网时以及从一个地址向另一个地址发送文件传递电子邮件。TCP 确保数据传输的可靠性,并且保证每一个字节在接收时维持它们的发送顺序。操作系统通过一个编程接口来管理TCP。TCP 使用三次握手来建立一个连接和四次分手来中断一个连接。

TCP详解

UDP协议

UDP, 用户数据包协议, User Datagram Protocol, 是一个简单的面向数据报的传输层协议.

在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)

UDP详解

TCP和UDP的区别

TCP的三次握手

每次建立连接前,客户端和服务端之前都要先进行三次对话才开始正式传输内容, 对话如下:

1. 客户端:我要连接你了,可以吗
2. 服务端:嗯,我准备好了,连接我吧
3. 客户端:那我连接你咯。
4. 开始后面步骤

三次握手视为了解决网络中存在延迟的重复分组问题,防止服务端的一直等待而浪费资源

TCP三次握手和四次分手

IP协议

IP, 网络协议, Internet Protocol, 只要你在互联网中, 那么你就有一个IP, IP分为内网和外网.

端口

算机之间依照互联网传输层TCP/IP协议的协议通信,不同的协议都对应不同的 端口。并且,利用数据报文的UDP也不一定和TCP采用相同的端口号码。也就是当你想使用HTTP协议访问ip时, 只指定IP是不够的, 还必须指定端口(Port).

端口其实就是一个编号,并不是一种硬件.

一个服务器(硬件)不一定只提供一种服务,比如一个服务器既提供 HTTP 服务,又提供 FTP 服务,还提供 SMTP 服务(邮件服务),那么只用一个 IP 是无法告诉服务器你想要使用哪种服务。

所有一个端口会对应一个服务:

  1. 要提供 HTTP 服务你最好使用 80 端口(能不能使用别的端口?可以,不过不建议你违反约定)
  2. 要提供 HTTPS 服务你最好使用 443 端口(能不能使用别的端口?可以,不过不建议你违反约定)
  3. 要提供 FTP 服务你最好使用 21 端口(能不能使用别的端口?可以,不过不建议你违反约定)
  4. 0 到 1023(2的10次方减1)号端口是留给系统使用的,你只有拥有了管理员权限后,才能使用这 1024 个端口。
  5. 其他端口可以给普通用户使用
  6. 如果一个端口正在提供服务,也就是被占用了,那么就不能再使用这个端口。除非你先停掉正在占用这个端口的服务。

一般我们使用浏览器访问www.baidu.com的时候其实并没有指定端口, 是因为浏览器默认给加上了端口号80

TCP/UDP端口列表

总结

使用HTTP协议访问另一个IP时, 必须同时提供IP和端口号, 缺一不可.

上一篇 下一篇

猜你喜欢

热点阅读