zoukankan      html  css  js  c++  java
  • 《HTTP权威指南》学习笔记——HTTP概述

    1.HTTP——因特网的多媒体信使

    HTTP使用的是可靠的数据传输协议,能确保数据在传输过程中不会损坏或混乱。

    2.Web客户端和服务器

    Web服务器(HTTP服务器)根据客户端的请求返回服务端的数据。(动态/静态资源,有着不同的格式)

    2.1媒体类型

    HTTP给Web传输的对象使用MIME类型区分数据格式。

    MIME类型是一种文本标记。

    格式:主要的对象类型/特定的子类型

    • HTML:text/html
    • 普通的ASCII文本:text/plain
    • JPEG图片:image/jpeg
    • gif:image/gif

    2.2URI

    服务器资源名:统一资源标识符(Uniform Resource Identifier,URI)---->网上的邮政地址,在世界范围内唯一标识并定位信息资源

    URI有两种形式:URL和URN

    2.3URL

    统一资源定位符(URL)--->描述一台特定服务器上某资源的特定位置。说明如何从一个精确、固定的位置获取资源。

    URL的格式:方案+地址+资源

    方案:scheme,URL的第一部分,图中的HTTPS协议
    地址:服务器的因特网地址
    资源:Web服务器上的某个资源

    3.事务

    HTTP事务=请求命令+响应结果(通过HTTP报文的格式化数据块进行的)

    3.1方法

    HTTP方法:不同的请求命令,告诉服务器要执行的动作。

    GET,PUT,DELETE,POST,HEAD

    3.2状态码

    HTTP报文返回携带一个状态码,三位数字的代码。

    除了三位数字状态码,还会发送一条解释性的原因短语文本。

    4.报文

    由字符串组成,是纯文本

    HTTP报文分为三部分:起始行+首部字段+主体

    5.连接

    5.1TCP/IP

    TCP提供:

    • 无差错的数据传输
    • 按序传输
    • 未分段的数据流

    5.2连接,IP地址及端口号

    HTTP客户端向服务器发送报文之前,需用IP地址和端口号在客户端和服务器之间建立一条TCP/IP连接
    (类似于给公司办公室某个人打电话---------先拨公司号码(IP地址),再拨分机号(端口号))

    使用Telnet

    Telnet可将键盘连接到某个目标TCP端口。并将TCP端口的输出返回到显示屏上。用于远程终端会话

    6.协议版本

    HTTP协议有几个版本
    HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2.0

    7.Web的结构组件

    • 代理 客户端和服务器之间的HTTP中间实体
    • 缓存 HTTP的仓库,保存常用页面的副本到离客户端近的地方
    • 网关 连接其他应用程序的特殊Web服务器
    • 隧道 对HTTP通信报文进行盲转发的特殊代理
    • Agent代理 发起自动HTTP请求的半智能Web客户端

    7.1代理

    接收并转发客户端的HTTP请求到服务器(可能会修改后转发)

    应用程序就是一个代理,代表用户访问服务器

    7.2缓存

    Web缓存(Web cache)/代理缓存(proxy cache)----->一种特殊的HTTP代理服务器

    7.3网关

    网关(gateway):特殊的服务器,作为其他服务器的中间实体使用。

    用于HTTP流量转换其他的协议。

    7.4隧道

    隧道(tunnel):两条连接之间对原始数据进行盲转发的HTTP应用程序

    HTTP隧道的常见用途:HTTPS连接(HTTP连接承载加密的SSL流量)

    7.5Agent代理

    代表用户发起HTTP连接的客户端程序

    爬虫就是一种自动用户Agent代理

  • 相关阅读:
    datum of data matrix
    data matrix with opensource
    wps出现“文档已被其他应用程序锁定,是否以只读模式打开”
    error MSB3073解决办法
    vc6下dll调试
    往客户机子上装dll时,报缺失mfc42d.dll
    进程通信编码和解码
    java后端选型20200729
    Git安装与使用
    Kitty基于Spring Boot、Spring Cloud、Vue.js、Element实现前后端分离的权限管理系统
  • 原文地址:https://www.cnblogs.com/JohnTsai/p/5180593.html
Copyright © 2011-2022 走看看