zoukankan      html  css  js  c++  java
  • HTTP协议

       这两天看了 小坦克的HTTP协议详解(http://www.cnblogs.com/TankXiao/category/415412.html )收益匪浅,之前看Cookie的时候看到一句话:Cookie是在客户端与服务器进行连接之后放入请求消息的头部发送的服务端,终于了解了什么是Head,什么是body,总结一下,以备不时之需。

       1.HTTP协议是无状态协议,也就是服务端无法区分2个请求是否来自同一浏览器,来自浏览器的上一次请求和下一次请求没有任何关系。为了解决这一问题,引入了Cookie机制,通过在客户端存储一小段文本(作为客户端的标志)来辨别是否为同一客户端。

       2.客户端创建完成于服务端的连接之后,会拥有一条TCP连接,至于是否在请求结束之后关闭这条连接,取决于服务器(Apache,nginx)的配置文件,apche的配置文件中为httpd.conf中keepAlive 为on 或者 为off

      3.HTTP消息分为客户端到服务端的Request消息和服务器到客户端的Response消息,这2种消息的结构各分为3部分分别如下:

         Request消息结构:                                                                          Reponse消息结构:

                   请求行: Method path HTTP/version-number          响应行:HTTP/version-number 状态码 提示信息

            请求头部:                                                                            响应头部:

                       请求主体:                                                                          响应主体:

            注释:1) Request消息结构中的Method方法一般为平时所用的POST或者GET方法,POST和GET方法的区别参见:http://www.cnblogs.com/xuxu1390/articles/1080058.html

       上实例,利用Chrome浏览器对http://www.cnblogs.com/进行抓包,打开Chrome,按F12按键,点击Network选项,地址栏输入http://www.cnblogs.com/,如下图:

                  

                点击Name栏的博客园网址,就能看到此次访问客户端和服务端进行Request消息和Response消息的头部信息如下:

              

          头部中各个字段的含义参考:http://www.cnblogs.com/li0803/archive/2008/11/04/1324747.html

  • 相关阅读:
    函数中的参数说明
    向脚本传递参数
    声明变量类型,数据类型转换
    获取脚本所在目录
    CSV输入输出
    判断计算机是否可以ping通
    REST风格框架:从MVC到前后端分离***
    angularjs + springmvc 上传和下载
    JDBC进行简单的增删改查
    关于有时候导入maven项目时候报错(有红色叹号,类中导入的包提示"the import java.util cannot be resolve,")
  • 原文地址:https://www.cnblogs.com/Jqxing/p/3300710.html
Copyright © 2011-2022 走看看