· 面向连接,可靠的,基于字节流的
· 建立链接需要三次握手(在吗?在!那我说事情了。)
首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。
Socket(套接字):
封装TCP的接口。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个链接的一端称为一个socke。
· 一个工具,一个接口
· 封装了TCP/IP协议
· 建立长链接的基础
Scoket提供进程通信的端点
各自创建端点
套接字的连接工程
服务器监听(时时监听) --》 客户端请求(客户端的套接字提出连接请求)--》 连接确认(接收到客户端 套接字,响应请求,建立连接)
HTTP 应用层协议:
· 比TPC更高级
· 短链接,无连接,无状态,引入cookie
· Header+Body组成
1. 客户端通过TCP/IP协议建立到服务器的TCP连接
2. 客户端向服务器发送HTTP协议请求
3. 服务器向客户端发送HTTP协议应答包
4. 断开连接。客户端渲染HTML文档
(通过在浏览器输入域名在DNS解析出对应的服务器IP,客户端向服务器IP发送请求,服务端接收并响应请求,客户端显示数据)
WebServer:
产品:Apache/Nginx
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如PHP脚本,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
多进程:
系统进程
用户进程
并发执行(多任务操作进程)
性能更好
WebSocket 应用层协议(HTML5的新协议):
· 一个应用层协议
· 长链接
· 主流即使通讯协议
长链接:客户端第一次发起时建立,关闭客户端软件后断开。期间多次发送请求和相应,但是链接是不会断开的
事件机制:监听用户的行为,触发事件
轮询机制:死循环,伪长链接,while(true)不断发起tcp请求
后台服务:Apache,mysql等服务