zoukankan      html  css  js  c++  java
  • 读后感(一) web运作原理探析

    tomcat与java web开发技术详解之web运作原理探析

    成为一名web开发工程师,首先要明白web运作原理,原理可以带我们更好的去解决底层问题,怎么去理解现在流行的开源框架,甚至如何去自己写一个框架。

    1 什么是web?

    web是网络上使用最广泛的分布式框架。它采用了客户端/服务器的通信模式,客户端可以是浏览器,通过浏览器它就可以连接服务器,访问许多服务器浏览各种各样的网站,这也是为什么说web是一种分布式的运用框架了。

    2 URL

    我们访问一个网站的时候会在浏览器显示一个网站地址,比如:http://www.claire.com/java/user/index.html;那么我们该如何理解这个URL呢?

    它是由    应用层协议(如http、ftp等)+域名或者主机ip+资源所在路径/文件名      组成的。再看看刚刚的url是不是这么回事呢?

    3 HTTP

    HTTP,超级文本传输协议。它严格规范了http请求和http响应的数据格式,只要http服务器和客户端之间遵守这种协议,双方就可以很顺利的交流,所以web客户端不一定是浏览器,web服务器也可以运用很多种高级语言去编写。

    客户端和服务器通讯过程需要经历四个步骤:

    • 客户端和服务器建立TCP连接
    • 客户端发送http请求给服务器
    • 服务器响应http请求并发送给客户端
    • 关闭TCP连接

    3.1 HTTP请求格式

    根据http请求协议,它分为三个部分:请求行,请求头和请求正文。

    请求行:由请求方法(如get,post,put,delete等),url以及http版本组成。

    请求头:请求头包含非常多的消息,例如声明浏览器的类型,请求正文的长度、类型等等。

    请求正文:http规定请求正文和请求头之间有两个空行。空行非常重要,这代表着请求头结束,请求正文的开始。请求正文可以是post表单提交的信息,也可以是更多的内容。

    3.2 HTTP响应格式

    根据http响应协议,它分为三个部分:响应行,响应头和响应正文。

    响应行:由http协议的版本,状态码和描述组成

    响应头:响应头也可以包含许多信息,例如服务器信息,响应正文的类型和长度等。

    响应正文:响应正文是返回给客户端的信息,可以是html的文档,也可以是其它类型的文件,如rar,doc等,这些文件在ie浏览器获得解析的时候会提示下载。

    3.3 MIME

    MIME类型是正文部分的类型,由http规范的正文部分格式,只有遵循这个类型才可以保证双方看得懂发送信息。

    文件扩展名 MIME类型
    未知数据类型 content/unknown
    .bin  .exe   .o  .a  .z application/octet-stream
    .pdf application/pdf
    .zip application/zip
    .tar application/x-tar
    .gif application/gif
    .jpg  .jpeg image/jpeg
    .html  .htm text/html
    .text  .c  .h   .txt  .java text/plain
    .xml application/xml

    4 SOAP

    SOAP(Simple Object Access Protocol  简单对象访问协议),它是web服务器采用的一种通信协议,它规定客户端和服务器之间要使用xml语言进行通信。

    • 当html发送请求的时候,客户端协议连接器首先把请求包装成一个xml格式的SOAP请求,随后它把SOAP包装成了http请求的正文部分,最后客户端协议连接器发送http请求给web服务器。
    • web服务器获得http请求以后,服务端协议解析器把http请求正文部分取出,获得了SOAP请求,SOAP拥有最原始的正文数据,web服务器解析它并且响应。
    • web服务器把原始响应封装成SOAP响应结果,服务端协议解析器把它包装到http响应正文里面,最后服务端协议解析器把http响应发送给客户端。
    • 客户端协议连接器获取了http响应以后,取出http响应正文部分,即SOAP响应结果,取出最原始的响应数据并且发送给客户端。
  • 相关阅读:
    归并排序(Merge Sort)
    AtCoder AGC035D Add and Remove (状压DP)
    AtCoder AGC034D Manhattan Max Matching (费用流)
    AtCoder AGC033F Adding Edges (图论)
    AtCoder AGC031F Walk on Graph (图论、数论)
    AtCoder AGC031E Snuke the Phantom Thief (费用流)
    AtCoder AGC029F Construction of a Tree (二分图匹配)
    AtCoder AGC029E Wandering TKHS
    AtCoder AGC039F Min Product Sum (容斥原理、组合计数、DP)
    AtCoder AGC035E Develop (DP、图论、计数)
  • 原文地址:https://www.cnblogs.com/claireyu1219/p/5917990.html
Copyright © 2011-2022 走看看