1、HTTP(Hypertext Transfer Protocol,超文本传输协议)是在万维网上进行通信时所使用的协议方案,HTTP是应用层协议,无需关心网络通信的细节,细节交给了传输层协议TCP/IP,HTTP协议位于TCP的上层,HTTP使用TCP来传输其报文数据

2、在客户端向服务器发送报文前,需要用网际协议(Internet Protocol, IP)地址和端口号在客户端和服务器之间建立一条TCP/IP连接,所以需要知道服务器的IP地址及在服务器上运行的特定软件相关的TCP端口号。所以这里延伸出一个问题:浏览器中输入URL后发生了什么?

  (1)浏览器冲URL中解析出服务器的主机名(2)浏览器将主机名通过DNS解析转换成服务器的IP地址(3)浏览器将端口号(如果有的话)从URL中解析出来(4)浏览器建立一条与服务器的TCP连接(5)浏览器向服务器发送一条请求报文(6)服务器向浏览器回送一条响应报文(7)关闭连接,浏览器显示文档

3、几个概念:

(1)资源:web服务器是web资源的宿主。资源可以是静态资源或动态资源。静态资源比如文本文件、html文件、图片、视频等,动态资源比如一些可以根据需要生成内容的软件程序

  媒体类型(MIME):web服务器会为所有HTTP对象数据附加一个MIME类型,浏览器会对不同的MIME类型数据进行相应的处理,比如对于text/html类型会调用html解析器进行解析、通过计算机声卡播放音频文件等

  URI(Uniform Resource Identifier,统一资源标识符):有两种形式(URL和URN),URL(统一资源定位符)是最常见的形式,它描述了如何从一个精确、固定的位置获取资源,URL包括三个部分:方案(scheme)、服务器的因特网地址、服务器的某个资源,URN(统一资源名),是作为特定内容的唯一名称使用的,与资源地址无关,用的不多不赘述

(2)事务:一条HTTP事务由一条请求命令和一个响应结果组成。这种通信时通过名为HTTP报文的格式化数据块进行的。

  方法(HTTP方法):每条HTTP请求报文都包含一个方法,这个方法会告诉服务器要执行什么动作,常见的HTTP方法:GET、PUT、DELETE、POST、HEAD

  状态码:每条HTTP响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码,告知客户端是否请求成功,或者是否需要采取其他动作

(3)报文:HTTP报文都是纯文本,不是二进制代码,包含三个部分:起始行(在请求报文中用来说明做些什么,在响应报文中说明出现了什么情况)、首部字段(每个首部字段都包含一个名字和一个值,用冒号分隔)、主体(可选,请求主体包括发送给服务器的数据,响应主体包括返回给客户端的数据,主体可以包含任何二进制数据,比如图片、视频、音轨、软件程序)

(4)代理:代理位于客户端和服务器之间,接收客户端的HTTP请求,并转发给服务器(可能会对请求进行修改之后转发)

(5)缓存:web缓存或代理缓存是一种特殊的HTTP代理服务器,客户端从附近的缓存下载文档会比远程web服务器下载快得多

(6)网关:网关(gateway)是一种特殊的服务器,通常用于将HTTP流量转换成其他协议

(7)隧道:隧道是在建立起来之后,会在两条连接(HTTP连接和SSL连接)之间对原始数据进行盲转发的HTTP应用程序,常见用途是通过HTTP连接承载加密的安全套接字层(SSL,Secure Sockets Layer)流量,这样SSL流量就可以穿过只允许web流量通过的防火墙了

(8)Agent代理:是代表用户发起的HTTP请求的客户端程序,类型:浏览器、网络蜘蛛、web机器人等

HTTP权威指南读书笔记——第一章(HTTP概述)的更多相关文章

  1. Java核心技术(卷一)读书笔记——第一章(概述)

    1.Java不提供多重继承,通过接口来实现.一个类只能继承一个父类,但是可以同时实现多个接口. 2.Java中的int类型的大小是固定的32位,以避免代码移植时候的不兼容问题.唯一的限制是int类型的 ...

  2. JavaScript权威指南读书笔记【第一章】

    第一章 JavaScript概述 前端三大技能: HTML: 描述网页内容 CSS: 描述网页样式 JavaScript: 描述网页行为 特点:动态.弱类型.适合面向对象和函数式编程的风格 语法源自J ...

  3. JS权威指南读书笔记(一)

    第一章 JavaScript概述 1 JS是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格.   第二章 词法结构 1 JS程序是用Unicode字符集编写的. 2 JS是区 ...

  4. css权威指南读书笔记-第10章浮动和定位

    这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...

  5. Android权威编程指南读书笔记(1-2章)

    第一章 Android应用初体验 1.4用户界面设计 <?xml version="1.0" encoding="utf-8"?> ADT21开发版 ...

  6. HTTP权威指南读书笔记

    HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...

  7. HTTP权威指南阅读记录 - 第一章

    最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔 ...

  8. 《css3实战》读书笔记 第一章 基于CSS需求而编写的HTML.

    笔记说明 <CSS3实战手册第3版(影印版)>可以消除Web设计工作的痛苦,并且带给你:HTML--重新入门.如果你是HTML新手,你会学到如何以CSS友好的方式进行基本页面构造.若你是H ...

  9. 《疯狂Java:突破程序员基本功的16课》读书笔记-第一章 数组与内存控制

    很早以前就听过李刚老师的疯狂java系列很不错,所以最近找一本拿来拜读,再此做下读书笔记,促进更好的消化. 使用Java数组之前必须先对数组对象进行初始化.当数组的所有元素都被分配了合适的内存空间,并 ...

随机推荐

  1. 三、Json方式函数

    一.Json方式函数 // 4. 查看对象信息 console.dir(obj) =>可以显示一个对象所有的属性和方法. var info = { blog: "http://cllg ...

  2. 转载:java面试题(一)

    1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...

  3. 5分钟搞定android混淆(转)

    转自:https://www.jianshu.com/p/f3455ecaa56e 前言 混淆是上线前挺重要的一个环节.android使用的ProGuard,可以起到压缩,混淆,预检,优化的作用.但是 ...

  4. 浅谈maven自动化构建工具

    转载https://blog.csdn.net/zxm1306192988/article/details/76209062 Maven是什么[what] 1.Maven 是 Apache 软件基金会 ...

  5. mongodb重置密码

    1.删除服务,重新创建没有验证的服务 2.关闭服务后修改conf文件auth=false或者 3.重新开启服务后然后进入mongo 查看是否存在用户 use admin db.system.users ...

  6. Windows下JDK安装步骤 + eclipse集成配置

    一.JDK环境配置 1.解压到java目录下 2.路径和上面路径一致 3.配置path路径 4.查看版本 二.Eclipse配置 1.编译版本 2.运行环境 3.默认字集 4.字体大小

  7. 阿里云ssh免密登陆突然无效

    [root@node03 ~]# ssh-copy-id node02 root@node02's password: sh: .ssh/authorized_keys: Permission den ...

  8. API登录验证

    客户端 客户端token加在header头中,通过request发送给服务端 服务端 服务端 通过request.META.get(HTTP_TOKEN)拿到客户端传来的token 然后与服务器事先存 ...

  9. 在angular项目中使用bootstrap的tooltip插件时,报错Property 'tooltip' does no t exist on type 'JQuery<HTMLElement>的解决方法和过程

    在angular4的项目中需要使用bootstrap的tooltip插件. 1. 使用命令安装jQuery和bootstrap npm install bootstrap jquery --save ...

  10. 【已转移】【Java架构:基础技术】一篇文章搞掂:Spring

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------ ...