zoukankan      html  css  js  c++  java
  • HTTP解析

    HTTP简介

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

    HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

    HTTP之请求头

    1. 请求头字段用于客户端在请求消息中向服务器传递附加信息,主要包括客户端可以接受的数据类型(MIME类型)、压缩方法、语言以及发出请求的超链接所属页面的URL地址等信息。

    2. 常用请求头:

    Accept:浏览器可接受的MIME类型

    Accept-Charset:浏览器通过这个头告诉服务器,它支持哪种字符集

    Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。可以在浏览器中进行设置。

    Host:初始URL中的主机和端口 Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。

    Connection:当前链接是否保持,如Connection:Keep-Alive

    User-Agent:浏览器类型 Content-Length:表示请求消息正文的长度 Connection:表示是否需要持久连接。如果服务器看到这里的值为"Keep -Alive",或者看到请求使用的是HTTP1.1(HTTP1.1默认进行持久连接)

    HTTP之响应头

    1. 响应头字段用于向客户端传递附加信息

    2. 常用响应头

    Server:apache tomcat指示服务器的类型

    Content-Encoding:与请求报头Accept-Encoding对应,告诉浏览器服务端采用的是什么压缩编码

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

    Content-Language:描述了资源所用的自然语言,与Accept-Language对应

    Content-Type:用来指明发送给接受者的实体正文的媒体类型,如Content-Type:text/html;charset=GBK

    HTTP之状态码

    状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

    1xx:指示信息--表示请求已接收,继续处理
    2xx:成功--表示请求已被成功接收、理解、接受
    3xx:重定向--要完成请求必须进行更进一步的操作
    4xx:客户端错误--请求有语法错误或请求无法实现
    5xx:服务器端错误--服务器未能实现合法的请求

    常见状态码:

    200 OK                        //客户端请求成功
    400 Bad Request               //客户端请求有语法错误,不能被服务器所理解
    401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
    403 Forbidden                 //服务器收到请求,但是拒绝提供服务
    404 Not Found                 //请求资源不存在,eg:输入了错误的URL
    500 Internal Server Error     //服务器发生不可预期的错误
    503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

    HTTP协议是无状态的

    http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态.

     
  • 相关阅读:
    VSTS For Testers读书笔记(20)
    VSTS For Testers读书笔记(16)
    VSTS For Testers读书笔记(18)
    SQL Delta数据库对比工具
    浦东海洋水族馆之行
    [ZZ]买易通与YY搜索宣布进行整合
    Web Service测试工具小汇
    给图片添加水印
    去除A和B数组中的交集
    EF 4.1+MVC3+Jquery Ajax+Json.Net+JqueryUI+IUnitOfWork+Repository 学习DEMO(暂停更新)
  • 原文地址:https://www.cnblogs.com/448aml/p/10438545.html
Copyright © 2011-2022 走看看