走近HTTP协议之一 基本网络概念与理解
当今的技术领域,开发者人数最为之多的群体便是web领域,与之相关岗位的包括前端工程师,后台工程师,移动端开发工程师等等。然而由于受时代浮躁氛围的影响,许多开发者对最为基础的HTTP协议都不甚了解,这也正是本篇文章的目的--简单总结一下 了解HTTP协议之前你需要掌握的一些基础知识,基本术语等等。
- 基本概念
- 协议
"协议定义了两个或多个通信实体间交换报文的格式和次序,以及在报文传输/接收或其他方面所采取的动作。"--《计算机网络--自顶向下方法》 我们可以把协议理解为规则的集合

(图:人类交流的协议与网络协议对比)
- HTTP
HyperText Transfer Protocol(超文本传输协议)的缩写,是建立在web应用层的核心协议。
- HTML
HyperText Markup Language(超文本标记语言)的缩写,web页面是由对象组成的,对象可以说就是文件,大多数web页面包含一个基本HTML文件,可以通过URL来寻址。
- Web Browser(浏览器)
浏览器通过发送请求,获取服务器资源,实现了HTTP的客户端,可以称作客户端(Client)。其实现在许多的客户端也是web客户端转制的,包括PC端和移动端。
- Web Server(服务器)
用于存储web对象,每个对象由URL寻址,web服务器实现了HTTP的服务器端(Server)。
- TCP
Translation Control Protocol(传输控制协议)的缩写,是面向连接(Connection-oriented)的传输层协议,HTTP协议建立在TCP协议之上,TCP协议为HTTP协议提供可靠数据传输服务。运行在不同机器上的进程通过向Socket(套接字)发送报文来进行通信。

- Socket
socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

- URL
Uniform Resource Locator(统一资源定位符)的缩写,不仅标识了Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置。
主要格式:<协议><特定协议部分>
- URI
Uniform REsource Identifier(统一资源标识符)的缩写,是以统一的标准化方式标示资源的字符串。
- URN
Uniform Resource Name(统一资源名称)的缩写,是URI的一种,用特定命名空间的名字标识资源。使用URN可以在不知道其网络位置及访问方式的情况下讨论资源。
- GET
HTTP协议客户端对服务器的请求方法之一。从指定的服务器中获取数据
- POST
HTTP协议客户端对服务器的请求方法之一。提交数据给指定的服务器处理
学习HTTP协议,大家要了解的最基本,最核心的概念就是以上这些,这些概念我会在后面的系列中逐步深入讲解和分析,分享一些自己的学习经验。
2. 辨析与理解
- 辨析URL URI URN

明白这三者,你只需要知道以下几点:
- URL和URN都是URI的子集,是URI的一种形式
- 引入URI的目的是标准化方式标识资源
- 引入URL是为了便于确定具体的网络位置和访问方式
- 引入URN的目的是唯一标识一个实体
- 辨析GET POST
看过好多网上的博客,都在讲POST方法比GET方法安全,POST方法会加密等等。这些可以说是错误的说法!!
辨析GET与POST,你要明白以下几点
- HTTP是应用层上的协议,HTTP协议的四个方法恰好对应了增删查改功能
- POST是添加,DELETE是删除,PUT是修改,GET是查询。所以POST并不能说比GET安全,两者功能是不同的。
- POST和GET传输的都是明文,区别是GET能在URL上直接访问,但本质上都没有加密。
- 另外,GET是幂等的,请求1次和请求n次相同,所以一些不是幂等的操作(文件上传,修改数据等)不能使用GET方法,用POST。
3. 总结
本文主要总结和分析了网络尤其是WEB开发者需要掌握的一些核心概念,为今后深入了解HTTP协议,网络编程,以及对服务器端的优化,打下良好的基础。当然,掌握这些还远远算不上打好基础,要想真正掌握好计算机网络,你还需要阅读相关技术书籍以及大量的编程实践,加油吧!
走近HTTP协议之一 基本网络概念与理解的更多相关文章
- 第13 章 : Kubernetes 网络概念及策略控制
Kubernetes 网络概念及策略控制 本文将主要分享以下 5 方面的内容: Kubernetes 基本网络模型: Netns 探秘: 主流网络方案简介: Network Policy 的用处: 思 ...
- ZeroMQ接口函数之 :zmq_tcp – 使用TCP协议的ØMQ网络单播协议
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-tcp zmq_tcp(7) ØMQ Manual - ØMQ/4.1.0 Name zmq_t ...
- HTTP协议的几个概念
http://www.rupeng.com/favicon.ico 可获取当前图标favicon.ico服务器是指定文件名,不能更改一.HTTP协议的几个概念1.连接(Connection):浏览器和 ...
- Java网络编程的基本网络概念
前言 自己网络这方面的知识很是薄弱,每次面试被问到这部分都会卡壳,所以很尴尬,然后最近也是有些时间了,就赶紧把自己的不足补充一下.虽然最近也在看设计模式,但是总看设计模式也容易烦,所以就并行学习,看看 ...
- 造轮子 | 怎样设计一个面向协议的 iOS 网络请求库
近期开源了一个面向协议设计的网络请求库 MBNetwork,基于 Alamofire 和 ObjectMapper 实现,目的是简化业务层的网络请求操作. 须要干些啥 对于大部分 App 而言,业务层 ...
- sanic官方文档解析之Custom Protocols(自定义协议)和Socket(网络套接字)
1,Custom Protocol:自定义协议 温馨提示:自定义协议是一个高级用法,大多数的读者不需要用到此功能 通过特殊的自定义协议,你可以改变sanic的协议,自定义协议需要继承子类asyncio ...
- Raknet是一个基于UDP网络传输协议的C++网络库(还有一些其它库,比如nanomsg,fastsocket等等)
Raknet是一个基于UDP网络传输协议的C++网络库,允许程序员在他们自己的程序中实现高效的网络传输服务.通常情况下用于游戏,但也可以用于其它项目. Raknet有以下好处: 高性能 在同一台计算机 ...
- 【Docker】(11)---Docker的网络概念
一.实现原理 1.实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为C ...
- 对MP4一些概念的理解
首先,对视频一些基本概念的理解: I帧:i帧又称为内编码帧,是一种自带全部信息的独立帧,可独立解码,可理解为一张静态图片,视频序列中的第一个帧始终是i帧,因为它是关键帧. P帧:P帧又称为帧间预测编码 ...
随机推荐
- 快速排序 O(nlogn)
#include<bits/stdc++.h> using namespace std; int a[200],n; void q_sort(int l,int r){ if(l>r ...
- 《Linux课本》读书笔记 第四章
- 《Linux内核分析》读书笔记(四章)
<Linux内核分析>读书笔记(四章) 标签(空格分隔): 20135328陈都 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行 ...
- 第二个spring
由于第一个spring已经完成,我们现在进去第二个spring! 陈志棚:成绩的统筹 李天麟:界面音乐 徐侃:代码算法 plan好布局,分配任务,控制时间!
- 第三个Sprint冲刺第九天(燃尽图)
- Maven入门指南④:仓库
1 . 仓库简介 没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理.Maven 使用一个称之为仓库的目录,根据构 ...
- MySQLi面向对象实践--multi_query
使用multi_query可以实现执行多条SQL语句,每一条SQL语句通过分号分隔. 需要注意的是: 多条用分号分隔的SQL语句中,只要有一条SQL语句执行失败,那么这一条SQL语句以及之后的SQL语 ...
- 详解centos6和centos7防火墙的关闭
http://www.jb51.net/article/101576.htm http://www.myhack58.com/Article/48/66/2013/37314.htm http://w ...
- Redis应用一例(存证数量用计数器实现)
public Long getCreationCounter() { String host =PropertyUtils.getPropertyValue("redis.server.ho ...
- 转帖 云和恩墨 http://www.eygle.com/archives/2015/06/sql_version_count.html
SQL多版本控制 - _CURSOR_OBSOLETE_THRESHOLD 作者:eygle |English [转载时请标明出处和作者信息]|[恩墨学院 OCM培训传DBA成功之道]链接:htt ...