热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DNS与HTTP原理及配置

第一章实验思路跟着实验文档学习了解dns域名解析和http超文本传输协议实现条件;第二章实验目的DNS域名解析系统将IP与域名相互转化,使人更好的访问互联网;http则是一个通信协

第一章        实验思路

跟着实验文档学习了解dns域名解析和http超文本传输协议实现条件;


第二章        实验目的

DNS域名解析系统将IP与域名相互转化,使人更好的访问互联网;http则是一个通信协议,需要了解传输内容、类型、状态码等;


第三章        实验步骤

3.1       DNS(domain name service)域名解析系统C/S 53   UDP/TCP



  •   端口号:0-1023    dns(53) ssh(22) telnet(23)http(80)https(443)等,不给使用;

  •  1024-49151   注册使用;

  •   49152 -65535 私有;

  • 官方 应用与端口组合记录在IANA的端口分配列表中

技术图片

 

 

 



  •   DNS服务器:负责具体解析域名到地址的服务器;

  •   主DNS服务器:负责解析工作的服务器;

  •   从DNS服务器:从主复制解析数据库,监听;

  •   缓存DNS服务器:为了增加访问效率,当访问过某个网站并得到其IP后,会将其域名和IP缓存下来;


3.1.1           TCP传输控制协议:面向连接的,安全的,全双工的协议

Tcp/ip五层协议(也有说四层的,主要区别在于物理层和数据链路有没有划分到一起)

物理层、数据链路层、网络层、传输层;(这四层可以理解为通信子层)

应用层;(资源子层)


3.1.2           UDP用户数据报协议:面向无连接的,不安全的,全双工的协议

UDP(User Datagram Protocol);

udp提供无需建立连接就可以发送封装的 IP 数据包;这也是与tcp不同之处(tcp需要三次握手四次挥手,可以说tcp是安全的连接,缺点这是这里,他没有udp传输数据快);

另外tcp和udp都是处于传输层(第四层);


3.1.3          本地域名解析

       Linux:配置文件 /etc/hosts

       window:%WINDOWS%system32/drivers/etc/hosts

技术图片

 

 

 技术图片

 

 

 

补充一点:

127.0.0.1=本地自定义域名=本机IP地址=localhost


3.1.4           DNS查询类型

递归查询:客户端只发一次请求,要求对方给出最终结果;返回的结果只有两种:查询成功或查询失败.;

迭代查询:客户端发出一次请求,对方如果没有授权回答,它返回一个其他名称服务器列表,客户端再向列表服务器发送请求,知道它得到最终结果;又称作重指引,返回的是最佳的查询点或者主机地址.;


3.1.5         解析类型,相关命令:dig(较为强大)、nslookup、host等;

正向解析:根据域名查询IP地址;

反向解析:根据IP地址查询域名;

技术图片

 

 

 技术图片

 

 

 


3.1.6          dig    发送域名查询信息包到域名服务器

dig -t A  www.baidu.com   解析域名对应ipv4地址

dig  -t A www.baidu.com +trace  跟踪解析过程

技术图片

 

 

 


3.1.7          nslookup 交互式命令,查询域名

技术图片

 

 

 


3.1.8           host -t A www.baidu.com

技术图片

 

 

 


3.2       http:hyper text transfer protocol (超文本传输协议),tcp/80

html:超文本标记语言,是一种创建网页的编程语言, 运行在浏览器,由浏览器解析;

一般书写类型为:

  

    

    

其中可以插入js脚本、php代码、css层叠样式表、图片、其他文件等;

Js语句类型: 写在里面就行;

Js标签也可以识别为php类型:

技术图片

 

 

Js也是一门编程语言,基于c语言和java的格式吧(我自学过一些,我是这么理解的);

那么js语句在html中,可以写在标签中;主体中,以事件形式写在标签里:

点击

补充:js严格区分大小写,对于一些函数、标签是大小严格区分的;

技术图片

 

 


3.2.1           工作机制:

     http 请求

     http 响应


3.2.2           URI(Uniform Resource Identifier)

URI:统一资源标志符,用来标识抽象或物理资源的一个紧凑字符串

URL(locator):统一资源定位符,用户描述某一个服务器特定资源位置

Scheme://Server:port/path

http://www.auscoo.com/images/logo.jpg

URN:Universal Resource Nam 统一资源名称通过特定命名空间中的唯一名称或ID来标识资源。


3.2.3           HTTP版本

      HTTP 0.9 原型版本

      HTTP 1.0 第一个广泛使用的版本,MIME

      HTTP 1.1 增强 (在浏览器上比较通用)


3.2.4           HTTP 请求过程:

     1. 建立连接,接收请求

     2. 接收请求(web I/O)

     3. 处理请求,解析请求报文,

              method  URL  VERSION

                  GET 从服务器获取一个资源

                  HEAD 只获取响应首部

                  POST 向服务器发送数据

                  PUT 上传资源存储到服务器

                  DELEATE 删除指定资源

                  trace 追踪

                  options 对指定资源使用特定的请求方法

     4. 访问资源,获取请求包中的资源

              DOCROOT 

                     /srv/local/images/logo.jpg

             http://www.auscoo.com/images/logo.jpg

 

     5. 构建响应报文

     6. 发送响应报文

     7.记录日志


3.3      Web服务端:

操作系统+web服务+解释执行环境+数据库服务=web服务端

目前流行的架构:

Windows server+ IIS + ASP(.NET) +  SQL server  = .NET

LINUX      +Apache+  PHP   +   Mysql     = LAMP

UNIX/windows+ Tomcat + JSP   +   Oracle    = J2EE

搭建一个简易的web服务端:

Windows10 + Apache + Mysql + PHP  =  wamp


3.3.1           统一资源定位符URL:

http:// user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1



  1. 协议,方案名 :http、ftp、file、mailto……;

  2. 登录信息(认证)

  3. 服务器地址

  4. 服务器端口号

  5. 带层次的文件路径

  6. 查询字符串

  7. 片段标识符


3.4       HTTP状态码详解

状态码:

1**:信息,服务器收到请求,需要请求者继续执行操作;

2**:成功,操作呗成功接受并处理;

3**:重定向,需要进一步的操作以完成请求

4**:客户端错误,请求包含语法错误或无法完成请求

5**:服务器错误,服务器在处理请求的过程中发生了错误

推荐个详细网址


3.5     HTTP请求头字段:

1. User-Agent: 告诉网站服务器,访问者是通过什么工具来请求的;

2. X-Forwarded-for: 用来表示HTTP请求段真实IP,被各大HTTP代理、负载均衡等转发服务广泛使用;

3. X-Client-IP: 同X-Forwarded-for;

4. Accept-Language: 用来说明访问者希望采用的语言或语言的组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容;

5. COOKIE: 辨认用户状态及身份;

6. Accept-Encoding: 是浏览器发给服务器,声明浏览器支持的编码类型;

7. Content-type: 用于表明发送数据流的类型,服务器根据编码的类型使用特定的解析方式,获取数据流中的流量;

8. Referer:当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的;

 

DNS与HTTP原理及配置



推荐阅读
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • Jquery 跨域问题
    为什么80%的码农都做不了架构师?JQuery1.2后getJSON方法支持跨域读取json数据,原理是利用一个叫做jsonp的概念。当然 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
诚实宝贝2002
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有