入门:HTTP(二)

一、HTTP协议
HTTP协议的底层其实是TCP协议和IP协议构建的

  1. TCP(Transmission Control Protocol)传输控制协议
    TCP和UDP的区别是什么

TCP是可靠的,面向连接的数据流传输,较UDP较慢
UDP是不可靠的,非面向连接的数据流传输,较TCP较快

可靠与否是看当成功后能否反馈给你。

  1. TCP的三次握手指的什么
    每次建立连接前,客户端和服务端都要有三次对话才开始正是传输内容

第一次,客户端:喂,我要连接你了
第二次,服务端:en,我准备好了,连接吧
第三次,客户端:好的,那我开始传输了
开始传输内容

也就是说我们客户端和服务端需要三次对话才能正式传输,我们可能会好奇为什么是三次,因为这是能够达成可靠沟通的最小值,为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手。如果没有这三次对话,那就和UDP 一样直接传输了。

  1. IP协议
  • 只要你在互联网中,你就会有IP。通俗意义上,IP分为内网IP和外网IP。
  • 你从电信那里买来带宽,电信给你提供DNS 服务。
  • 你的电脑手机等设备连接到路由器广播出来的WiFi上。
  • 路由器连接到电信服务器,我们就有了一个外网IP,这就是我们在互联网中的地址。
  • 路由器又会在我们的家里创造一个内网,给每个设备分配一个IP,这个IP就是内网IP。
  • 现在路由器就有了两个IP,内网IP和外网IP,这有什么用呢?
  • 内网之间设备可以直接访问,但是不能直接访问外网
  • 我们的手机电脑等这些设备就是内网IP,所以我们想访问外网,就必须由路由器进行中转。
  • 同理,外网发出回应页面,也是传给路由器中转,路由器知道如何给这些页面指路。
    注:HTTP是负责如何书写内容的协议
    TCP协议是负责如何传输的协议
    IP协议是负责如何联网的协议
  1. 端口
    我们访问一个设备(前提是使用TCP或UDP协议),仅仅指定IP是不够的,我们的服务器不止提供一种服务,比如它提供HTTP服务(网页服务)FTP服务(下载服务)SMTP服务(邮件发送服务),那么我们只指定了IP,服务器怎么知道我们需要什么服务呢?
    所以我们必须要指定端口,端口是一个编号。
    重要原则:一个端口对应一个服务。
    比如:
  • 要提供HTTP服务,你最好使用80端口
  • 要提供HTTPS服务,你最好使用443端口
  • 要提供FTP服务,你最好使用21端口
    你可能会问了
    Q1:我咋知道我用啥端口啊?
    0-1023端口
    Q2:一共有多少个端口?
  • 每个机器一共有65535(2的16次方-1)个端口(这是协议规定的)
  • 0-1023(2的10次方-1)号端口是给系统使用的,只有管理员权限后才能使用这1024个端口
  • 剩下的端口给普通用户
  • 如果一个端口正在提公共服务,即被占用了,那就不能使用这个端口,除非停掉正在占用的服务。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 3,512评论 0 6
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,125评论 6 174
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,087评论 0 8
  • 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编...
    程序员欧阳阅读 2,041评论 1 37
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,622评论 2 56