文档章节

一、了解web及网络基础

娇娇jojo
 娇娇jojo
发布于 2017/09/07 17:39
字数 1168
阅读 68
收藏 2
点赞 1
评论 0

作者:汪娇娇

时间:2017年9月7日

了解web及网络基础

这章我们会介绍一下什么是HTTP,HTTP是用来干嘛的;
然后还会介绍和HTTP关系紧密的3个协议:IP、TCP和DNS;
有人可能对URI和URL有点区分不开,这章也会做个大致的对比介绍。

先上一张脑图:

1、HTTP

(1)定义

在说HTTP定义之前,先问大家一个问题,大家知道当我们在浏览器的地址栏中输入URL时,web页面是如何呈现的吗?

web使用一种名为HTTP(Hypertext Transfer Protocol,超文本传输协议)的协议作为规范,完成客户端到服务端等一系列运作流程。而协议是指规则的约定。可以说,web是建立在HTTP协议上通信的。

(2)协议版本

现在主流的HTTP协议版本是HTTP/1.1,那之前又有哪些版本,它们之间又有什么联系与区别呢?

HTTP/0.9

HTTP于1990年问世。那时的HTTP还没有被作为正式的标准被建立。这时的HTTP其实包含HTTP/1.0之前版本的意思,因此被称为HTTP/0.9 。

HTTP/1.0

HTTP正式作为标准公布是在1996年的5月,版本命名为HTTP/1.0,并记载于RFC1945。

HTTP/1.1

1997年1月公布,是目前主流HTTP协议版本。当初的标准是RFC2068,之后发布的修订版RFC2616是当前的最新版本。

(3)TCP/IP传输流

为了更好的理解HTTP,我们有必要事先了解一下TCP/IP协议族以及它们是如何进行网络通信的。

 

2、与HTTP关系亲密的协议:IP、TCP和DNS

下面分别针对在TCP/IP协议族中与HTTP密不可分的3个协议进行说明。

(1)负责传输的IP协议

按层次分,IP(Internet Protocol)网络协议位于网络层。

可能有人会把 “IP” 和 “IP地址” 搞混。

“IP” 其实是一种协议的名称,IP的作用是把各类数据包传送给对方。要保证确实传送到对方那里,则需要满足各类条件。其中最重要的2个条件就是IP地址和MAC地址(Media Access Control Address)。

IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,MAc地址基本上不会更改。

使用ARP协议(解析地址的协议)凭借MAC地址进行通信

IP间的通信依赖MAC地址。在网络上,通信双方在同一LAN内的情况很少,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。

没人能够全面掌握互联网中的传输状况

在到达通信目标前的中转过程,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制称为路由选择(routing)。

(2)确保可靠性的TCP协议

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

所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。而且TCP协议能够确认数据最终是否送达到对方(三次握手)。

注:SYN(synchronize)和ACK(acknowledgement)。

(3)负责域名解析的DNS服务

DNS(Domain Name System)服务和HTTP协议一样位于应用层。它提供域名和IP地址之间的解析服务。

(4)各种协议与HTTP协议的关系

3、URI和URL

(1)统一资源标识符

URI是Uniform Resource Identifier的缩写。

Uniform:规定统一的格式。

Resource:可标识的任何东西。

Identifier:标识符。

综上,URI就是由某个协议方案表示的资源的定位标识符。

URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置)。可见URL是URI的子集。

(2)URI格式

片段标识符也就是我们常见的锚链接,用来标识页面的子资源。

© 著作权归作者所有

共有 人打赏支持
娇娇jojo
粉丝 171
博文 59
码字总数 64182
作品 0
海淀
onvif网络摄像头开发(一)

ONVIF: ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络...

xiaot99
2014/10/14
0
0
HTTP协议-----WEB开发基础之一

说到HTTP,就不得不提网络基础,在此我不会长篇大论,但是,网络基础肯定是必须的,推荐可以看下大学的教科书《计算机网络基础》,一般有多个版本的选最新的版本即可,其实内容都差不多! HT...

ayesd
2014/07/13
0
0
网络安全,一个大写的反“作死”!

近年来流氓软件、后门程序、木马等网络威胁数量暴增,电脑病毒是个令人讨厌的字眼,却作死一般的围绕在我们每一位网民身边。为了提醒后人不忘CIH病毒带来的教训,每年的4月26日,是世界电脑病...

让往事随风
2016/04/21
84
0
java入门学习之路

java是面向对象的编程,个人觉得记忆比较重要。 第一阶段 java基础部分 unix开发环境 熟练掌握开发中常用的操作系统linux的安装及使用:掌握文件系统、网络、用户管理方法:能熟练使用vi和v...

瑞克3号
2017/07/10
0
0
网络与安全

面试 -- 网络 HTTP 现在面试门槛越来越高,很多开发者对于网络知识这块了解的不是很多,遇到这些面试题会手足无措。本篇文章知识主要集中在 HTTP 这块。文中知识来自 《图解 HTTP》与维基百科...

掘金官方
01/11
0
0
Python就该这么学?!

分享零基础学习Python的经验,15年4月份正式开始学习Python语言的,入门读物是一本书《父与子编程》。 关于第1点,我需要进一步强调:因为我目标非常明确,利用Python进行Web编程,通俗的讲,...

让往事随风
2016/04/18
134
0
新手必看,学习Linux重要八招

嵌入式Linux系统开发学习步骤,深圳嵌入式Linux培训高薪一路相伴  最近在嵌入式论坛上经常遇到一些嵌入式linux初学者在询问:嵌入式Linux如何入门?嵌入式Linux开发都需要学习什么?等等。其...

educn114
2014/05/28
0
0
阿里云 MVP Tech Show无锡站,全面推进 IoT

2018年3月在深圳开幕的2018云栖大会·深圳峰会上,阿里云总裁胡晓明宣布阿里巴巴将全面进军物联网领域,IoT将是阿里巴巴集团继电商、金融、物流、云计算之后一条新的主赛道。 而在无锡,鸿山...

仙游
05/26
0
0
一位资深程序员大牛给予Java初学者的学习路线建议

Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧...

Lunaqi
2017/11/06
0
0
Python开发大牛原来都精在这儿!

今天为大家分享资深开发者的Python学习之路,希望能帮到大家。我是15年4月份正式开始学习Python语言的,入门资料是玩转Python编程语言视频教程,通过Python你可以重拾编程的兴趣,获得编程的...

让往事随风
2016/04/19
874
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
2分钟前
0
0
单点登录的设计,从单域名到多域名(经验分享)

个人实践总结,最初的的需求,多个产品线都在同一个根域名下面。 独立的用户中心分离,单独负责用户登录和用户信息获取、变更等处理逻辑。 第一步,用户登录成功,分配给用户一个memToken(令...

小海bug
4分钟前
0
0
合格前端第十二弹-TypeScript + 大型项目

写在前面 TypeScript 已经出来很久了,很多大公司很多大项目也都在使用它进行开发。上个月,我这边也正式跟进一个对集团的大型运维类项目。 项目要做的事情大致分为以下几个大模块 一站式管理...

qiangdada
7分钟前
0
0
编程学习之如何在Node.js中优化服务器端渲染?[图]

编程学习之如何在Node.js中优化服务器端渲染?[图] 在 Airbnb,我们花了数年时间将所有前端代码迁移到 React 架构,Ruby on Rails 在 Web 应用中所占的比例每天都在减少。实际上,我们很快会...

原创小博客
9分钟前
0
0
gradle学习笔记

相关文档 适合新手的 gradle 自学教程合集 Gradle教程

OSC_fly
23分钟前
0
0
Virtual Serial Port - RFC2217

Virtual Serial Port for Linux RFC-2217 The COM Port Control Protocol pyserial - RFC 2217 NetSerial - Windows Telnet COM Port - RFC Official Using Python, How do I make a virtual......

zungyiu
30分钟前
0
0
全球的IPv6部署急剧增加,中国进度较慢

导读 全球的IPv6部署继续增加,但中国在IPv6方面还需要努力,从部署图上分析,中国几乎没有几个地方是普及IPv6的。这6年来,自世界IPv6发布以来,全球网络和服务提供商的IPv6部署水平急剧增加...

问题终结者
34分钟前
0
0
好看的电影记录

星际迷航三 狂暴之路 新木乃伊 黑夜传说 铁血战士2

xd03122049
38分钟前
0
0
记录Yii2框架开发遇到微信错误提示

转载地址 记录Yii2框架开发遇到微信错误提示 微信公共号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在...

durban
40分钟前
1
0
LSM树(Log-Structured Merge Tree)存储引擎浅析

其实每一种数据库,它都是一种抽象的数据结构的具体实现。 随着rocksDB(facebook的),levelDB(google的),以及我们熟知的hbase,他们都是使用的LSM树结构的数据库。 它的核心思路其实非常...

算法之名
53分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部