HTTP(hyper text transfer protocol) 超文本传输协议,是网络服务端与客户端之间用于传输 超文本(语音、视频、超链接) 的一种协议。通过对于不同 request 请求,响应不同的传输内容。
TCP/IP(Transmission Control Protocol/Internet Protocol) 是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议 不仅仅指的是 TCP 和 IP 两个协议,而是指一个由 FTP、SMTP、TCP、UDP、IP 等协议构成的协议簇,同时是Internet最基本的协议、Internet国际互联网络的基础,由网络层的 IP协议 和传输层的 TCP协议 组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。
seq=J
,并将该数据包发送给 Server,Client进入 SYN_SENT 状态,等待Server确认。SYN=1
知道 Client 请求建立连接, Server 将标志位 SYN 和 ACK 都置为1,ack=J+1
,随机产生一个值 seq=K
,并将该数据包发送给 Client 以确认连接请求,Server 进入 SYN_RCVD 状态。J+1
,ACK 是否为1,如果正确则将标志位ACK置为1,ack=K+1
,并将该数据包发送给Server,Server检查 ack 是否为K+1
,ACK 是否为1,如果正确则连接建立成功,Client和Server进入 ESTABLISHED 状态,完成三次握手,随后Client与Server之间可以开始传输数据了。三次握手保证了服务端与客户端双方都确认了通信的建立,可以类比网络语音。
TCP header
如图所示,数据在不同层级名字有所不同,同一个数据包在应用层、传输层、网络层、链接层的名称分别为:包(Packet
)、段(Segment
)、包(Packet
)、帧(Frame
)。有时为了方便,可统称为数据包。
TCP header 具体结构如下图所示
一个TCP header一般含有20个字节,分5行,每行4个字节。第一行记录发送端端口号以及接收端端口号,每个端口号各占两个字节,即TCP一共可以使用 2^16 = 65536
个端口。第二、三行的Sequence Number和ACK number以及第四行的各种Flag用于建立和断开TCP连接。
启动:
nginx
命令service nginx start
将nginx
当做后台服务运行控制:
nginx -s signal
其中signal
可以为以下四种
stop
:fast shutdownquit
:graceful shutdownreload
:reloading the configuration filereopen
:reopening the log files注意:nginx
支持配置文件的在线更改,使用nginx -s reload
即可直接切换至新配置,不同中断已有服务。
配置:
nginx
配置文件位于/etc/nginx/nginx.conf
,其格式以及使用参考官方文档c79716525313ab3e8985c9d2d3758e9078ed2586