文章目录
一、域名概述
1、域名和IP地址简介
网络上交互是基于TCP/IP协议的,每个主机在逻辑上有一个唯一位置标识(地址),物理地址为NAC地址。
为了保证地址唯一性,用户协议向特地的机构申请注册,分配IP地址网络中的地址有两套方案: IP地址系统、域名地址系统。
IP地址系统:是一种用于标识和定位计算机网络上设备的协议。
域名地址系统:是一种用于将域名解析为IP地址的网络服务。
而由于IP是由32位二进制数字标识,不方便记忆,所以、以IP地址为基础发展出了符号化地址来代替解决方案,也是域名。
2、域名结构类型
1.根域:指的是根服务器,用来管理互联网的主目录,全世界只有13个。
2.顶级域:包括组织域名和国家 / 地区域名。如.cn、.de和.jb。
3.二级域名:在顶级域名之前的域名,它是指域名注册人的网上名称。
4.FQDN:主机名.DNS后缀,主机名加上全路径,全路径列出序列中的所有域成员。
3、域名注册申请
域名注册是 Internet 中用于解决地址对应问题的一种方法。
遵循先申请先注册原则。
域名注册步骤: 准备申请资料——》寻找域名注册网站——》查询域名——》正式申请——》申请成功
4、DNS解析方式
1、/etc/hosts:linux系统中负责快速解析的文件,包含了ip与主机名的映射关系,在没有DNS服务器的情况下,使用本地/etc/hosts完成解析/映射,实现快速访问。
2、/etc/resolv.conf
DNS客户端配置文件,主要用于设置DNS服务器的IP和域名,还包含了主机域名的搜索顺序等等,这个文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。
3、/etc/sysconfig/network-scripts/ifcfg-ens33
我们也可以在网卡配置文件中定义DNS1= DNS2=
生效顺序 1 hosts文件 2 网卡配置文件 3 /etc/resolv.co
二、网页与HTML
1.网页
纯文本格式文件
编写语言为HTML
在用户的浏览器中被“翻译”成网页形式显示出来
2.网站
由一个一个页面构成的,是多个网页的结合体。
主页
打开网站后出现的第一个网页称为网站主页(或首页)
3.域名
浏览网页时输入的网址
4.HTTP/HTTPS
用来传输网页的通信协议(是否加密),是一种通讯/交互的标准/规范
5.URL
是一种万维网寻址系统
例:www.example.com/index.html?param=value#section2
这个 URL(https://www.example.com/index.html?param=value#section2)的意思如下:
协议:这个 URL 使用的协议是 HTTPS,表示在客户端和服务器之间进行的通信是加密的。
主机名:主机名是 www.example.com,表示要访问的资源位于 example.com 这个域名下的服务器上。
路径:路径是 /index.html,表示要访问的资源是位于服务器上的 index.html 文件。
查询参数:查询参数是 param=value,表示在请求服务器的时候会传递一个 param 参数,其值为 value。这可以用于向服务器传递一些额外的参数,以便进行更精确的资源定位或过滤。
锚点:锚点是 #section2,表示要在文档中定位到具体的位置或片段,其中 section2 可能是文档中的一个特定标识符,用于实现内部跳转。
综上所述,这个 URL 指示了使用 HTTPS 协议访问 www.example.com 域名下的服务器,获取位于服务器上的 index.html 文件,同时传递了一个名为 param 值为 value 的查询参数,并且要在获取的文档中定位到 section2 这个位置。
6.HTML
HTML超文本标记语言
Hyper Text Markup Language
网页的“源码”
浏览器:“解释和执行”HTML源码的工具
三、Web概述
web即全球广域网,也称万维网一种分布式图形信息系统;建立在internet上的一种网络;具有超文本系统的扩充,基于B/S架构实现。
HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。
HTTP(80/TCP)和 HTTPS(443/TCP)的传输协议。
1.web1.0版本:以静态单向阅读为主。
2.web2.0版本:注重用户的交互作用,登录对话,论坛交流,双向的。特征:用户分享以兴趣为聚合点的社群,开放的平台,活跃的用户。
1、静态页面
静态页面时标准的HTML文件,扩展名.html、.htm。
有固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”
没有数据库的支持,在网站和维护方面工作量较大。
2、动态页面
网页URL不固定,通过后台与用户交互。
常用的语言有PHP、JSP、Python、Ruby等。
四、HTTP协议
1.HTTP(超文本传输协议HyperText TransferProtocol)协议是互联网上应用最为广泛的一种网络协议,它是基于TCP/IP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
2.HTTP/HTTPs是应用层上的协议,建立在传输层TCP之上,客户端通过与服务端进行TCP连接(三次手握),之后发送HTTP请求与接收HTTPI响应都是通过访问Socket接口来调用TCP协议实现。
3.HTTP 是一种无状态(stateless)协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务,提高效率。
五、cookie和session
cookie是缓存在用户端,省服务器性能。
session是指客户端与服务器之间建立的一种持续性的连接。在一个 Session 中,服务器会为客户端分配一个唯一的标识符(通常称为 Session ID),用于标识客户端。这个 Session ID 可以作为 Cookie 发送给客户端,在客户端和服务器之间传递,以便在后续的请求中对客户端进行身份验证或跟踪客户端的状态。更安全。
六、HTTP 请求格式
1、GET 方式
1、请求行
请求的方式
请求的资源路径
请求的版本协议号
2、请求头
Accept:客户端可以接受的数据类型
Accept-Language:客户端可以接受的语言类型
User-Agent:浏览器的信息
Accpect-Encoding:客户端可以接受的编码格式
Host:表示请求的ip和端口号
Connection:告诉服务器请求连接如何处理
Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接
Closed:马上关闭
2、POST 请求方式
1.请求行
请求的方式
请求的资源路径
请求的协议的版本号
2.请求头
Accept:客户端可以接受的数据类型
Accept-Language:客户端可以接受的语言类型
Referer:表示请求发起时,浏览器地址栏中的地址
User-Agent:浏览器的信息
Content-Type:发送的数据类型
Content-Length:发送的数据长度
3.请求体
就是发送给服务器的数据。
七、HTTP状态码
当使用浏览器访问某一个URL,会根据处理情况返回相应的处理状态
通常正常的状态码为2xx,3xx(如200)
如果出现异常会返回4xx,5xx(如404)
状态码首位 已定义范围 分类
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 网关请求超时
八、HTTP协议请求流程分析
用户输入URL (地址链接) (http:/ /ww. baidu.com:80/tools.html)客户端获取到端口及主机名后,客户端利用DNS解析域名,首先客户端的浏览器会先找自身的缓存,如果有解析结束,如果没有客户端会去找host文件,如果host 文件没有的话,客户端会去找本地的DNS缓存服务器,本地的DNS缓存服务器没有的话,缓存服务器会去找根域,根域没有,会返回一个.com. 然后本地缓存服务器会去找顶级域,顶级域没有的话会返回baidu.com.,然后本地缓在服务器会去找二级域,二级域解析完后会返回客户端。客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接。
总结
网页内容由网站内部采集发布的是Web1.0,内容由使用者提供的Web2.0。
POST和GET方法在缓存、安全性、长度限制等方面有区别。