搜索

Http协议

Oct 13, 2016 pm 04:44 PM
http协议

一、Http协议的概述

  1、HTTP是什么?超文本传输协议。
  2、描述客户端和服务器端的数据标准,该协议由W3C维护和管理。
    版本:
    HTTP1.0:每次发出请求都需要建立网络连接
    HTTP1.1:(主流)在一次网络连接上发出多次请求和得到多次响应。多了一些头。

  3、明确:浏览器遇到以下标记会自动发出请求

    

    
    Http协议

二、Http协议的组成

  1、请求部分

1.png

 2、响应部分

1.png

三、请求部分详解

  1、请求行:
    GET /app1/1.html HTTP/1.1
    GET:请求方式。
    常用的请求方式:GET(默认的)、POST、HEAD、OPTIONS等
    GET:默认的
    http://localhost:8080/app1/1.html?username=abc&password=123
    提交的数据显示出来了,相对不安全,协议的第一行有长度限制,    (有请求数据时推荐)POST:可以通过


    username=abc&password=123
    提交的数据在请求正文中的,相对安全,长度没有限制。

    /app1/1.html :请求的资源地址。(URI)
    URL:协议+主机:端口+资源地址
    http://localhost:8080/app1/1.html

    HTTP/1.1:客户端浏览器使用的协议的版本。

  2、请求消息头:(做好笔记,记住常用的头)
    作用:向服务器端传递附加信息(暗号指令)
      Accept:告知服务器,客户端可以接受的数据类型(MIME类型)
    文件系统:通过文件的扩展名区分不同的文件的。txt jpeg
    MIME类型:大类型/小类型。 txt--->text/plain html---->text/html js---->text/javascript (具体对应关系:Tomcat\conf\web.xml)
      Accept-Encoding:告知服务器,客户端可以接受的压缩编码。比如gzip
    Accept-Language:告知服务器,客户端支持的语言。
    Referer:告知服务器,从哪个页面过来的。

1.png

    作用:统计广告的投放效果;防止盗链。
    Content-Type:告知服务器,请求正文的MIME类型
    默认类型:application/x-www-form-urlencoded(表单enctype属性的默认取值)
    具体体现:username=abc&password=123
    其他类型:multipart/form-data(文件上传时用的)
    If-Modified-Since:告知服务器,当前访问的资源,缓存中的文件的最后修改时间。
    User-Agent:告知服务器,浏览器的类型
    Content-Length:请求正文的数据长度
    Cookie:(*****重要)会话管理有关

  3、请求正文:
    数据能提交到服务器,表单中的输入域必须有name属性值
    POST请求是才有正文
    username=abc&password=123

四、响应部分详解

   1、响应部分详解
     响应行:
      HTTP/1.1 200 OK
      HTTP/1.1 :说明服务器端用的协议版本
      200 :响应状态码
      1xx 2xx 3xx 4xx 5xx
      2xx:处理完毕
      4xx:请求有误
      5xx:服务器有误
      记住常用的响应码:
      200:一切正常
      302/307:请求重定向
      304:服务器上的资源没有发生改变
      404:访问的地址不存在
      500:服务器端错误
      OK:响应吗描述

   2、响应消息头:
      作用:服务器端向客户端传递的附加信息(暗号指令)
      Location:告知客户端,你去访问的地址。
      和302/307实现请求重定向
      Content-Encoding:告知客户端,响应正文使用的压缩编码(gzip)
      Content-Length:告知客户端,响应正文的长度
      Content-Type:告知客户端,响应文正的MIME类型。默认text/html
      Refresh:告知客户端,定时刷新
      Content-Disposition:告知客户端,用下载的方式打开
      attachment;filename=23.jpg
      Set-Cookie:(*****)会话有关
      Expires: -1 控制时间的


      Cache-Control: no-cache (1.1) 
      Pragma: no-cache (1.0)
      三头一块用,用于告知浏览器,不要缓存。


    3、响应正文:
      浏览器解析的正文内容,右键查看源码一样的。


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。