一. HTTP常见请求头

1. Host (主机和端口号)

2. Connection (连接类型)

3.Upgrade-Insecure-Requests (升级为HTTPS请求)

4. User-Agent (浏览器名称)

5. Accept (传输文件类型)

6.Referer (页面跳转处)

7. Accept-Encoding (文件编码格式)

8. Cookie

9. x-requested-with: XMLHttpRequest (是Ajax异步请求)

二. HTTP请求方法

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法

HTTP 1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和CONNECT方法

GET  请求指定的页面信息,并返回实体主体

HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头

POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源建立和/或已有资源的修改

PUT 从客户端向服务器传送的数据取代指定的文档内容

DELETE 请求服务器删除指定页面

CONNECT  HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

OPTIONS 允许客户端查看服务器的性能

TRACE 回显服务器收到的请求,主要用于测试或诊断

三. URL的形式

形式: scheme: //host[:port#]/path/.../[?query-string][#anchor]

scheme : 协议(例如:http, https, ftp)

host: 服务器的IP地址或域名

port: 服务器的端口(如果是走协议默认端口,80或443)

path:访问资源的路径

query-string: 参数,发送给http服务器的数据

anchor: 锚(跳转到网页的指定锚点位置)

http://localhost:4000/file/part01/1.2.html

四. 浏览器输入url按回车背后经历了哪些?

1. 首先,在浏览器地址栏中输入一串url, 先解析url, 检测url地址是否合法

2.浏览器先查看浏览器缓存--系统缓存--路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有到第三步

3. 在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址

4.浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手

5. 握手成功后,浏览器向服务器发送http请求,请求数据包

6. 服务器处理收到的请求,将数据返回至浏览器

7.浏览器收到HTTP响应

8.浏览器解码响应,如果响应可以缓存,则存入缓存

9.浏览器发送请求获取嵌入在HTML中的资源(html, css, javascript, 图片,音乐...), 对于未知类型,会弹出对话框

10.浏览器发送异步请求

11.页面全部渲染结束

五.  get 喝 post请求的区别

GET和 POST最主要的区别: GET产生一个TCP数据包,POST产生两个

对于GET方式请求,浏览器会把http header 和data一并发送出去,服务器响应200(返回数据)

对于POST,浏览器先发送header,服务器响应100 continue, 浏览器再发送data, 服务器响应200 ok(返回数据)

六. HTTP和HTTPS的区别

HTTP协议传输的数据是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Socket Layer)协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输/身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的主要区别:

1.https协议需要到CA申请证书,一般免费证书较少,需要一定费用

2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

4. http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,比http协议安全

七. 什么是Http协议无状态协议?怎么解决Http状态无状态协议

无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息是它的应答就较快。

无状态协议解决办法: 1. 通过Cookie (客户端保存状态)  2. 通过Session会话保存 (服务器端保存状态)

八 . Http请求报文和响应报文格式

请求报文: a. 请求行 (包括请求方法、URI、HTTP版本信息)

b、请求头部(headers)字段

c、请求内容实体(body)

响应报文: a、状态行 (包括HTTP版本、状态码、状态码的原因短语)

b、响应头部(headers)字段

c、响应内容实体(body)

九. 常见的POST提交数据方式

application/x-www-form-urlencoded (在发送前编码所有字符(默认))

multipart/form-data   (不对字符编码。在使用包含文件上传控件的表单时,必须使用该值)

application/json (消息主体是序列化的JSON字符串)

text/xml (空格转换为 “+” 加号,但不对特殊字符编码)

HTTP 协议相关的更多相关文章

  1. 老李分享:SSL协议相关证书

    老李分享:SSL协议相关证书   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...

  2. Python——电子邮件、Internet协议相关模块

    一.电子邮件相关模块 email:用于处理电子邮件 smtpd:SMTP服务器 base64:Base-16.32.64数据编码 mhlib:处理MH文件格式解析的类 mailcap:mailcap文 ...

  3. Windows网络编程笔记4 -- Winsock 协议相关知识

     Win32平台上的Winsock编程,Winsock是一个与协议无关的接口.以下协议是我们需要了解的: 网络协议的特征包括: 1.  面向消息 2.  面向连接和无线接 3.  可靠性和次序性 4. ...

  4. http 协议相关问题

    http 协议相关问题 来源 https://www.cnblogs.com/lingyejun/p/7148756.html 1.说一下什么是Http协议? 对器客户端和 服务器端之间数据传输的格式 ...

  5. TCP-IP-part7-IP协议相关技术(一)

    仅凭IP是无法完成通信的,需要一些IP的辅助技术.这些技术的包格式可能不一样,但它们都是基于IP地址进行的,都是通过匹配路由表来进行的,只是功能不一样.例如DHCP分配IP地址,它只管通知这条信息,具 ...

  6. USB协议[转]_基本上涵盖了所有最基础的USB协议相关知识。

    背景: 需要使用到USB协议,我一直尝试着去强记这个流程,现在看来,其实不用.看多了,把这个过程具象出来,就牢牢记住了. 正文: 正文转自:http://fangjian0518.blog.163.c ...

  7. http协议相关

    HTTP请求方法 HTTP消息头 HTTP请求头 HTTP响应头 HTTP cookie机制和实现原理 HTTP请求方法 超文本传输协议(HTTP, HyperText Transfer Protoc ...

  8. ARP协议相关介绍

    什么是ARP协议? ARP,即地址解析协议,实现通过IP地址得知其物理地址.在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址.为了让报文 ...

  9. MODBUS协议相关代码(CRC验证 客户端程序)

    Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议.通过此协议,控制器相互之间.或控制器经由网络(如以太网)可以和其它设备之间进行通信.Modbus协议使用的是主从通讯技术,即由主设备主 ...

  10. XMPP协议相关基础概念(Strophe学习笔记)

    相关资料: XMPP官网http://xmpp.org/xmpp-software/libraries/ nginx的转发配置http://mineral.iteye.com/blog/448260 ...

随机推荐

  1. APP数据指标体系分析

    一.APP的数据指标体系主要分为五个维度,包括用户规模与质量.参与度分析.渠道分析.功能分析和用户属性分析. 1.用户规模和质量 用户规模和质量是APP分析最重要的维度,其指标也是相对其他维度最多,数 ...

  2. echarts的bug

    Uncaught Error: Invalide sourceFormat: unknown at assert (util.js:404:15) at mountMethods (dataProvi ...

  3. 使用 Nginx 如何部署 web 项目

    第一步:前往 Nginx 官方 下载 Nginx 资源包,建议下载 Stable version(长期稳定版本)  第二步:将 Nginx 压缩包解压到本地目录中(D:\Tools)  第三步:进入到 ...

  4. RabbitMQ学习第七章:消息确认机制之事务机制

    RabbitMQ消息确认机制之事务机制. RabbitMQ中,我们可以通过持久化数据 解决RabbitMQ服务器异常 的数据丢失问题. 问题:生产者将消息发送出去,消息到底有没有到达RabbitMQ服 ...

  5. LaTex【五】latex导入中文包,支持中文显示

    \documentclass{article} \usepackage{CJKutf8} \begin{document} \begin{CJK}{UTF8}{gbsn} 中文样例,UTF-8编码,字 ...

  6. 打卡node day01--基础和fs内置模块

    一, 检查 node 版本 node -v 或 node --version 二,检查安装过的node 版本(nvm node 版本管理工具  安装链接 参考百度) nvm ls 三,切换node 版 ...

  7. 【剑指Offer】【树】二叉树的镜像

    题目:操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 1 ...

  8. (jmeter笔记)模拟用户各种场景压测

    插件:standard set 1.jp@gc - Ultimate Thread Group(波浪式压测,最终线程组) Start Threads Count :设置启用并发数 Initial De ...

  9. git 产生冲突的处理方式

    理解你操作图形化的时候, git 在什么? 了解你在做的文件的git状态? 1. 添加文件 git add . -A git commit -m "your commit here" ...

  10. 「DIARY」PKUSC 2021 游记

    冬令营没了但是还有夏令营 (完蛋,前两天忘写游记了,完全没想起来--最后一天补一补) 试题分析在另外一篇博客上 # Day 0 早上去机场的时候把手机落在出租车上了 (还好之后找回来了),导致我前两天 ...