首页 > 其他分享 >Web基础与HTTP协议

Web基础与HTTP协议

时间:2022-11-04 13:56:41浏览次数:35  
标签:Web 网页 请求 协议 服务器 HTTP 页面 客户端

Web基础与HTTP协议

一,DNS与域名

1.DNS 解析

DNS解析方式,三种:
① /etc/hosts				
linux系统中负责快速解析的文件,包含了ip与主机名的映射关系,在没有DNS服务器的情况下,使用本地/etc/hosts完成解析/映射,实现快速访问
PS: 主要用于主机之间(IP和主机名)的映射/解析关系,示例:
192.168.10.10 ceshi

② /etc/resolv.conf
DNS客户端配置文件,主要用于设置DNS服务器的IP和域名,还包含了主机域名的搜索顺序等等,这个文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。
PS:主要用与匹配DNS服务器,示例:
nameserver 114.114.114.114
nameserver 8.8.8.8

③ /etc/sysconfig/network-scripts/ifcfg-ens33
我们也可以在网卡配置文件中定义DNS1=  DNS2=

生效顺序 1 hosts文件 2 网卡配置文件 3 /etc/resolv.conf

2.域名

定义: 标识一组主机并提供它们的有关信息的树形结构(主要确定了根在哪,就可以确定每个分支)
www.baidu.com 
域名服务器(分布式,每台主机维护一个部分):
保持和维护域名空间的程序
响应解析器的请求

解析端(客户端)
向DNS服务器发出请求的设备

2、域名空间结构(从右往左看)
根域 位于域名空间最顶层,一般用一个 “.” 表示								
基础单位,除了根域 其他都只有一个上级域,有0或多个子域,同层域不可重复的子域或域名

顶级域
一般代表一种类型的组织机构或国家地区(主要有此两种类型构成),如 net(网络公司)、com(商业)、org(民间团体组织)、edu(教育)、gov(政府)、mil(军事)、cn(中国)、jp(日本)、hk(中国香港)

二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

子域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

主机
主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名

3.网页

网页基本概念 
网页
纯文本格式文件
编写语言为HTML
在用户的浏览器中被“翻译”成网页形式显示出来

网站
由一个一个页面构成的,是多个网页的结合体
主页打开网站后出现的第一个网页称为网站主页(或首页)

域名
浏览网页时输入的网址

HTTP/HTTPS
用来传输网页的通信协议(是否加密),是一种通讯/交互的标准/规范

URL
是一种万维网寻址系统

HTML 
用来编写网页的超文本标记语言

超链接
超链接是将网站中不同网页链接起来的功能

发布
将制作好的网页上传到服务器供用户访问的过程

2、HTML 
HTML超文本标记语言
Hyper Text Markup Language
网页的“源码”
浏览器:“解释和执行”HTML源码的工具 

HTML文档的结构
HTML网页
头部部分
标题部分
主体部分
网页内容,包括文本、图像等

示例:
<html>
<head>
<title>我的第一个网页 </title>
</head>

<body >
       Hello World!
</body>

</html>

●头标签中常用标签:
标签				描述
<title>				定义了文档的标题
<base>				定义了页面链接标签的默认链接地址
<link>				定义了一个文档和外部资源之间的关系
<meta>				定义了 HTML 文档中的元数据
<script>			定义了客户端的脚本文件
<style>				定义了 HTML 文档的样式文件

●内容标签中常用标签
标签				描述
<table>				定义一个表格
<tr>				定义了表格中的一行
<td>				定义了表格中某一行的一列
<img>				定义了一个图像
<a>					定义了一个超链接
<p>					定义了一行
<br>				定义了换行
<font>				定义了字体

网页摘要信息的作用:有利于浏览器解析;有利于搜索引擎搜索
<title>标签		#标题
<meta>标签		#元标志	

标题标签类型:
行控制相关标签
范围标签
图像标签
超链接标签
特殊符号

二,web

1.Web概述

Web(World Wide Web)即全球广域网,也称为万维网
一种分布式图形信息系统
建立在Internet上的一种网络服务

2.web1.0与web2.0的区别

Web1.0
以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容
这个过程是网站到用户的单向行为
Web2.0
更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
Web2.0特征
用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户

3.静态页面 与动态页面

1) 静态页面定义
静态网页是标准的HTML文件
扩展名是.htm、.html
例如文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等
是网站建设的基础,早期网站一般都由静态网页制作
没有后台数据库、不含程序和不可交互的网页
相对更新起来比较麻烦,适用于一般更新较少的展示型网站

2)静态页面特点:
每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”
网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的
静态网页的内容相对稳定,容易被搜索引擎检索
静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
静态网页的交互性较差,在功能方面有较大的限制
页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面

3) 动态页面
网页 URL不固定,能通过后台与用户交互
在动态网页网址中有一个标志性的符号——“?”
常用的语言有PHP、JSP、Python、Ruby等

4) 动态页面特点
交互性
网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋
自动更新
无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
因时因人而变
当不同的时间,不同的人访问同一网址时会产生不同的页面

三,HTTP协议概述

HTTP(超文本传输协议HyperText Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,
它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。

HTTP/HTTPS是应用层上的协议,建立在传输层TCP之上,客户端通过与服务端进行TCP连接(三次握手),之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。

HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。
TTP 请求格式( GET / POST 方式 )

(1)GET 方式
请求行
请求的方式
请求的资源路径
请求的版本协议号

请求头(描述信息/标准化信息)
Accept:客户端可以接受的数据类型
Accept-Language:客户端可以接受的语言类型
User-Agent:浏览器的信息
Accpect-Encoding:客户端可以接受的编码格式
Host:表示请求的ip和端口号
Connection:告诉服务器请求连接如何处理
   Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接
     Closed:马上关闭

(2)POST 请求方式
请求行
请求的方式
请求的资源路径
请求的协议的版本号

请求头
Accept:客户端可以接受的数据类型
Accept-Language:客户端可以接受的语言类型
Referer:表示请求发起时,浏览器地址栏中的地址
User-Agent:浏览器的信息
Content-Type:发送的数据类型
Content-Length:发送的数据长度
请求体:就是发送给服务器的数据
两者区别:
GET方法:
从指定的服务器上获得数据
GET请求能被缓存
GET请求会保存在浏览器的浏览纪录里(cookit)
GET请求有长度的限制
主要用于获取数据
查询的字符串会显示在URL中,不安全

POST方法:
提交数据给指定服务器处理
POST请求不能被缓存
POST请求不会保存在浏览器的浏览纪录里
POST请求没有长度限制
查询的字符串不会显示在URL中,比较安全

1.HTTP状态码

状态码首位	已定义范围		分类
1xx			100-101			信息提示
2xx			200-206			成功
3xx			300-305			重定向
4xx			400-415			客户端错误
5xx			500-505			服务器错误

常见的HTTP状态码
消息		描述
200		OK			请求成功(其后是对GET和POST请求的应答文档)
301		Moved Permanently	         请求的永久页面跳转
403		Forbidden			禁止访问该页面
404		Not Found			服务器无法找到被请求的页面
500		Internal Server Error	      内部服务器错误
502		Bad Gateway	   		      无效网关
503 	Service Unavailable	      当前服务不可用
504 	Gateway Timeout		      网关请求超时

2.HTTP协议请求流程

HTTP请求是指 : 
客户端通过发送 HTTP 请求向服务器请求对资源的访问。 
它向服务器传递了一个数据块,也就是请求信息,
HTTP 请求由三部分组成:请求行、请求头和请求正文。

1.用户输入URL(地址链接)(http://www.baidu.com:80/tools.html)客户端获取到端口及主机名后;
客户端利用DNS递归,迭代解析域名客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接。
2.HTTP服务器则在那个端口监听客户端发送过来的请求。
3.服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 
4.客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

【HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正】

标签:Web,网页,请求,协议,服务器,HTTP,页面,客户端
From: https://www.cnblogs.com/y0226/p/16857500.html

相关文章

  • 深度解读Webpack中的loader原理
    一、前言webpack是一个现代JavaScript应用的静态模块打包器。那么webpack是怎样实现不同种类资源模块加载的呢?没错就是通过loader。loader用于对模块的源代码进行......
  • 教你手写webpack常用loader
    前言webpack作为目前主流的前端构建工具,我们几乎每天都需要与它打交道。个人认为一个好的开源产品壮大的原因应该包括核心开发者的稳定输出以及对应生态的繁荣。对于生态......
  • 手写一个webpack插件
    前言前端性能优化是一个老生常谈的话题,关于性能优化的技术文档和书籍都特别多。如果大家想深入学习前端性能优化相关内容,有以下推荐雅虎军规35条某东上搜“前端性能优......
  • Spring Boot 运行原理 - 实例分析(HttpEncodingAutoConfiguration)
    在了解了SpringBoot的运作原理和主要注解后,现在来简单的分析一个SpringBoot内置的自动配置功能:http的编码配置。我们在常规项目中配置Http编码的时候是在web.xml添加一......
  • Spring Boot对Web开发的支持
    Web开发是开发中至关重要的一部分,Web开发的核心内容主要包括内嵌Servlet容器和SpringMVC。SpringBoot对Web开发的支持springBoot提供了spring-boot-starter-web为web开......
  • WebApi Swagger使用
    一、配置代码SwaggerConfig.csusingSwashbuckle.Application;usingSwashbuckle.Swagger;usingSystem;usingSystem.Collections.Concurrent;usingSystem.Collec......
  • Welcome to MWeb
    MWebisaprofessionalMarkdownwriting,notetaking,andstaticbloggeneratorappforMac,iPad,andiPhone.HerearesomespecialfeaturesofMWeb.Thesoft......
  • Docker安装Harbor证书:Error response from daemon: Get "https://xx.xx.xx/v2/": x509
    自建harbor仓库ssl证书过期之后,更换了ssl证书。jenkins流水线无法登录harbor镜像仓库、且无法拉取镜像时报,报错信息如下:Errorresponsefromdaemon:Get"https://xx.......
  • angular2+ 项目中 tab 页关闭时触发 http 请求
    需求中有个画面打开和结束时,触发脚本的功能画面打开比较好搞,直接ngOnInit,获取完画面的脚本配置,直接调用脚本执行即可。画面退出的触发倒是想了一下,分为2种......
  • AIRIOT物联网低代码平台如何配置Modbus TCP协议?
    AIRIOT物联网低代码平台稳定性超高,支持上百种驱动,各种主流驱动已在大型项目中通过验证,持续稳定运行。AIRIOT物联网低代码平台如何配置ModbusTCP协议?操作如下:AIRIOT......