HTTP:Web的基础
一、HTTP:Web的基础
1、URI
每个Web服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了。服务器资源名称被称为统一资源标识符(URI)
URI有两种形式,分别为URL和URN
1.1、URL:
统一资源定位符(URL)是资源标识符最常见的形式。URL描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精确、固定的位置获取资源。
大部分URL都遵循一种标准格式,包含三个部分:
- URL的第一部分被称为方案,说明了访问资源所使用的协议类型。通常就是http协议(http://)
- 第二部分给出了服务器的因特网地址(www.hardware.com)
- 其余部分指定了Web服务器上的某个资源(/img/icon.png)
1.2、URN:
URI的第二种形式就是统一资源名(URN)。URN是作为特定内容的唯一名称使用的,与目前的资源所在地无关。
2、事务
一个HTTP事务由一条(从客户端发往服务器的)请求命令和一个(从服务器发回客户端的)响应结果组成。这种通信是通过HTTP报文(http message)的格式化数据块进行的。
2.1、方法
HTTP支持几种不同的请求命令,这些命令被称为HTTP方法。每条HTTP请求报文都包含一个方法。
2.2、状态码
每条HTTP响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码,告诉客户端请求是否成功,或者是否需要采取其他动作。
3、报文
HTTP报文是由一行一行的简单字符串组成的。HTTP报文都是纯文本,不是二进制代码。
从Web客户端发往Web服务端的HTTP报文称为请求报文。从服务端发往客户端的报文称为响应报文。
HTTP报文包含三个部分:
- 起始行
报文的第一行,在请求报文中说明要做什么,在响应报文中说明出现了什么情况。
- 首部字段
起始行后面有零到多个首部字段。每个首部字段都包含一个名字和一个值,中间用冒号(:)分隔。
- 主体
首部之后就是可选的报文字体了,其中包含了所有类型的数据。
4、连接
4.1、TCP/IP
HTTP是个应用层协议。HTTP无需操心网络通信的具体细节,它把联网的细节都给了通用、可靠的因特网传输协议TCP/IP。
TCP提供了:
- 无差错的数据传输
- 按序传输(数据总是会按发送的顺序到达)
- 未分段的数据流(可以再任意时刻以任意尺寸将数据发送出去)
HTTP协议位于TCP的上层。HTTP使用TCP来传输其报文数据。与之类似,TCP则位于IP的上层。
4.2、连接、IP地址及端口号
在HTTP客户端向服务端发送报文之前,需要用网际协议(IP)地址和端口号在客户端和服务器之间建立一条TCP/IP连接。
在TCP中,你需要知道服务器的IP地址,以及与服务器上运行的特定软件相关的TCP端口号。URL就是资源地址所以自然能够为我们提供储存资源的机器的IP地址。
域名又称为主机名,主机名就是IP地址比较人性化的别称。可以通过一种称为域名服务(DNS)的机制方便的将主机名转换为IP地址。
二、HTTP报文
HTTP:Web的基础的更多相关文章
- Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
- [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现
Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...
- 从头编写asp.net core 2.0 web api 基础框架 (5) + 使用Identity Server 4建立Authorization Server (7) 可运行前后台源码
前台使用angular 5, 后台是asp.net core 2.0 web api + identity server 4. 从头编写asp.net core 2.0 web api 基础框架: 第 ...
- 20155324《网络对抗技术》web安全基础实践
20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...
- #WEB安全基础 : HTML/CSS | 文章索引
本系列讲解WEB安全所需要的HTML和CSS #WEB安全基础 : HTML/CSS | 0x0 我的第一个网页 #WEB安全基础 : HTML/CSS | 0x1初识CSS #WEB安全基础 : H ...
- #WEB安全基础 : HTTP协议 | 文章索引
本系列讲解WEB安全所需要的HTTP协议 #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构 #WEB安全基础 : HTTP协议 | 0x1 TCP/IP通信 #WEB安全基础 : ...
- 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础
2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...
- 20155208徐子涵《网络对抗》Exp9 Web安全基础
20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...
- 20155312 张竞予 Exp9 Web安全基础
Exp9 Web安全基础 目录 基础问题回答 (1)SQL注入攻击原理,如何防御 (2)XSS攻击的原理,如何防御 (3)CSRF攻击原理,如何防御 实践过程记录 WebGoat准备工作 1.XSS攻 ...
随机推荐
- ASP.NET Server对象
Server.HtmlEncode() 执行文本代码Server.HtmlDecode()可以将代码显示 而不是执行它 但是ASP.NET会认为恶意 我们可以将aspx代码开头添加validateRe ...
- react使用moment进行日期格式化
导入moment import moment from 'moment'; 使用方式 年月日,时分秒 moment().format('YYYY-MM-DD HH:mm:ss'); // 2019-0 ...
- 阿里面试实战题1----TreeSet,HashSet 区别
TreeSet,HashSet 区别 TreeSet public class TreeSet<E> extends AbstractSet<E> implements Nav ...
- [Spring cloud 一步步实现广告系统] 4. 通用代码模块设计
一个大的系统,在代码的复用肯定是必不可少的,它能解决: 统一的响应处理(可以对外提供统一的响应对象包装) 统一的异常处理(可以将业务异常统一收集处理) 通用代码定义.配置定义(通用的配置信息放在统一的 ...
- Docker安装ELK
1.下载elk docker pull sebp/elk 2.启动elk //Elasticsearch至少需要单独2G的内存 //增加了一个volume绑定,以免重启container以后ES的数据 ...
- SSH框架之Hibernate第一篇
1.2Hibernate的概述: 1.2.1 什么Hibernate? Hibernate(开发源代码的对象关系映射框架)是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它 ...
- JS基础语法---函数的其他定义方式
函数的其他定义方式 函数声明 函数表达式:把一个函数给一个变量,此时形成了函数表达式 函数调用 函数的自调用 命名函数:函数如果有名字,就是命名函数 匿名函数:函数如果没有名字,就是匿名函数 ...
- react-native 键盘遮挡输入框
Android上已经自动对键盘遮挡输入框做了处理,所以我们只需要关注ios. 1.首先引入 KeyboardAvoidingView import { KeyboardAvoidingView } f ...
- ABP入门教程12 - 展示层实现增删改查-脚本
点这里进入ABP入门教程目录 创建目录 在展示层(即JD.CRS.Web.Mvc)的\wwwroot\view-resources\Views\下新建文件夹Course //用以存放Course相关脚 ...
- 流程控制语句if基本概述
目录 1. 流程控制语句if基本概述 2. 流程控制语句if文件比较 判断文件是否存在,返回方式 使用变量的方法进行判断 请输入你要备份的数据库名称: wordpress 请输入你要备份的数据库密码: ...