HTTP请求头和响应头

本文详细解析了HTTP协议中的请求数据包和响应数据包的结构,包括请求行、请求头、请求体以及响应状态行、响应头和响应体。同时,阐述了GET和POST方法的主要区别,如数据传输位置、URL长度限制、安全性及用途。通过对HTTP基础概念的理解,有助于深入掌握网络通信原理。
摘要由CSDN通过智能技术生成

http协议
请求数据包
    1.请求行:请求类型/请求资源路径、协议的版本和类型
    2. 请求头:一些键值对,一般由w3c定义,浏览器和web服务器之间都可以发送,表示某种特定的含义
    3. 空行:请求头和请求体之间用一个空行隔开
    4. 请求体:要发送的数据 例如:userNma=123&password=123&returnUrl=//...


例如:
    #Request Headers
    POST/address     HTTP/1.1
    Host:localhost:8030
    Connecttion:keep-alive
    Content-Length:16
    Pragma:no-cache
    Cache-Control:no-cache
    Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
    User-Agent:Mozilla/5.0
    Content-Type:application/x-www-form-urlencoded
    Accept:*/*
    Accept-Encoding:gzip,deflate,br
    Accept-Language:zh-CN,zh;q=0.9
    
    #From Data
    name = name&age = 11
    
    含义:
        Accept:指浏览器或者其他客户端可以接收的MIME文件格式,Servlet可以根据它判断并返回适当的文件格式
        User-Agent:是客户端的浏览器的名称
        Host:对应网址URL中的Web名称和端口号
        Accept-Language:指出浏览器可以接收的语言种类,如en,或者en-us,指英语
        connection:用来告诉服务器是否可以维护固定的http连接,http1.1使用keep-Alive为默认值,http1.0使用close为默认值,当浏览器需要下载多个文件时,用keep-alive不需要每次都建立连接
        Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能
        Referer:表明产生请求的网页URL,这个属性可以跟踪http请求是从哪个网页而来
        Content-Type:用来表明request的类型内容
        Accept-Charset;指出浏览器可以接收的字符编码
        Accept-Encoding:指出浏览器可以接收的字符编码方式,编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度,浏览器在收到web响应之后先解码,然后在检查文件格式
        
get和post的区别
    1.get直接在浏览器中输入,post需要工具发送请求
    2.get用url或者cookie传参,post将数据放在body(table)中
    3.get的URL由长度限制,post在table中写入,没有大小限制
    4.post比get更安全,因为post的数据都在table中,而get的数据在URL中,可以被看见
    5.get用来获取数据,post用来发送数据
    
响应数据包
    1. 状态行:协议版本,数字形式的状态码和状态描述,各元素之间以空额分割
    2. 响应头:包含服务器类型、日期、长度、内容类型等
    3. 空行:响应头和响应体之间用空行隔开
    4. 响应正文:程序处理后果,浏览器会将实体内容中的数据取出来,生成相应的页面
    例如:
        HTTP-Version Starus-Code Reason-Phrase 
        Server:Apache Tomcat/5.0.12
        Date:Mon,60ct2003 13:13:33 GMT
        Content-Type:text/html
        Last-Moified:Mon,6 Oct 2003 13:23:42 GMT
        Contnet-Length:112
        
        name = name&age = 11


        
    1.状态行
        格式:HTTP-Version Starus-Code Reason-Phrase CRLF。其中,HTTP-Version表示服务器的HTTP协议的版本;Starus-Code表示服务器返回的响应状态码;Reason-Phrase表示状态码的文本描述。状态码由三位数字组成,第一个数字定义了响应的类别。
        1xx:指示信息-表示请求已接收,继续处理
        2xx:成功-表示请求已被成功接收、理解、接受
        3xx:重定向-要完成请求必须进行更进一步的操作
        4xx:客户端错误-请求语法错误或者请求无法实现
        5xx:服务器错误-服务器未能实现合法的请求
    2.响应头
        喝请求报文的请求头类似。响应头也由键值对组成。响应头域允许服务器传递不能放在状态行的附加信息,这些主要描述服务器的信息和Request-URL进一步的信息。
        Server:包含处理请求的原始服务器的软件信息
        Date:服务器的日期
        Content-Type:返回的资源类型(MIME)
        Connecttion:连接方式
        close:连接已经关闭
        keep-alive:保持连接,在等在本次连接的后续请求
        Cach-Control:缓存控制
        Expires:设置过期时间
        Set-Cookie:设置Cookie信息
    3. 空行
        作为内容分割,表示以下不再是响应头的内容
    4.响应体
        这个是服务器返回给客户端的响应信息
    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值