TCP/IP HTTP UDP Socket

来源:互联网 发布:java 微信菜单click 编辑:程序博客网 时间:2024/06/03 23:44
TCP/IP  HTTP UDP Socket
TCP/IP
TCP/IP是个协议组,分层:网络接口层,网络层,传输层,应用层,TCPIP是这个协议簇中比较重要的两个协议,所以这么命名.
TCP
,UDP:传输层协议
IP
,ICMP,ARP,RARP,BOOTP:网络层协议
HTTP,FTP,TELNET,SWTP,DNS:应用层协议

HTTP
http:超文本传输协议,应用层协议,浏览器和web服务器之间,通过httpInternet上进行数据的发送和接收,基于请求/响应模式的无状态的协议
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
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服务器数据的长度
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确认关闭,clientserver应答,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服务应用,是一种数据报式.tcpudpsocket是有区别的.