【学习笔记】HTTP协议简介

1.什么是HTTP

HTTP(HyperText Transfer Protocol,超文本传输协议)是WEB使用的协议规范,完成从客户端到服务端数据传输的规则约定 。WEB是 建立在HTTP上通信的。

2.网络基础TCP/IP

互联网通常是在TCP/IP协议族下运作的,而HTTP是其下的子集。

2.1TCP/IP的分层管理

TCP/IP协议族最重要的就是分层管理,分为以下四层:应用层、传输层、网络层和链路层。

应用层:决定了向用户提供应用服务时通信活动,比如FTP、DNS、HTTP协议都处于该层。

传输层:提供处于网络连接的两台机器之间的数据传输。传输层有两个性质不同的协议,TCP(Transmission Control Protocol,传输控制协议)和UDP(,User Data Protocol,用户数据报协议)。

网络层:处理网络上流动的数据包。数据包是网络传输的最小单位。该层规定了通过怎样的路径到达对方计算机并把数据包传给对方。

链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC、及光纤等。

3.和HTTP关系密切的协议:IP、TCP、DNS

3.1负责传输的IP协议

IP协议处于网络层。注意要区分“IP”和“IP地址”。IP协议的作用是把各种数据包传送给对方。而要确保确实能传送给对方需要满足各种条件,其中最重要的两个条件就是IP地址和MAC地址。

3.2确保可靠的TCP协议

按层次划分TCP协议处于传输层,提供可靠的字节流服务。

字节流是指将大数据切分成以报文段为单位的数据包进行管理。可靠是指TCP能准确确认对方是否成功接受。

为了确保数据包到达目的地,发送端需要和接收端通过TCP协议进行三次握手:

3.3负责域名解析的DNS服务

以层次划分,DNS位于应用层。它提供IP和域名之间的解析服务。

因为IP地址的纯数字对于人类来说太难记,但是计算机更适合记忆纯数字的IP地址,所以需要DNS服务将域名解析成对应的IP地址以供计算机识别。

总结:当一个网址在浏览器上输入时,首先DNS服务会将域名转换为对应IP地址,之后客户端向该IP地址的服务器发起HTTP请求,该请求将分割为报文段可靠地传输给服务器(TCP三次握手),期间IP协议负责搜索IP地址一边找一边中转,服务器收到请求后就会将请求的数据返回给客户端 (数据回传同样参考TCP/IP协议),之后用户就能在浏览器上看见网页啦。

时间: 2024-11-10 11:26:08

【学习笔记】HTTP协议简介的相关文章

NFC学习笔记二——Libnfc简介与安装

一直想把自己对过的英文文章做一下翻译记录下来,趁着学习NFC,现将libnfc首页的对libnfc介绍和在不同操作系统上对libnfc安装的文章做一下翻译,一方面提高一下自己的英语,另一方面学习一下libnfc. 原文地址:http://nfc-tools.org/index.php?title=Libnfc 公共平台独立的近场通讯(NFC)库 libnfc是GNU公共许可正下发布的第一个免费的底层的NFC开发包和编程API.它对任何人事完全免费和公开的.这个列表显示了libnfc支持的功能.l

MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用

0 前言 MQTT是IBM开发的一个即时通讯协议.MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制.Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用. 若初次接触MQTT协议,可先理解以下概念: [MQTT协议特点]--相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好地实现远程控制. [MQTT协议角色]--在RESTful架构的物联网

javaSE学习笔记—HTTP协议(10)

客户端浏览器和服务器Tomcat要进行基本的请求和响应的处理. 其实浏览器和服务器通信的数据的格式已经使用协议进行固定好了,只要双方发送固定格式的数据,那么就可以完成基本的通信. 如果开发者需要查看这样的数据格式,那么就需要安装一个浏览器的HTTP协议相关的插件. 如果要深入的学习浏览器和服务器通信的数据,那么需要详细的掌握他们之间发送的数据内容. 1  请求信息 GET / HTTP/1.1 ? 请求行 Accept: */* Accept-Language: zh-cn,en-US;q=0.

【安全牛学习笔记】CCNA简介

课程介绍 1.CCNA CCNP CCIE 2.目标: (1)掌握小型网络的安装.操作及排障所需的知识及技能 (2)安装.造作及排障中型规模网络 (3)WAN技术 3.课程安排 4.思科图标和符号 5.思科职业认证 构建简单的网络_探索网络的功能_几种拓扑 一.网络 1.常见的物理组件:路由器.交换机.网络查杀设备 2.网络图:图标以及连线 3.资源共享功能以及其优势: 4.网络中的用户应用:E-mail web浏览器 数据库 5.用户应用对网络的影响: (1)批量型应用程序:FTP.TFTP.

JavaWeb学习笔记1---http协议

一.什么是HTTP协议: 1.概念: 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式(规定客户端和服务器如何进行交互). HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是基于TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程. 注:HTTP协议是学习JavaWeb开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,

TCP/IP具体解释学习笔记——地址解析协议ARP

一 概述 我们知道,IP协议是用来在不同的物理网络之间数据传输的.要在不同的网络之间数据传输,至少须要将IP协议所用的地址转换成特定网络所使用的物理地址. 一般来说.就是将IPv4地址转换为mac地址.要想与一个特定的设备进行数据交换,光知道它的IP地址是不够的.还须要知道它的物理地址. 而地址解析协议(ARP)就是来完毕这个工作的,它能将IPv4地址转换为设备的硬件地址.须要注意的是.ARP仅仅能转换IPv4的地址.IPv6须要使用另外的协议进行转换. 另外须要说明的是,网络层和数据链路层地址

Swift 学习笔记(面向协议编程)

在Swift中协议不仅可以定义方法和属性,而且协议是可以扩展的,最关键的是,在协议的扩展中可以添加一些方法的默认实现,就是在协议的方法中可以实现一些逻辑,由于这个特性,Swift是可以面向协议进行编程的. 扩展协议和默认实现 protocol Record { var wins: Int{get} var losses:Int{get} func winningPercent() -> Double } struct BasketballRecord:Record,CustomStringCon

《Servlet学习笔记》Servlet 简介

Servlet 简介:Servlet是sun公司提供的一门用于开发动态web资源的技术.Sun公司在其API中提供了一个servlet接口,用户若想开发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下两步:1.编写一个Java类,实现servlet接口:2.把开发好的Java类部署到web服务器中. jsp就是servletjavase.javaee,servlet不属于javase而属于javaeeservlet专门文档APITomcat可以运行servlet,lib

TCP/IP详解学习笔记——IP协议

一 概述 IP协议是TCP/IP协议簇中最核心的协议,所有的TCP.UDP.ICMP以及IGMP数据都以IP数据报格式传输.IP协议提供不可靠.无连接的数据传输服务.不可靠的意思是它不能保证IP数据报能成功到达目的地.IP仅仅提供最好的传输服务.意思就是,我尽我所能传输数据,实在没传过去,也不要怪我.当发生某种错误时,比如某个路由器的缓冲区慢了,此时路由器不能接收新的数据,直接丢弃处理,然后发送ICMP消息给信源端,告诉他我尽力了.如果需要可靠的传输,必须由上层协议来提供,比如TCP协议.无连接

barabasilab-networkScience学习笔记-网络科学简介

第一次接触复杂性科学是在一本叫think complexity的书上,Allen博士很好的讲述了数据结构与复杂性科学,barabasi是一个知名的复杂性网络科学家,barabasilab则是他所主导的一个实验室,这里的笔记则是关于里面介绍的课程的slider的笔记,当然别人的课程不是公开课,所以从ppt里只能看到骨干的东西了,对了补充下,slider相关的书籍在这里可以找到 这个slider首先介绍了几个例子,然后说明一个道理,那解释网络是复杂系统的heart,那什么是复杂系统呢?非线性的,有很