IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 运维级网站基础01 -> 正文阅读

[网络协议]运维级网站基础01

一、概述
1、协议
HTTP和HTTPS协议
2、组成
服务器端:web进程
客户端:用户代理程序(IE、Firefox)
3、套接字(socket)
IP+端口信息
用一小段数据将网络中两个应用程序连接起来的机制
4、IANA
互联网数字分配机构

	0-1023:特权端口或公认端口,分配给固定的应用程序使用 
	1024-41951:注册端口,要求不严格,分配给程序注册使用,如TCP 3306 MYSQL
	41952+:动态端口或私有端口,客户端程序随机使用的端口 
	
	 /proc/sys/net/ipv4/ip_local_port_range  端口范围文件 
	/etc/services  端口定义文件
		c:\windows\system32\drivers\etc\services 
5、系统调用
	system call  
6、库调用
	lib  call
7、API
	程序开发人员面对的编程接口 

二、套接字接口
1、BSD socket
通过IPC(进程间通信)实现,允许不同主机上的进程之间进行通信
2、socket API
程序开发者可以通过套接字接口更加简单的开发 支持网络通信 的服务或应用程序
3、套接字函数
服务端:
创建套接字文件 scoket ( )
绑定套接字 bind ( )
监听套接字 listen ( )
接受套接字 accept ( )
阻塞直到接收到客户端连接请求

	客户端:
		创建套接字文件 socket ( )
		连接套接字文件 connect ( )

		TCP连接过程建立(三次握手)
		a、客户端向服务器段发送TCP报文
			SYN表示”请求建立新连接“
			序号Seq=x
		b、服务器端接收客户端报文,结束Listen阶段,返回TCP报文
			ACK确认标志位,确认号为Ack=x+1
			SYN请求标志位,序号为Seq=y
		c、客户端接收服务器端报文,结束SYN-SENT阶段,返回TCP报文
			ACK确认标志位,确认号为Ack=y+1
			SYN请求标志位,序号为Seq=x+1
			客户端进入ESTABLISHED阶段,进行数据交换

	数据传输:
		数据写入套接字 write ( )
		数据读取套接字 read ( )
		无限循环处理,直到所有数据处理完成,关闭连接 closed 

		TCP连接的关闭过程(四次挥手)
		a、客户端向服务器端发送TCP报文
			FIN表示”请求释放连接“
			序号Seq=x
			客户端进入FIN-WAIT-1阶段(半关闭阶段)
		b、服务器端确认接收客户端报文,进入CLOSE-WAIT阶段,返回TCP报文
			ACK表示”接收到客户端的释放连接的请求“,确认号为Ack=x+1
			SYN请求标志位,序号为Seq=y
		c、服务器端做好释放连接的准备,再发送TCP报文
			FIN、ACK表示”准备好释放连接“
			序号为Seq=z
			确认号为Ack=x+1
		d、客户端接收服务器端报文,进入TIME-WAIT阶段,向服务器发送TCP报文
			ACK表示”接收到服务器准备好释放连接的信号“
			序号为Seq=x+1
			确认号为Ack=z+1	


		客户端最后发送报文后,需要等待一段时间,即等待客户端的请求能够送达服务器端,
		不需要对方响应,这个时间一般是报文发送来回需要的总时长的2倍,因此称之为2MSL 

4、TCP FSM
	FSM:有限状态机

	CLOSED、LISTEN、SYN-SENT、SYN-RECEIVED、ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、TIME-WAIT、LAST-ACK等

5、类型
	协议:
		SOCK_STREAM:TCP套接字
		SOCK_DGRAM:UDP套接字
	地址格式:
		AF_INET:IPv4
		AF_INET6:IPv6
		AF_UNIX:同一个主机上的不同进程之间基于套接字通信时的一种地址格式 Unix_Sock

三、网站基础概念
1、基础
域名:解决IP地址不方便记忆以及不能显示组织名称和性质的缺点而设计的,通常需要DNS支持
URL:统一资源定位符,互联网中指定信息位置的标识方法,http:// https://
HTTP:超文本传输协议,应用层协议,网站服务器和客户端之间通信的基础协议
网页:网站的基本元素,是承载各种网站应用的平台。网页中可以包含文本、图像、视频、表单等元素
首页:浏览器默认打开的网页 ,通常是 index.html
HTML:超文本标记语言,通过其标记符告知浏览器如何显示该文件中的内容

2、HTML语言
	html、head、body、table、tr、td等 

3、其它语言
	CSS:层叠样式表,实现HTML或XML等文件样式的计算机语言,对网页内容进行排版和编辑
	JS:JavaScript,网页开发脚本语言,属于客户端脚本语言,需要下载到客户端,通过浏览器引擎加载执行并展示给用户。
	PHP:超文本预处理器,属于服务器端脚本语言,允许开发人员快速编写动态网页
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 15:27:26  更:2021-08-20 15:28:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:51:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码