美文网首页
TCP/IP协议与Socket编程

TCP/IP协议与Socket编程

作者: 没有笔的Monkey | 来源:发表于2019-01-24 14:55 被阅读6次

TCP/IP协议

目前世界上应用最为广泛的协议,是以TCP和IP为基础的不同层次上多个协议的集合,也称TCP/IP协议族、或TCP/IP协议栈。
TCP:Transmission Control Protocol 传输控制协议
IP:Internet Protocol 互联网协议

应用层协议

协议 + IP + 端口号
http://127.0.0.1:8080
ftp://127.0.0.1


TCP/IP协议模型

常见协议的端口:

  • HTTP 80
  • HTTPS 443
  • FTP 21
  • SSH 22
  • Telnet 23
  • SMTP 25

HTTP协议

一个HTTP请求包括以下内容:
请求行(request line)、请求头部(header)、空行和请求数据

HTTP请求结构

HTTP协议的常见字段

  • Method 请求方法

GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。

  • Status Code 状态码

    • 200/302/404/502
  • Content-Type

    • text/html
    • text/json
    • audio/mp3
    • image/png
    • application/x-www-form-urlencoded
    • application/multipart-form
  • Content-Length

  • Connection:Keep-Alive

  • User-Agent(浏览器、操作系统信息)

HTTP长连接、短连接

HTTP 1.0 默认短连接,HTTP 1.1默认长连接(Keep-Alive)

Socket编程

创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。

socket抽象层

TCP、UDP

TCP协议是面向连接的、可靠的、有序的、以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连接中进行大量数据的传输,效率会稍低。

UDP协议(用户数据报协议)是无连接的、不可靠的、无序的,速度快
进行数据传输时,首先将要传输的数据定义成数据报(Datagram),大小限制在64k,在数据报中指明数据索要达到的Socket(主机地址和端口号),然后再将数据报发送出去

参考材料:

相关文章

  • JAVA 网络编程 TCP/IP、Socket 和协议设计

    【JAVA 网络编程 TCP/IP、Socket 和协议设计】 转自:TCP/IP、Socket 和协议设计 TC...

  • 31.Python之网络编程(socket模块)

    Python之网络编程(socket模块) 什么是socket?Socket是应用层与TCP / IP协议族通信的...

  • 网络编程:TCP、UDP及Socket

    TCP/IP协议 IP、TCP、UDP 都是TCP/IP协议的一部分。而Socket是应用层与TCP/IP协议通信...

  • Python学习23-socket编程

    查看所有Python相关学习笔记 socket编程 应用使用socket编程接口来通过TCP/IP协议进行通信 网...

  • Socket

    Socket socket是什么 socket是什么?socket在哪?先了解TCP/IP协议 TCP/IP:传输...

  • IP协议详解

    IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。 IP服务的主要特点 IP协议为上层协...

  • python10-socket

    socket网络编程 socket基于tcp、ip协议的工具 所有的网络通信都基于socketwanghzh/p/...

  • 网络编程

    网络 Socket 基于TCP协议的Socket编程 基于UDP协议的Socket编程

  • 第二章|ip协议

    ip协议是tcp/ip协议族的核心协议,也是socket网络编程的基础之一。ip头部信息:出现在每个ip数据报中,...

  • 第一课时:socket

    TCP/IP协议 socket的位置 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。...

网友评论

      本文标题:TCP/IP协议与Socket编程

      本文链接:https://www.haomeiwen.com/subject/ofeejqtx.html