1.何为WWW?

  • WWW是环球信息网的缩写,常简称为Web
  • 分为Web客户端和Web服务器程序,WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面,是一个由许多互相链接的超文本组成的系统,通过互联网访问
  • 在这个系统中,每个有用的事物,称为一样“资源”
    • 并且由一个全局“统一资源标识符”(URI)标识
    • 这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源
  • HTTP(超文本传输协议)是基于TCP的连接方式进行网络连接
  • HTTP/1.1版本中给出一种持续连接的机制(长链接)
  • 绝大多数的Web开发,都是构建在HTTP协议之上的Web应用

2.HTTP分层

1.整体

请添加图片描述

2.细节

请添加图片描述

3.DNS?

请添加图片描述

4.协议之间是如何协同运作的?

请添加图片描述


3.Http相关概念

  • 目前主流服务器使用的是http/1.1版本,但是本项目为了简化代码,按照http/1.0来完成项目

1.特点

  • 客户/服务器模式(B/S/C/S)
    请添加图片描述

  • 简单快速,HTTP服务器的规模小,因而通信速度很快

  • 灵活,HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记

  • 无连接,每次连接只处理一个请求

    • 服务器处理完客户的请求,并收到客户的应答后,即断开连接
    • 采用这种方式可以节省传输时间 (http/1.0具有的功能,http/1.1兼容)
  • 无状态

    • http协议每当有新的请求产生,就会有对应的新响应产生,协议本身并不会保留你之前的一切的请求或者响应
    • 这是为了要更快的处理大量的事物,保证协议的可伸缩性
  • 可是,随着web的发展,因为无状态而导致业务处理变得棘手起来,比如保持用户的登录状态

    • http/1.1虽然也是无状态协议,但是为了保持状态的功能,引入了Cookie和Session技术

2.URI && URL && URN

  • URI是Uniform Resource Identifier,统一资源标识符,用来唯一的标识一个资源
  • URL是Uniform Resource Locator,统一资源定位符,他是一种具体的URI
    • 即:URL可以用来标识一个资源,而且还指明了如何locate这个资源
  • URN,Uniform Resource Name,统一资源命名,是通过名字来标识资源,比如MAILTO:java-net@java.sun.com
  • URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式,URL和URN都是一 种UR
  • URL是URI的子集,可以理解成URL是一种特殊类型的URI,包含了如何获取指定资源
    • 任何东西,只要能够唯一地标识出来,都可以说这个标识是URI
    • 如果这个标识是一个可获取到上述对象的路径,那么同时它也可以是一个URL
    • 但如果这个标识不提供获取到对象的路径,那么它就必然不是URL
  • 示例:
    • URI: /home/index.html
    • URL: www.xxx.com:/home/index.html

3.HTTP URL格式

  • 格式:http://host[":"port][abs_path]
    • http表示要通过HTTP协议来定位网络资源
    • host表示合法的Internet主机域名或者IP地址,本主机IP:127.0.0.1
    • port指定一个端口号,为空则使用缺省端口80
    • abs_path指定请求资源的URI
    • 如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成
      • 虽然浏览器默认会添加/,但是依旧没有告知服务器,要访问什么资源
      • 此时,默认返回对应服务的首页
  • 例子:
    • 输入: www.baidu.com,浏览器自动转换成:http(s)://www.baidu.com/
    • 一个较为完整的http请求:https://github.com/DieSnowK/Study

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐