TCP/IP HTTP UDP Socket
TCP/IP
TCP/IP
是个协议组,分层
:
网络接口层,网络层,传输层,应用层,
TCP
和
IP
是这个协议簇中比较重要的两个协议,所以这么命名
.
TCP , UDP: 传输层协议
IP , ICMP , ARP , RARP , BOOTP: 网络层协议
TCP , UDP: 传输层协议
IP , ICMP , ARP , RARP , BOOTP: 网络层协议
HTTP,FTP,TELNET,SWTP,DNS:应用层协议
HTTP
http:
超文本传输协议,应用层协议,浏览器和
web
服务器之间,通过
http
在
Internet
上进行数据的发送和接收,基于请求
/
响应模式的无状态的协议
URL:描述资源,协议http https ftp,IP/域名,端口默认80省略,资源路径,数据,锚
Request:request line /header/body
请求方法 :POST GET
Accept: 客户端可以接受的媒体类型 text/html
referer: 提供了 request 的上下文信息的服务器
accept-language: 申明自己接受的语言 en-us
content-Type:application/x-www-form-urlencoded
Accept-Encoding :压缩方法
user-agent: 客户端信息
connection: tcp 连接关闭与否,重新建立连接
content-Length: 发送给 http 服务器数据的长度
host: 请求报头域
pragma: 防止页面被缓存
cookie:header
请求方法 :POST GET
Accept: 客户端可以接受的媒体类型 text/html
referer: 提供了 request 的上下文信息的服务器
accept-language: 申明自己接受的语言 en-us
content-Type:application/x-www-form-urlencoded
Accept-Encoding :压缩方法
user-agent: 客户端信息
connection: tcp 连接关闭与否,重新建立连接
content-Length: 发送给 http 服务器数据的长度
host: 请求报头域
pragma: 防止页面被缓存
cookie:header
accept-charset
Response:line/header/body
cache-control: 缓存机制,缓存在哪里
content-Type:web 服务器告诉浏览器自己相应的对象的类型和字符集
Expires: 浏览器会在指定过期时间内使用本地缓存
Last-Modified: 资源最后修改日期和时间
Server: 服务器的软件信息
X-AspNet-Version
X-Powered-By
connection: tcp 连接关闭与否,重新建立连接
content-Length: 发送给 http 服务器数据的长度
cache-control: 缓存机制,缓存在哪里
content-Type:web 服务器告诉浏览器自己相应的对象的类型和字符集
Expires: 浏览器会在指定过期时间内使用本地缓存
Last-Modified: 资源最后修改日期和时间
Server: 服务器的软件信息
X-AspNet-Version
X-Powered-By
connection: tcp 连接关闭与否,重新建立连接
content-Length: 发送给 http 服务器数据的长度
date:生成消息的具体时间和日期
http
协议:get post put delete与服务器交互的方法
get 提交数据放在 URL 中, post 提交数据放在 body 中,
get 提交的数据大小有限制,而 post 提交数据没有限制
get 通过地址栏来传值, post 通过提交表单来传值
get 提交数据会带来安全问题,曝露在 URL 中
TCP 和 UDP
TCP: 面向连接的协议,在发数据之前,必须建立可靠的连接,经过三次握手,第一次握手, A 发出连接请求, B 发出同意,并发送同步请求, A 发送确认同步请求
四次挥手 : 可以是客户端也可以是 server 端,
假设是 client 端发起中断请求, client 发送中断 fin 报文, server 端发送 ack ,等待 server 端确认数据发送完成之后,发送给 client 确认关闭, client 给 server 应答, server 断开, client 等待一段时间收不到回复就断开
区别:
TCP: 传输控制协议,面向连接数据流,有较高的可靠性
UDP: 用户数据报协议,面向数据报传输,
基于连接和未连接, TCP 要求系统资源较多, udp 程序结构简单, tcp 保证数据正确性, udp 可能丢包, tcp 保证数据顺序, udp 不保证
udp: 适用网络数据短消息,拥有大量客户端,数据安全性要求低,网络负担重,对响应速度要求高
get 提交数据放在 URL 中, post 提交数据放在 body 中,
get 提交的数据大小有限制,而 post 提交数据没有限制
get 通过地址栏来传值, post 通过提交表单来传值
get 提交数据会带来安全问题,曝露在 URL 中
TCP 和 UDP
TCP: 面向连接的协议,在发数据之前,必须建立可靠的连接,经过三次握手,第一次握手, A 发出连接请求, B 发出同意,并发送同步请求, A 发送确认同步请求
四次挥手 : 可以是客户端也可以是 server 端,
假设是 client 端发起中断请求, client 发送中断 fin 报文, server 端发送 ack ,等待 server 端确认数据发送完成之后,发送给 client 确认关闭, client 给 server 应答, server 断开, client 等待一段时间收不到回复就断开
区别:
TCP: 传输控制协议,面向连接数据流,有较高的可靠性
UDP: 用户数据报协议,面向数据报传输,
基于连接和未连接, TCP 要求系统资源较多, udp 程序结构简单, tcp 保证数据正确性, udp 可能丢包, tcp 保证数据顺序, udp 不保证
udp: 适用网络数据短消息,拥有大量客户端,数据安全性要求低,网络负担重,对响应速度要求高
长连接短连接
:tcp
保持长时间不断开,短连接会数据传输完后断开连接
SOAP
soap:简单对象访问协议SOAP,是交换数据的一种协议规范,是一种轻量的,简单的,基于XML的协议 http+xml = soap
Socket
socket:一种连接模式,代表客户端和服务器端的一个通信进程,双方进程通过socket进行通信,而通信的规则采用指定的协议,用socket可以创建tcp udp连接,http是基于tcp的
socket:
是对
TCP/IP
协议的封装应用,程序员层面的,是一个调用接口
API
,通过
socket
我们才能使用
TCP/IP.
socket对应于TCP服务应用,流式面向连接的socket,对应于无连接的UDP服务应用,是一种数据报式.tcp和udp的socket是有区别的.