美文网首页
TCP/IP协议组及HTTP协议

TCP/IP协议组及HTTP协议

作者: uncochen | 来源:发表于2019-01-11 17:40 被阅读0次

tcp/ip是一个协议组,包含很多协议

TCP/IP五层模型

  1. 应用层
  2. 传输层
  3. 网络层
  4. 链路层
  5. 物理层
TCP/IP五层模型

TCP和UDP

TCP/UDP传输层的协议,一般来说HTTP、HTTPS、FTP、TELNET、SMTP(简单邮件传输协议)协议基于可靠的TCP协议。TFTP、DNS、DHCP、TFTP、SNMP(简单网络管理协议)、RIP基于不可靠的UDP协议

TCP协议

  • 三次握手(建立连接)

  • 四次挥手(断开连接)

  • 为什么需要第三次握手

    主要是为了防止已经失效的连接请求突然又传到服务端,从而错误建立连接

  • TCP是基于连接的(可靠)

  • 包头最短长度为20字节

UDP

  • 面向无连接
  • 可能丢包,不保证顺序
  • 如何保证UDP顺序

    在报文中加入序号,服务端按顺序排序

HTTP超文本传输协议

请求消息Request

POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive

name=Professional%20Ajax&publisher=Wiley
  • 第一部分:请求行,第一行明了是post请求,以及http1.1版本。
  • 第二部分:请求头部,第二行至第六行。

    请求头可以添加自定义的key-value,如platform:ANDROID/platform:IOS

  • 第三部分:空行,第七行的空行。
  • 第四部分:请求数据,第八行。

响应消息Response

HTTP/1.1 200 OK
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Fri, 11 Jan 2019 08:53:45 GMT
Expires: Fri, 11 Jan 2019 08:53:45 GMT
Server: BWS/1.0
Tracecode: 32254114610536530698011116
Vary: Accept-Encoding
Content-Length: 91

Response的headers比Request是要多一个状态码的,用于标识本次请求的响应状态

响应码

1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

例如比较常见的200/404/502

http的请求方法

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

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

RESTful api

RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计.需要主要的是RESTful是一种约定或者说规范,但不是一种标准;我个人是强烈推荐RESTful接口的,曾经还因为后台接口不规范跟开发吵了一架哈哈

RESTful使用比较多的http方法是

  • GET 用于查询
  • POST 用于新建或更新(全量)
  • PUT 用于更新

相关文章

  • TCP/IP协议

    一、关于TCP/IP TCP/IP协议是一个协议集合,HTTP协议,IP协议,TCP协议,DNS协议等都属于TCP...

  • 2018-12-15\网络与IP&node js服务器

    HTTP与TCP 协议 HTTP 协议的底层其实是由 TCP 协议和 IP 协议(简称 TCP/IP)构建的。关于...

  • TCP/IP协议组及HTTP协议

    tcp/ip是一个协议组,包含很多协议 TCP/IP五层模型 应用层 传输层 网络层 链路层 物理层 TCP和UD...

  • TCP/UDP、IP 、Socket、HTTP笔记

    1.1 TCP/IP协议组 TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成 IP层负责...

  • TCP/IP协议

    TCP/IP协议三次握手与四次握手流程解析 HTTP协议—— 简单认识TCP/IP协议 TCP/IP协议入门(一)...

  • HTTP协议笔记

    HTTP协议笔记 标签(空格分隔): HTTP,TCP/IP [TOC] 1.网络协议基础知识 TCP/IP协议族...

  • 网络,IP,端口,路由

    HTTP协议的底层是有TCP协议和IP协议简称(TCP/IP)构建的。 TCP(Transmission Cont...

  • Http 和TCP

    1 http -->应用层协议tcp --->传输层协议 --ip --网络层协议http基于tcp协议; 2 ...

  • 网络与IP

    HTTP 协议的底层其实是由 TCP 协议和 IP 协议(简称 TCP/IP)构建的。。 TCP 传输控制协议(T...

  • Node.js Server

    HTTP 协议的底层其实是由 TCP 协议和 IP 协议(简称 TCP/IP)构建的。 TCP 传输控制协议(Tr...

网友评论

      本文标题:TCP/IP协议组及HTTP协议

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