19http协议及web基础服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19http协议及web基础服务相关的知识,希望对你有一定的参考价值。

1、web service:

    运行在用户空间

    应用层协议:http、https

    传输层协议:tcp、udp、sctp


2、传输层端口划分:

    0-1023:特权端口,众所周知的,永久的分配给固定的应用使用。

    1024-41951:亦为注册端口,但要求不是特别严格,分配给程序注册为某应用程序使用;如mysql:tcp3306

    41952+:客户端程序随机使用的端口,动态端口,或私有端口。其范围定义在//proc/sys/net/ipv4/ip_local_port_range;

          技术分享图片


3、BSD socket:IPC的一种实现,允许位于不同主机(也可以是同一主机)上的进程之间进行通信,

    socket API:封装了内核中的socket通讯相关的系统调用。


4、TCP FSM:有限状态机

    closed:关闭

    listen:监听

    SYN_SENT:

    SYN_RECV

    establish

    FIN_WAIT1 :分手等待阶段1

    CLOSE_WAIT

    FIN_WAIT2

    LAST_WAIT

    TIME_WAIT

    CLOSED


5、socket类型:

   根据传输层协议划分

    socket_stream:tcp套接字

    socket_dgram:udp套接字

    socket_raw:裸套接字

   

   根据套接字所使用的地址格式(socket domain)划分:

    AF_INET:address family,ipv4

    AF_INET6:address family,ipv6

    AF_unix:同一主机上的不同进程间,基于socket套接字通讯使用的一种地址;unix_sock(不进行向tcp下层封装,而是将进程放在内存中作为一个文件,供其他进程访问通讯)


6、tcp协议的特性:

    ①、建立连接:三次握手

    ②、将数据打包成段,检验和(crc32)

    ③、有确认、重传、超时机制

    ④、排序:基于逻辑号控制

    ⑤、流量控制:滑动窗口算法

    ⑥、拥塞控制:慢启动和拥塞避免算法


7、http:hyper text transfer protocol:应用层协议,是一种文本协议,使用tcp:80端口,

    html:hyper text mark language:超文本标记语言,它是一种编程语言。

    css:cascading style sheet :定义网页样式

    jsjavascript脚本开发语言,客户端脚本(在客户端运行),源超文本文件下载到客户端引擎上运行;和java没有关系


8、wen服务有两种开发技术:

    客户端技术:JavaScript

    服务端技术:php、jsp  (服务端脚本,在服务端运行)


9、http:

    文本协议,意味着传输时需要将html转换成ASCII码传送,图片是二进制存储的,早期是不能用http传输的。


    协议版本:

        http/0.9 :原型版本,功能少且不足、简陋

        http/1.0 :引入了cache、mime、method

            mime:multipurpose internet mail extension:多用途互联网邮件拓展协议;它能够传输非文本信息,对不同格式文件进行编码

            method:GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS...等等

        http/1.1:增强了缓存功能

        http/2.0:

            

    http协议工作模式:

        http请求报文:http request

        http响应报文:http response     

      注意:一次http事物:由一个http request和对应的一次http response组成的事件。


    web资源:web resource,web由(很多)资源组成。

        静态资源:图片、jpg、png、text、js、css、mp3、    

              静态资源无需服务器做出额外处理,客户端请求,服务端直接发送资源

        动态资源:服务端需要通过执行程序做出处理,发送给客户端的是程序的运行的结果,如php、jsp

      注意:一个页面展示的资源可能有多个;每个资源都需要单独请求。


    web资源的标识机制:URL,uniform resource locator:统一资源定位符,用于描述服务器某特定资源的位置。

        URL格式:scheme://server[:port]/PATH/TO/SOMESOURCE

        URL格式示例:http://www.sina.com.cn/index.html

            scheme:指明协议,http、ftp等

            server[:port] :www.sina.com.cn   //默认80端口

            文件路径 :index.html;可省略,默认路径(主页面)

         

10、一次完整的http请求处理过程(服务器端)

    ①、建立或处理连接:接受请求或拒绝请求

    ②、接收请求:接收来自于网络上的主机请求报文中对某些特定资源的一次请求的过程,经过三次握手和四次断开。

    ③、处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息

    ④、访问资源:获取请求报文中请求的资源(一般是到硬盘上查找资源,需要磁盘I/O)

    ⑤、构建响应报文

    ⑥、发送响应报文

    ⑦、记录日志:用于分析用户行文








以上是关于19http协议及web基础服务的主要内容,如果未能解决你的问题,请参考以下文章

读《图解HTTP》有感-(了解web及网络基础)

了解web及网络基础

WEB集群笔记-Web服务和HTTP协议

Apache的基础管理及web优化详解

Django基础一之web框架的本质

Web服务基础