1、什么时网站

  网站就是利用Html工具制作用于展示特定内容的网页集合,网站也是一种软件。

  网站的开发过程需要考虑其完整性、目的性、扩展性和安全性。

2、C/S架构跟B/S架构

  C/S架构:客户端和服务器的结构,需要用户下载专门的客户端来使用。

  B/S架构:浏览器与服务器的结构,访问只需要一个浏览器即可。

3、B/S架构的优点

  由于浏览器以及基于Http的服务器的统一,B/S架构无论是对普通用户还是开发者都有着很大的好处。

  对于普通用户而言浏览器界面的统一性使得用户只要学会了其中叶哥软件的应用,就相当于学会的其他软件的用法。

  对于开发者而言,开发者只需要关注开发的逻辑,其他的一切平台跟框架只需要拿来用即可。

4、B/S网络架构概述

  采用统一的应用层协议HTTP来交互数据

  HTTP采用无状态的短链接,一次请求就是一次数据交互,一般也是对应一个业务逻辑,完成交互断开连接。

  

  浏览器URL请求DSN将域名解析成ip地址,根据ip找到对应的服务器,给服务器发送一个get请求,通过负载均衡系统来分配服务器处理请求,服务器获得数据返回浏览器,浏览器解析数据过程中发现静态资源,再请求CDN,CDN处理用户请求。

  网络构架原则:1)必须要有一个唯一的URL,URL就是统一资源定位符

         2)必须是基于HTTP与服务端交互,这样才能明白你想要请求的数据

         3)数据展示必须是在浏览器中进行。只有浏览器才可以恢复数据原貌。

5、HTTP请求详细过程

  在浏览器地址栏输入URL,DNS将URL解析成ip地址,根据ip地址及端口号与远程服务器建立socke连接,浏览器根据URL组装一个get请求的请求头,通过outputStream.write发送给目标服务器,服务器等待inputStream.read返回数据,最后断开连接。

  发起一个HTTP请求的过程就是一个建立socket请求的过程。

  get请求的格式:

  GET /路径/文件名  HTTP协议号

  请求头

6、HTTP

  HTTP header:HTTP Header控制着互联网上成千上万的用户数据传输,最关键的时,他控制着浏览器的渲染行为和服务器的执行逻辑

  1) 常见的HTTP请求头:

  Accept-charset:用于指定客户点接收的字符集,例:Accept-Charset: utf-8, iso-8859-1;q=0.5

  Accept-Encoding:用于指定可接受的内容编码,例:Accept-Encoding:gzip,deflate         DEFLATE是一个无专利的压缩算法,它可以实现无损数据压缩,有众多开源的实现算法。

             GZIP是使用DEFLATE进行压缩数据的另一个压缩库。

  Accept-Language:用于指定一种自然语言,例:Accept-Language:zh-cn

  Host:用于指定请求资源的主机和端口号,例:Host:www.cnblog.com

  User-Agent:客户端将它的操作系统,浏览器和其他属性告诉服务器,例:User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0

  Connection:当前连接是否保持,例:Connection: keep-alive

  2) 常见的HTTP响应头

  Server:使用的服务器名称,例:server: Tengine

  Content-type:用来指明发送给接收者的实体正文媒体类型,例:Content-type:text/html;charset=utf-8;

  Content-Encoding:与请求头相对应,用来和告诉浏览器,服务端常采用了什么压缩编码

  Content-Length:指明实体正文的长度,用以字节方式存储的十进制数字来表示

  Keep-Alive:保持连接的时间,例:Keep-Alive:timeout=5,max=120

  3)常见的HTTP状态码

  200:客户端请求成功

  302:临时跳转,跳转的地址通过location指定

  400:客户端请求有语法错误,不能被服务器识别

  403:服务器收到请求,但拒绝提供服务

  404:请求的资源不存在

  500:服务器发生不可预期的错误

 

《深入分析Java web技术内幕》读书笔记(一)的更多相关文章

  1. 《html5 从入门到精通》读书笔记(一)

    今天看了<html5 从入门到精通>这本书,感觉阅读下来很舒心,不像阅读其他书籍很揪心.html增加的知识点,我觉得非常有价值,看完几章记录了一些内容,不但能巩固,也为下次遗忘知识点做好准 ...

  2. HTML5从入门到精通(明日科技) 中文pdf扫描版

    HTML5从入门到精通(明日科技) 中文pdf扫描版

  3. HTML5从入门到精通(千锋教育)免费电子版+PDF下载

    本书是HTML5初学者极好的入门教材之一,内容通俗易懂.由浅入深.循序渐进.本书内容覆盖全面.讲解详细,其中包括标签语义化.标签使用规范.选择器类型.盒模型.标签分类.样式重置.CSS优化.Photo ...

  4. Unity Shader入门精要读书笔记(一)序章

    本系列的博文是笔者读<Unity Shader入门精要>的读书笔记,这本书的章节框架是: 第一章:着手准备. 第二章:GPU流水线. 第三章:Shader基本语法. 第四章:Shader数 ...

  5. Oracle从入门到精通----学习笔记

    书名:<Oracle从入门到精通:视频实战版>秦靖.刘存勇等编著 第4章 SQL基础 1.SQL语言分类 数据定义语言 --- DDL,Data Definition Language 数 ...

  6. MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...

  7. Unity Shader入门精要读书笔记(二)UnityShader概述

    第三章<UnityShader概述>的读书笔记: 1.Unity Shader模板提供了几种选择: 标准光照模型(新添加的基于物理的渲染方法) 不含光照的基本的顶点.片元着色器 屏幕后处理 ...

  8. 《html5 从入门到精通》读书笔记(二)

    接着上面继续记录笔记,这次要记的知识点比较多...记录下我认为比较重要的东西. 一.表单属性 1.autocomplete属性 该属性规定form或input域应该拥有自动完成功能. <form ...

  9. 《html5 从入门到精通》读书笔记(三)

    二.标签详解 标签 描述 4 5 <form> 定义表单. 4 5 <h1> to <h6> 定义标题1到标题6. 4 5 <head> 定义关于文档的 ...

  10. 《HTML5 CANVAS基础教程》读书笔记

    一.HTML5简介 1.HTML5新特性 1)结构元素:section,header,hgroup,footer,nav,article,aside, 2)内容元素:figure,figcaption ...

随机推荐

  1. Varnish 初识

    基础 Varnish Cache是​​一种Web应用程序加速器,也称为缓存HTTP反向代理.您将它安装在任何HTTP的服务器前面,并将其配置为缓存内容.Varnish Cache非常非常快.它通常可以 ...

  2. 详解设计模式在Spring中的应用

    设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆. 今天,在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设 ...

  3. mysql批量更新数据

    CREATE PROCEDURE `sp_update_temp_data`( out po_returnvalue ) ) leave_top:BEGIN #Routine body goes he ...

  4. PHP内核深入研究 - 数组及其遍历顺序

    事实上,广义上来讲,PHP就是C语言应用在Web上的一个模板,PHP中smarty模板用得比较多,就好比JSP是Java Servlet的模板一样(喔,对了,JSP中有个JSTL标签),复杂的模板语法 ...

  5. HTML5中自定义属性(data-*)

    在HTML元素上直接添加以‘data-’开头的属性,例如 <div data-mydata='this is my data'></div> 操作它的方式有classList ...

  6. Mac提醒休息软件Stretchly(很好用)

    github地址: https://github.com/hovancik/stretchly 安装就不介绍了,他的自定义时间目前还是有点麻烦,介绍一下. 配置文件是 ~/Library/Applic ...

  7. js去除数组里重复的条目,返回被删除的条目的新数组

    我爱撸码,撸码使我感到快乐! 大家好,我是Counter. 今天给大家分享的是利用js进行数组的去重,还是老样子,该注释的都注释在代码里了 欢迎一起技术探讨,一起成长. 效果如下: 代码给出: // ...

  8. 一些Java基础方面问题的总结

    1.Overloaded的方法是否可以改变返回值的类型? 答案:可以. overload是重载,overloaded是什么?重载的过去式?我还以为是我没见过的注解,也没有给限定条件,代码测试一下. p ...

  9. C++第三章复习与总结(思维导图分享)

    在完成了第三章的学习后,为了便于日后的复习整理,我制作了一张思维导图,有需要的可以自取. 函数的定义与使用 带默认值的函数 在C++中我们可以为函数添加默认的参数值,在调用时可不传入或部分传入参数,为 ...

  10. VR外包商:最新WEARVR游戏下载

    WEARVR每周下载Top10——第二弹 还在为寻找好玩的VR游戏而烦恼吗?我们有来自WEARVRapp市场(一个虚拟现实体验的跨平台仓库)上周下载排行榜前十的游戏.   10. Stunt Kart ...