1.Web基础与HTTP协议
文章目录
- Web基础与HTTP协议
- Web基础
- 域名的概念
- 网页的概念
- HTML概述
- Web概述
- HTTP协议
- HTTP协议版本
- HTTP 方法
- HTTP状态码
- 请求报文
- 响应报文
Web基础与HTTP协议
Web基础
域名的概念
IP地址不易记忆
早期使用Hosts文件解析域名
- 主机名称重复
- 主机维护困难
DNS (Domain Name System域名系统)
- 分布式
- 层次性
域名
- 浏览网页时输入的网址
HTTP/HTTPS
- 用来传输网页的通信协议
URL
- 是一种万维网寻址系统
网页的概念
网页
- 纯文本格式文件
- 编写语言为HTML
- 在用户的浏览器中被“翻译”成网页形式显示出来
网站
- 由一个一个页面构成的,是多个网页的结合体
主页
- 打开网站后出现的第一个网页称为网站主页 (或首页)
HTML
- 用来编写网页的超文本标记语言
超链接
- 超链接是将网站中不同网页链接起来的功能
发布
- 将制作好的网页上传到服务器供用户访问的过程
HTML概述
- HTML文档的结构
- HTML网页
- 头部部分
- 标题部分
- 主体部分
- 网页内容,包括文本、图像等
<html><head><titel>第一个页面</titel></head><body><h1>hello world</h1></body></html>
- 网页基本标签
- 标题标签
- 行控制相关标签
- 范围标签
- 图像标签
- 超链接标签
- 特殊符号
Web概述
- Web (World Wide Web)即全球广域网,也称为万维网
- 一种分布式图形信息系统
- 建立在Internet上的一种网络服务
静态网页
静态网页是标准的HTML文件
扩展名是 .htm \ .html
- 文本、图像、声音、Flash动画、 客户端脚本和ActiveX控件及Java小程序等
是网站建设的基础,早期网站一般都由静态网页制作
没有后台数据库、不含程序和不可交互的网页
相对更新起来比较麻烦,适用于一般更新较少的展示型网站
静态网页特点
每个静态网页都有一个固定的URL,且URL以 .htm 、.html 、.shtmI等常
见形式为后缀, 而不含有“?”
网页内容一经发布到网站服务器.上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的
静态网页的内容相对稳定,容易被搜索引擎检索
静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
静态网页的交互性较差,在功能方面有较大的限制
页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面
动态网页
- 网页URL不固定,能通过后台与用户交互
- 在动态网页网址中有一个标志性的符号一“?”
- 常用的语言有PHP、JSP、Python、 Ruby等
动态网页的特点
交互性
- 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后Web发展的大势所趋
自动更新
- 无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
因时因人而变
- 当不同的时间,不同的人访问同一网址时会产生不同的页面
HTTP协议
HTTP协议是互联网.上应用最为广泛的一种网络协议,设计这个协议的目的是为了发布和接收Web服务器上的HTML页面
HTTP协议版本
http/1.0:纯文本传输,http响应后会立即关闭TCP连接,支持http头部信息(http协议版本号,状态码等)
http/1.1:支持长连接(连接保持,持久连接)和管道机制(在一个TCP连接实现多个http请求和响应)
http/2.0:二进制传输,支持长连接和完全多路复用(在一个TCP连接中同时发送多个请求,且不用按照顺序一一对应);支持网页头部压缩,服务端主动推送
http/3.0:基于UDP协议
HTTP 方法
HTTP支持几种不同的请求命令,这些命令被称为HTTP 方法(HTTP method)。
每条HTTP请求报文都包含一个方法,告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。 最常用的获取资源的方法是GET、 POST、 PUT。
HTTP方法 | 描述 |
---|---|
GET | 对服务器资源获取的简单请求,可以理解为读取或者下载数据 |
PUT | 向服务器提交数据,以修改数据 |
DELETE | 删除服务器上的某些资源 |
POST | 用于发送包含用户提交数据的请求 |
HEAD | 请求页面的首部,获取资源的元信息 |
CONNECT | 建立特殊的连接隧道 |
OPTIONS | 列出可对资源实行的方法 |
TRACE | 追踪请求 - 响应的传输路径 |
GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库 的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的
与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求 就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的 种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。
POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的 insert 操作一样,会创建新的内容,几乎目前所有的提交操作都是POST请求的
DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的 delete操作
GET和POST 比较
GET方法:从指定的服务器上获得数据
- GET请求能被缓存
- GET请求会保存在浏览器的浏览纪录里
- GET请求有长度的限制
- 主要用于获取数据
- 查询的字符串会显示在URI后缀中,不安全,比如http: //www. test . com/a.php?Id=123
POST方法:提交数据给指定服务器处理
- POST请求不能被缓存
- POST请求不会保存在浏览器的浏览纪录里
- POsr请求没有长度限制
- 查询的字符串不会显示在URL中,比较安全
HTTP状态码
当使用浏览器访问某一个URL, 会根据处理情况返回相应的处理状态
状态码首位 | 已定义范围 | 分类 |
---|---|---|
1XX | 100-101 | 信息提示,表示目前是协议处理的中间状态,还需要后续的操作 |
2XX | 200-206 | 成功,报文已经收到并被正确处理 |
3XX | 300-305 | 重定向,资源位置发生变动,需要客户端重新发送请求 |
4XX | 400-415 | 客户端错误,请求报文有误,服务器无法处理 |
5XX | 500-505 | 服务器错误,服务器在处理请求时内部发生了错误 |
常用状态码 | 解释 |
---|---|
301 | 永久重定向 |
302 | 临时重定向 |
400 Bad Request | 请求错误,客户端发送的请求有语法错误 |
401 Unauthorized | 未授权,账号密码验证有误 |
403 Forbidden | 禁止访问,客户端IP/主机名被拉黑 |
404 Not Found | 资源不存在,请求的URL错误,服务器相对应的路径没有该网页文件 |
500 Internal Server Error | 服务器内部错误,服务端里的应用程序有问题 |
502 Bad Gateway | 错误网关,代理服务器接收到了来自上游服务器的无效响应 |
503 Service Unavailable | 服务不可用,服务器过载或正在维护 |
504 Gateway Timeout | 网关超时,代理服务器无法在规定的时间内收到来自上游服务器的响应 |
508 Loop Detected | 检测到循环,服务器端程序存在死循环 |
请求报文
- 请求行:请求行由请求方法、URL以及协议版本三部分组成。
- 请求头:请求头为请求报文添加了一些附加信息,由“名/值"对组成,每行一对,名和值之间使用冒号分隔。
- 空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。
- 请求体:请求体是请求提交的参数,GET方法已经在URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中。
请求头 | 描述 |
---|---|
Host | 接受请求的服务器地址,可以是IP:端口号,也可以是域名 |
User- Agent | 发送请求的应用程序名称 |
Connection | 指定与连接相关的属性,如Connect ion:Keep-Alive |
Accept - Charset | 通知服务端可以发送的编码格式 |
Accept - Encoding | 通知服务端可以发送的数据压缩格式 |
Accept - Language | 通知服务端可以发送的语言 |
响应报文
- 状态行:状态行由协议版本,状态码,状态码描述三部分组成。
- 响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。
- 空行:响应头部的最后会有一个空行,表示响应头部结束。
- 响应体:服务器返回的相应HTML数据,浏览器对其解析后显示页面。
响应头 | 描述 |
---|---|
Server | 服务器应用程序软件的名称和版本 |
Content -Type | 响应正文的类型( 是图片还是二进制字符串) |
Content -Lenqth | 响应正文长度 |
Content -Charset | 响应正文使用的编码 |
Content -Encoding | 响应正文使用的数据压缩格式 |
Content - Language | 响应正文使用的语言 |
1.Web基础与HTTP协议相关推荐
- Web服务器群集:Web基础与HTTP协议
目录 一.理论 1.Web基础 2.HTTP协议 二.实验 1.浏览本地HTML页面 三.总结 一.理论 1.Web基础 (1)域名和DNS ① 域名 网络是基于TCP/IP 协议进行通信和连接的,每 ...
- Web基础和HTTTP协议
文章目录 Web基础和HTTTP协议 一.Web基础 1.域名和DNS 1)域名的概念 ①域名的结构 ②域名结构类型 2)Hosts文件 ①hosts文件的作用 ②修改Hosts文件 3)DNS 4) ...
- Web基础与HTTP协议
Web基础与HTTP协议 文章目录 Web基础与HTTP协议 域名概述 域名的概念 早期使用Host文件解析域名 DNS(Domain Name System域名系统) 域名空间结构 小结: 面试题 ...
- Linux Web基础与HTTP协议
文章目录 Web基础 域名概念 DNS域名解析 域名注册 Web1.0 与Web2.0 HTTP协议 HTTP协议概述 HTTP1.0和HTTP1.1之间的区别 HTTP方法 HTTP 状态码 小结 ...
- web基础于http协议
目录 引言 一.DNS与域名 1.概述 2.域名申请 3.DNS解析 /etc/hosts /etc/resolv.conf 在网卡配置文件中定义 4.域名服务与域名注册 域名 域名服务 域名注册 域 ...
- JavaWeb第五讲 Web核心基础之HTTP协议
Web核心基础之HTTP协议 HTTP简介 对客户端和服务器端之间数据传输的格式规范,格式简称为"超文本传输协议".HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件 ...
- web 向java_Java web基础
Java web基础 一.C\S架构 1.概念 C是英文单词"Client"的首字母,即客户端的意思,C/S就是"Client/Server"的缩写,即&quo ...
- http协议建立在以下哪一个协议的基础上_HTTP协议梳理
首先,HTTP协议是一个应用层协议,我们在此基础上展开. 1.HTTP协议的前世今生 网络本质上就是在交换数据.在早期,端系统之间交换数据信息的数据网有很多,因特网作为其中的一种实质上并不突出.而因特 ...
- Unit01: Servlet基础 、 HTTP协议
Unit01: Servlet基础 . HTTP协议 在页面上输出当前时间 package web;import java.io.IOException; import java.io.PrintWr ...
最新文章
- 图解matlab基本操作
- hdu 5182 PM2.5
- 双绞线传输距离_详细了解弱电工程最常用到的网络传输介质:同轴电缆、双绞线、光纤...
- 你没有权限在此位置中保持文件 java_Java路径问题解决方案收集
- IE9真的支持CSS3和HTML5?
- CornerNet: Detecting Objects as Paired Keypoints
- K均值聚类关于初始聚类中心选取的一种改进(python程序)
- Replication--复制延迟的诊断和解决
- Word vba 替换
- QGIS安装以及使用教程
- matlab天线阵列分析,基于Matlab的阵列天线数值分析
- python 卡方检验 特征选择_特征选择:卡方检验
- gif动图怎么制作?gif动图制作教程大全
- gdata_YouTube GData API和Android
- 用C语言解“厘米换算英尺英寸”问题
- IT项目经理如何正确做好项目实施
- java斗地主socket_纯JAVA写的socket局域网斗地主游戏
- 产生随机数(随机数)
- 05 -数据分析与SQL- Lesson5 SQL数据清理
- 租服务器一年多少钱,阿里云服务器租赁一年多少钱