我是靠谱客的博主 美丽钢笔,最近开发中收集的这篇文章主要介绍Web相关概念一. 软件架构二. 资源分类三. 网络通信三要素四. Web Server五. HTTP 协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Web相关概念

  • 一. 软件架构
  • 二. 资源分类
  • 三. 网络通信三要素
  • 四. Web Server
  • 五. HTTP 协议
    • 1. 定义
    • 2. 请求消息数据格式
    • 3. 响应消息数据格式

一. 软件架构

1.Client/Server:客户端/服务器端

2.Browser/Server:浏览器/服务器端

  • 优点
    • 客户端使用统一的 Browser
    • 服务端基于统一的 HTTP

二. 资源分类

1.静态资源:每个用户访问相同的资源,得到的结果相同。被访问后可以直接返回,被浏览器解析。

  • HTML、CSS、JavaScript

2.动态资源:每个用户访问相同的资源,得到的结果可能不同。被访问后要先转换为静态资源再返回。

  • Servlet / JSP、PHP、ASP

三. 网络通信三要素

1.IP(Internet Protocol):电子设备(计算机)在网络中的唯一标识。

2.端口(port):应用程序在计算机中的唯一标识。取值范围:0~65535

3.传输层协议:规定了数据传输的规则。

  • TCP(Transmission Con trol Protocol,传输控制协议):面向连接,安全,三次握手 & 四次挥手,速度慢。
  • UDP(User Datagram Protocol,用户数据报协议):无连接,不安全,速度快。

四. Web Server

1.服务器:安装了服务器软件的计算机,性能(硬盘、内存、CPU)比较好。

2.服务器软件:接收用户请求,处理请求,做出响应。

3.Web 服务器软件:部署 Web 项目,让用户通过浏览器来访问,也称为 Web 容器。

4.常见的 Java 相关 Web 服务器软件

  • webLogic:Oracle,大型的 JavaEE 服务器,支持所有 JavaEE 规范,收费。
    • JavaEE:Java 语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范。
  • webSphere:IBM,同上。
  • JBOSS:JBOSS,同上。
  • Tomcat:Apache 基金组织,中小型 JavaEE 服务器,仅仅支持少量的JavaEE 规范,开源,免费。

五. HTTP 协议

1. 定义

1.HTTP:Hyper Text Transfer Protocol,超文本传输协议。

2.传输协议:定义了客户端和服务器端通信时发送数据的格式。

3.特点

  • 基于 TCP / IP 的高级协议
  • 默认端口号:80
  • 基于请求 / 响应模型,一次请求对应一次响应。
  • 无状态:每次请求之间相互独立,不能交互数据。

4.历史版本

  • 1.0:每一次请求响应都会建立新的连接
  • 1.1:复用连接

2. 请求消息数据格式

1.请求行

  • 格式
    请求方式 请求URL 请求协议/版本
    GET /login.html HTTP/1.1
  • 请求方式:HTTP 有7种请求方式,常用的有 GET、POST。
  • GET
    • 请求参数在请求行(URL 后)中
    • 请求的 URL 长度有限
    • 不安全(参数容易暴露)
  • POST
    • 请求参数在请求体中
    • 请求的 URL 长度无限
    • 相对安全

2.请求头:客户端浏览器传递给服务器的一些信息

  • 格式:请求头名称: 请求头值
  • 常见的请求头
    • User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:69.0) Gecko/20100101 Firefox/69.0,浏览器告诉服务器访问使用的浏览器版本信息。
    • Referer:http://localhost:8080/login.html,浏览器告诉服务器当前的请求从哪里来。
      • 作用:防盗链、统计工作

3.请求空行:分割 POST 请求的请求头与请求体

4.请求体(正文):封装 POST 请求的请求参数

5.字符串格式

POST /login.html HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 12
Connection: keep-alive
Referer: http://localhost:8080/login.html
Upgrade-Insecure-Requests: 1
username=hjplz

3. 响应消息数据格式

1.响应行

  • 格式
    响应协议/版本 状态码 状态码描述
    HTTP/1.1 200 OK
  • 状态码:服务器告诉客户端浏览器本次请求和响应的状态,由三位数字组成。
    • 1xx:服务器接收客户端消息,但没有完成接收,等待一段时间后发送。
    • 2xx:成功。e.g. 200
    • 3xx:重定向。e.g. 302(重定向)、304(访问缓存)
    • 4xx:客户端错误。e.g. 404(请求路径没有对应的资源)、405(请求方式没有对应的doXXX方法)
    • 5xx:服务器端错误。e.g. 500(服务器内部出现异常)

2.响应头

  • 格式:响应头名称: 响应头值
  • 常见的响应头
    • Content-Type:text/html;charset=UTF-8,服务器告诉客户端本次响应体数据格式和编码格式。
    • Content-dispostion:服务器告诉客户端以什么格式打开响应体数据。
      • in-line:默认值,在当前页面打开。
      • attachment;filename=xxx:以附件形式打开响应体,e.g. 文件下载

3.响应空行

4.响应体:传输的数据

5.字符串格式

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 101
Date: Tue, 24 Sep 2019 12:53:52 GMT
<html>
<head>
<title>$Title$</title>
</head>
<body>
Hello, response.
</body>
</html>

最后

以上就是美丽钢笔为你收集整理的Web相关概念一. 软件架构二. 资源分类三. 网络通信三要素四. Web Server五. HTTP 协议的全部内容,希望文章能够帮你解决Web相关概念一. 软件架构二. 资源分类三. 网络通信三要素四. Web Server五. HTTP 协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部